; ; CWin32InputBox::Utf8ToAnsi from 0x18001ea00 to 0x18001ebe5 (485 bytes) ; ; 5 xrefs: ; > CWin32InputBox::InitDialog @ 0x18001e390 ; > CWin32InputBox::InitDialog @ 0x18001e420 ; > CWin32InputBox::InitDialog @ 0x18001e4fd ; > @ 0x18002fdf8 ; > @ 0x18004b124 ; ; This function is hookable on this platform! ; ; Using BromaIDA 8.0.0 @ https:;github.com/Stazzical/BromaIDA ; Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https:;github.com/geode-sdk/bindings ; mov [rsp+arg_10], rbx ; +0x0, 0x18001ea00 push rbp ; +0x5, 0x18001ea05 push rsi ; +0x6, 0x18001ea06 push rdi ; +0x7, 0x18001ea07 push r12 ; +0x8, 0x18001ea08 push r13 ; +0xa, 0x18001ea0a push r14 ; +0xc, 0x18001ea0c push r15 ; +0xe, 0x18001ea0e sub rsp, 60h ; +0x10, 0x18001ea10 mov rax, cs:__security_cookie ; +0x14, 0x18001ea14 xor rax, rsp ; +0x1b, 0x18001ea1b mov [rsp+98h+var_40], rax ; +0x1e, 0x18001ea1e mov r14, rdx ; +0x23, 0x18001ea23 mov r15, rcx ; +0x26, 0x18001ea26 mov [rsp+98h+var_50], rcx ; +0x29, 0x18001ea29 mov [rsp+98h+var_48], rdx ; +0x2e, 0x18001ea2e xor r13d, r13d ; +0x33, 0x18001ea33 mov [rsp+98h+var_58], r13d ; +0x36, 0x18001ea36 xorps xmm0, xmm0 ; +0x3b, 0x18001ea3b movups xmmword ptr [rcx], xmm0 ; +0x3e, 0x18001ea3e mov [rcx+10h], r13 ; +0x41, 0x18001ea41 mov qword ptr [rcx+18h], 0Fh ; +0x45, 0x18001ea45 mov [rcx], r13b ; +0x4d, 0x18001ea4d mov [rsp+98h+var_58], 1 ; +0x50, 0x18001ea50 cmp [rdx+10h], r13 ; +0x58, 0x18001ea58 jbe loc_18001EB70 ; +0x5c, 0x18001ea5c mov r8, rdx ; +0x62, 0x18001ea62 cmp qword ptr [rdx+18h], 0Fh ; +0x65, 0x18001ea65 jbe short loc_18001EA6F ; +0x6a, 0x18001ea6a mov r8, [rdx]; lpMultiByteStr ; +0x6c, 0x18001ea6c mov [rsp+98h+cchWideChar], r13d; cchWideChar ; +0x6f, 0x18001ea6f mov [rsp+98h+lpWideCharStr], r13; lpWideCharStr ; +0x74, 0x18001ea74 mov rbx, 0FFFFFFFFFFFFFFFFh ; +0x79, 0x18001ea79 mov r9d, ebx; cbMultiByte ; +0x80, 0x18001ea80 xor edx, edx; dwFlags ; +0x83, 0x18001ea83 mov ecx, 0FDE9h; CodePage ; +0x85, 0x18001ea85 call cs:MultiByteToWideChar ; +0x8a, 0x18001ea8a mov esi, eax ; +0x90, 0x18001ea90 inc eax ; +0x92, 0x18001ea92 movsxd rdi, eax ; +0x94, 0x18001ea94 add rdi, rdi ; +0x97, 0x18001ea97 mov rcx, rdi; Size ; +0x9a, 0x18001ea9a call cs:__imp_malloc ; +0x9d, 0x18001ea9d mov r12, rax ; +0xa3, 0x18001eaa3 mov r8, rdi; Size ; +0xa6, 0x18001eaa6 xor edx, edx; Val ; +0xa9, 0x18001eaa9 mov rcx, rax; void * ; +0xab, 0x18001eaab call memset ; +0xae, 0x18001eaae mov r8, r14 ; +0xb3, 0x18001eab3 cmp qword ptr [r14+18h], 0Fh ; +0xb6, 0x18001eab6 jbe short loc_18001EAC0 ; +0xbb, 0x18001eabb mov r8, [r14]; lpMultiByteStr ; +0xbd, 0x18001eabd lea eax, ds:2[rsi*2] ; +0xc0, 0x18001eac0 mov [rsp+98h+cchWideChar], eax; cchWideChar ; +0xc7, 0x18001eac7 mov [rsp+98h+lpWideCharStr], r12; lpWideCharStr ; +0xcb, 0x18001eacb mov r9d, ebx; cbMultiByte ; +0xd0, 0x18001ead0 xor edx, edx; dwFlags ; +0xd3, 0x18001ead3 mov ecx, 0FDE9h; CodePage ; +0xd5, 0x18001ead5 call cs:MultiByteToWideChar ; +0xda, 0x18001eada mov [rsp+98h+lpUsedDefaultChar], r13; lpUsedDefaultChar ; +0xe0, 0x18001eae0 mov [rsp+98h+lpDefaultChar], r13; lpDefaultChar ; +0xe5, 0x18001eae5 mov [rsp+98h+cchWideChar], r13d; cbMultiByte ; +0xea, 0x18001eaea mov [rsp+98h+lpWideCharStr], r13; lpMultiByteStr ; +0xef, 0x18001eaef mov r9d, ebx; cchWideChar ; +0xf4, 0x18001eaf4 mov r8, r12; lpWideCharStr ; +0xf7, 0x18001eaf7 xor edx, edx; dwFlags ; +0xfa, 0x18001eafa xor ecx, ecx; CodePage ; +0xfc, 0x18001eafc call cs:WideCharToMultiByte ; +0xfe, 0x18001eafe lea esi, [rax+1] ; +0x104, 0x18001eb04 movsxd rdi, esi ; +0x107, 0x18001eb07 mov rcx, rdi; Size ; +0x10a, 0x18001eb0a call cs:__imp_malloc ; +0x10d, 0x18001eb0d mov rbp, rax ; +0x113, 0x18001eb13 mov r8, rdi; Size ; +0x116, 0x18001eb16 xor edx, edx; Val ; +0x119, 0x18001eb19 mov rcx, rax; void * ; +0x11b, 0x18001eb1b call memset ; +0x11e, 0x18001eb1e mov [rsp+98h+lpUsedDefaultChar], r13; lpUsedDefaultChar ; +0x123, 0x18001eb23 mov [rsp+98h+lpDefaultChar], r13; lpDefaultChar ; +0x128, 0x18001eb28 mov [rsp+98h+cchWideChar], esi; cbMultiByte ; +0x12d, 0x18001eb2d mov [rsp+98h+lpWideCharStr], rbp; lpMultiByteStr ; +0x131, 0x18001eb31 mov r9d, ebx; cchWideChar ; +0x136, 0x18001eb36 mov r8, r12; lpWideCharStr ; +0x139, 0x18001eb39 xor edx, edx; dwFlags ; +0x13c, 0x18001eb3c xor ecx, ecx; CodePage ; +0x13e, 0x18001eb3e call cs:WideCharToMultiByte ; +0x140, 0x18001eb40 inc rbx ; +0x146, 0x18001eb46 cmp byte ptr [rbx+rbp], 0 ; +0x149, 0x18001eb49 jnz short loc_18001EB46 ; +0x14d, 0x18001eb4d mov r8, rbx; Size ; +0x14f, 0x18001eb4f mov rdx, rbp; Src ; +0x152, 0x18001eb52 mov rcx, r15; void * ; +0x155, 0x18001eb55 call sub_180003BC0 ; +0x158, 0x18001eb58 mov rcx, rbp; Block ; +0x15d, 0x18001eb5d call cs:__imp_free ; +0x160, 0x18001eb60 mov rcx, r12; Block ; +0x166, 0x18001eb66 call cs:__imp_free ; +0x169, 0x18001eb69 nop ; +0x16f, 0x18001eb6f mov rdx, [r14+18h] ; +0x170, 0x18001eb70 cmp rdx, 0Fh ; +0x174, 0x18001eb74 jbe short loc_18001EBA6 ; +0x178, 0x18001eb78 inc rdx ; +0x17a, 0x18001eb7a mov rcx, [r14] ; +0x17d, 0x18001eb7d cmp rdx, 1000h ; +0x180, 0x18001eb80 jb short loc_18001EBA1 ; +0x187, 0x18001eb87 add rdx, 27h ; ''' ; +0x189, 0x18001eb89 mov r8, [rcx-8] ; +0x18d, 0x18001eb8d sub rcx, r8 ; +0x191, 0x18001eb91 lea rax, [rcx-8] ; +0x194, 0x18001eb94 cmp rax, 1Fh ; +0x198, 0x18001eb98 ja short loc_18001EBDE ; +0x19c, 0x18001eb9c mov rcx, r8; Block ; +0x19e, 0x18001eb9e call j_j_free ; +0x1a1, 0x18001eba1 mov [r14+10h], r13 ; +0x1a6, 0x18001eba6 mov qword ptr [r14+18h], 0Fh ; +0x1aa, 0x18001ebaa mov byte ptr [r14], 0 ; +0x1b2, 0x18001ebb2 mov rax, r15 ; +0x1b6, 0x18001ebb6 mov rcx, [rsp+98h+var_40] ; +0x1b9, 0x18001ebb9 xor rcx, rsp; StackCookie ; +0x1be, 0x18001ebbe call __security_check_cookie ; +0x1c1, 0x18001ebc1 mov rbx, [rsp+98h+arg_10] ; +0x1c6, 0x18001ebc6 add rsp, 60h ; +0x1ce, 0x18001ebce pop r15 ; +0x1d2, 0x18001ebd2 pop r14 ; +0x1d4, 0x18001ebd4 pop r13 ; +0x1d6, 0x18001ebd6 pop r12 ; +0x1d8, 0x18001ebd8 pop rdi ; +0x1da, 0x18001ebda pop rsi ; +0x1db, 0x18001ebdb pop rbp ; +0x1dc, 0x18001ebdc retn ; +0x1dd, 0x18001ebdd call cs:_invalid_parameter_noinfo_noreturn ; +0x1de, 0x18001ebde db 0CCh ; +0x1e4, 0x18001ebe4