{"type": "func", "start": 6443732940, "end": 6443733045, "name": "common_xtox_s<ulong,wchar_t>", "pseudocode": "// \n// common_xtox_s<ulong,wchar_t> from 0x180138fcc to 0x180139035 (105 bytes)\n// \n// 3 xrefs:\n// > _itow_s @ 0x18013904e\n// > <???> @ 0x180203758\n// > <???> @ 0x180203764\n// \n// This function is hookable on this platform!\n// \n// Using BromaIDA 8.0.0 @ https://github.com/Stazzical/BromaIDA\n// Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https://github.com/geode-sdk/bindings\n// \n\n__int64 __fastcall common_xtox_s<unsigned long,wchar_t>(\n        unsigned int a1,\n        __int16 *a2,\n        unsigned __int64 a3,\n        unsigned int a4,\n        unsigned __int8 a5)\n{\n  int *v5; // rax\n  unsigned int v6; // ebx\n\n  if ( !a2 || !a3 )\n    goto LABEL_2;\n  *a2 = 0;\n  if ( a3 <= (unsigned __int64)a5 + 1 )\n  {\n    v5 = errno();\n    v6 = 34;\n    goto LABEL_3;\n  }\n  if ( a4 - 2 > 0x22 )\n  {\nLABEL_2:\n    v5 = errno();\n    v6 = 22;\nLABEL_3:\n    *v5 = v6;\n    invalid_parameter_noinfo();\n    return v6;\n  }\n  return common_xtox<unsigned long,wchar_t>(a1, a2, a3, a4, a5);\n}", "assembly": "; \n; common_xtox_s<ulong,wchar_t> from 0x180138fcc to 0x180139035 (105 bytes)\n; \n; 3 xrefs:\n; > _itow_s @ 0x18013904e\n; > <???> @ 0x180203758\n; > <???> @ 0x180203764\n; \n; This function is hookable on this platform!\n; \n; Using BromaIDA 8.0.0 @ https:;github.com/Stazzical/BromaIDA\n; Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https:;github.com/geode-sdk/bindings\n; \n\npush    rbx                                                            ; +0x0, 0x180138fcc\nsub     rsp, 30h                                                       ; +0x2, 0x180138fce\nxor     eax, eax                                                       ; +0x6, 0x180138fd2\nmov     r10d, ecx                                                      ; +0x8, 0x180138fd4\ntest    rdx, rdx                                                       ; +0xb, 0x180138fd7\njnz     short loc_180138FF5                                            ; +0xe, 0x180138fda\ncall    _errno                                                         ; +0x10, 0x180138fdc\nmov     ebx, 16h                                                       ; +0x15, 0x180138fe1\nmov     [rax], ebx                                                     ; +0x1a, 0x180138fe6\ncall    _invalid_parameter_noinfo                                      ; +0x1c, 0x180138fe8\nmov     eax, ebx                                                       ; +0x21, 0x180138fed\nadd     rsp, 30h                                                       ; +0x23, 0x180138fef\npop     rbx                                                            ; +0x27, 0x180138ff3\nretn                                                                   ; +0x28, 0x180138ff4\ntest    r8, r8                                                         ; +0x29, 0x180138ff5\njz      short loc_180138FDC                                            ; +0x2c, 0x180138ff8\nmovzx   ecx, [rsp+38h+arg_20]                                          ; +0x2e, 0x180138ffa\nmov     [rdx], ax                                                      ; +0x33, 0x180138fff\nlea     rax, [rcx+1]                                                   ; +0x36, 0x180139002\ncmp     r8, rax                                                        ; +0x3a, 0x180139006\nja      short loc_180139017                                            ; +0x3d, 0x180139009\ncall    _errno                                                         ; +0x3f, 0x18013900b\nmov     ebx, 22h ; '\"'                                                 ; +0x44, 0x180139010\njmp     short loc_180138FE6                                            ; +0x49, 0x180139015\nlea     eax, [r9-2]                                                    ; +0x4b, 0x180139017\nmov     ebx, 22h ; '\"'                                                 ; +0x4f, 0x18013901b\ncmp     eax, ebx                                                       ; +0x54, 0x180139020\nja      short loc_180138FDC                                            ; +0x56, 0x180139022\nmov     [rsp+38h+arg_20], cl                                           ; +0x58, 0x180139024\nmov     ecx, r10d                                                      ; +0x5c, 0x180139028\nadd     rsp, 30h                                                       ; +0x5f, 0x18013902b\npop     rbx                                                            ; +0x63, 0x18013902f\njmp     ??$common_xtox@K_W@@YAHKQEA_W_KI_N@Z                           ; +0x64, 0x180139030", "xrefs": ["_itow_s @ 0x18013904e", "<???> @ 0x180203758", "<???> @ 0x180203764"], "is_objc": false, "is_arm32": false, "is_arm64": false, "bida_info": "8.0.0 @ https://github.com/Stazzical/BromaIDA", "bindings_info": "commit ba9f177b at Thu Jul 16 22:52:06 2026 from https://github.com/geode-sdk/bindings"}