; ; CWin32InputBox::InitDialog from 0x18001e2f0 to 0x18001e67c (908 bytes) ; ; 4 xrefs: ; > CWin32InputBox::DlgProc @ 0x18001e7e2 ; > @ 0x18002faa4 ; > @ 0x18002fdf8 ; > @ 0x18004b0f4 ; ; 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-8+arg_10], rbx ; +0x0, 0x18001e2f0 mov [rsp-8+arg_18], rsi ; +0x5, 0x18001e2f5 push rbp ; +0xa, 0x18001e2fa push rdi ; +0xb, 0x18001e2fb push r15 ; +0xc, 0x18001e2fc lea rbp, [rsp-47h] ; +0xe, 0x18001e2fe sub rsp, 0C0h ; +0x13, 0x18001e303 mov rax, cs:__security_cookie ; +0x1a, 0x18001e30a xor rax, rsp ; +0x21, 0x18001e311 mov [rbp+57h+var_18], rax ; +0x24, 0x18001e314 xor r15d, r15d ; +0x28, 0x18001e318 lea rsi, cs:180000000h ; +0x2b, 0x18001e31b mov ebx, r15d ; +0x32, 0x18001e322 mov rdi, rcx ; +0x35, 0x18001e325 nop dword ptr [rax+rax+00000000h] ; +0x38, 0x18001e328 mov rcx, [rdi] ; +0x40, 0x18001e330 mov r8, [rbx+rsi+234E8h]; lpString ; +0x43, 0x18001e333 mov edx, [rbx+rsi+234D8h]; nIDDlgItem ; +0x4b, 0x18001e33b mov rcx, [rcx+68h]; hDlg ; +0x52, 0x18001e342 call cs:SetDlgItemTextW ; +0x56, 0x18001e346 add rbx, 8 ; +0x5c, 0x18001e34c cmp rbx, 10h ; +0x60, 0x18001e350 jb short loc_18001E330 ; +0x64, 0x18001e354 mov rax, [rdi] ; +0x66, 0x18001e356 xorps xmm0, xmm0 ; +0x69, 0x18001e359 mov rbx, 0FFFFFFFFFFFFFFFFh ; +0x6c, 0x18001e35c mov r8, rbx ; +0x73, 0x18001e363 mov rdx, [rax+30h] ; +0x76, 0x18001e366 movups [rbp+57h+var_90], xmm0 ; +0x7a, 0x18001e36a mov [rbp+57h+var_80], r15 ; +0x7e, 0x18001e36e mov [rbp+57h+var_78], r15 ; +0x82, 0x18001e372 inc r8 ; +0x86, 0x18001e376 cmp [rdx+r8], r15b ; +0x89, 0x18001e379 jnz short loc_18001E376 ; +0x8d, 0x18001e37d lea rcx, [rbp+57h+var_90] ; +0x8f, 0x18001e37f call sub_180003AB0 ; +0x93, 0x18001e383 lea rdx, [rbp+57h+var_90] ; +0x98, 0x18001e388 lea rcx, [rbp+57h+Block]; void * ; +0x9c, 0x18001e38c call ?Utf8ToAnsi@CWin32InputBox@@SA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V23@@Z; CWin32InputBox::Utf8ToAnsi(std::string) ; +0xa0, 0x18001e390 cmp qword ptr [rax+18h], 0Fh ; +0xa5, 0x18001e395 jbe short loc_18001E39F ; +0xaa, 0x18001e39a mov rax, [rax] ; +0xac, 0x18001e39c mov rcx, [rdi] ; +0xaf, 0x18001e39f mov rdx, rax; lpString ; +0xb2, 0x18001e3a2 mov rcx, [rcx+68h]; hWnd ; +0xb5, 0x18001e3a5 call cs:SetWindowTextA ; +0xb9, 0x18001e3a9 mov rdx, [rbp+57h+var_30] ; +0xbf, 0x18001e3af cmp rdx, 0Fh ; +0xc3, 0x18001e3b3 jbe short loc_18001E3ED ; +0xc7, 0x18001e3b7 mov rcx, [rbp+57h+Block]; Block ; +0xc9, 0x18001e3b9 inc rdx ; +0xcd, 0x18001e3bd mov rax, rcx ; +0xd0, 0x18001e3c0 cmp rdx, 1000h ; +0xd3, 0x18001e3c3 jb short loc_18001E3E8 ; +0xda, 0x18001e3ca mov rcx, [rcx-8] ; +0xdc, 0x18001e3cc add rdx, 27h ; ''' ; +0xe0, 0x18001e3d0 sub rax, rcx ; +0xe4, 0x18001e3d4 add rax, 0FFFFFFFFFFFFFFF8h ; +0xe7, 0x18001e3d7 cmp rax, 1Fh ; +0xeb, 0x18001e3db jbe short loc_18001E3E8 ; +0xef, 0x18001e3df call cs:_invalid_parameter_noinfo_noreturn ; +0xf1, 0x18001e3e1 align 8 ; +0xf7, 0x18001e3e7 call j_j_free ; +0xf8, 0x18001e3e8 mov rax, [rdi] ; +0xfd, 0x18001e3ed xorps xmm0, xmm0 ; +0x100, 0x18001e3f0 mov r8, rbx ; +0x103, 0x18001e3f3 mov rdx, [rax+38h] ; +0x106, 0x18001e3f6 movups [rbp+57h+var_90], xmm0 ; +0x10a, 0x18001e3fa mov [rbp+57h+var_80], r15 ; +0x10e, 0x18001e3fe mov [rbp+57h+var_78], r15 ; +0x112, 0x18001e402 inc r8 ; +0x116, 0x18001e406 cmp [rdx+r8], r15b ; +0x119, 0x18001e409 jnz short loc_18001E406 ; +0x11d, 0x18001e40d lea rcx, [rbp+57h+var_90] ; +0x11f, 0x18001e40f call sub_180003AB0 ; +0x123, 0x18001e413 lea rdx, [rbp+57h+var_90] ; +0x128, 0x18001e418 lea rcx, [rbp+57h+Block]; void * ; +0x12c, 0x18001e41c call ?Utf8ToAnsi@CWin32InputBox@@SA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V23@@Z; CWin32InputBox::Utf8ToAnsi(std::string) ; +0x130, 0x18001e420 cmp qword ptr [rax+18h], 0Fh ; +0x135, 0x18001e425 jbe short loc_18001E42F ; +0x13a, 0x18001e42a mov rax, [rax] ; +0x13c, 0x18001e42c mov rcx, [rdi] ; +0x13f, 0x18001e42f mov r8, rax; lpString ; +0x142, 0x18001e432 mov edx, 3E8h; nIDDlgItem ; +0x145, 0x18001e435 mov rcx, [rcx+68h]; hDlg ; +0x14a, 0x18001e43a call cs:SetDlgItemTextA ; +0x14e, 0x18001e43e mov rdx, [rbp+57h+var_30] ; +0x154, 0x18001e444 cmp rdx, 0Fh ; +0x158, 0x18001e448 jbe short loc_18001E482 ; +0x15c, 0x18001e44c mov rcx, [rbp+57h+Block]; Block ; +0x15e, 0x18001e44e inc rdx ; +0x162, 0x18001e452 mov rax, rcx ; +0x165, 0x18001e455 cmp rdx, 1000h ; +0x168, 0x18001e458 jb short loc_18001E47D ; +0x16f, 0x18001e45f mov rcx, [rcx-8] ; +0x171, 0x18001e461 add rdx, 27h ; ''' ; +0x175, 0x18001e465 sub rax, rcx ; +0x179, 0x18001e469 add rax, 0FFFFFFFFFFFFFFF8h ; +0x17c, 0x18001e46c cmp rax, 1Fh ; +0x180, 0x18001e470 jbe short loc_18001E47D ; +0x184, 0x18001e474 call cs:_invalid_parameter_noinfo_noreturn ; +0x186, 0x18001e476 db 0CCh ; +0x18c, 0x18001e47c call j_j_free ; +0x18d, 0x18001e47d mov rcx, [rdi] ; +0x192, 0x18001e482 mov edx, 3E9h; nIDDlgItem ; +0x195, 0x18001e485 mov [rsp+0D0h+arg_8], r14 ; +0x19a, 0x18001e48a mov rcx, [rcx+68h]; hDlg ; +0x1a2, 0x18001e492 call cs:GetDlgItem ; +0x1a6, 0x18001e496 mov rcx, [rdi] ; +0x1ac, 0x18001e49c mov edx, 3EAh; nIDDlgItem ; +0x1af, 0x18001e49f mov r14, rax ; +0x1b4, 0x18001e4a4 mov rcx, [rcx+68h]; hDlg ; +0x1b7, 0x18001e4a7 call cs:GetDlgItem ; +0x1bb, 0x18001e4ab mov rdx, [rdi] ; +0x1c1, 0x18001e4b1 mov rcx, r14 ; +0x1c4, 0x18001e4b4 xorps xmm0, xmm0 ; +0x1c7, 0x18001e4b7 mov rsi, rax ; +0x1ca, 0x18001e4ba cmp [rdx], r15b ; +0x1cd, 0x18001e4bd cmovnz rcx, rax ; +0x1d0, 0x18001e4c0 mov [rdi+8], rcx ; +0x1d4, 0x18001e4c4 mov rdx, [rdx+40h] ; +0x1d8, 0x18001e4c8 movups [rbp+57h+var_90], xmm0 ; +0x1dc, 0x18001e4cc mov [rbp+57h+var_80], r15 ; +0x1e0, 0x18001e4d0 mov [rbp+57h+var_78], r15 ; +0x1e4, 0x18001e4d4 nop dword ptr [rax+rax+00000000h] ; +0x1e8, 0x18001e4d8 inc rbx ; +0x1f0, 0x18001e4e0 cmp [rdx+rbx], r15b ; +0x1f3, 0x18001e4e3 jnz short loc_18001E4E0 ; +0x1f7, 0x18001e4e7 mov r8, rbx ; +0x1f9, 0x18001e4e9 lea rcx, [rbp+57h+var_90] ; +0x1fc, 0x18001e4ec call sub_180003AB0 ; +0x200, 0x18001e4f0 lea rdx, [rbp+57h+var_90] ; +0x205, 0x18001e4f5 lea rcx, [rbp+57h+Block]; void * ; +0x209, 0x18001e4f9 call ?Utf8ToAnsi@CWin32InputBox@@SA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V23@@Z; CWin32InputBox::Utf8ToAnsi(std::string) ; +0x20d, 0x18001e4fd cmp qword ptr [rax+18h], 0Fh ; +0x212, 0x18001e502 jbe short loc_18001E50C ; +0x217, 0x18001e507 mov rax, [rax] ; +0x219, 0x18001e509 mov rcx, [rdi+8]; hWnd ; +0x21c, 0x18001e50c mov rdx, rax; lpString ; +0x220, 0x18001e510 call cs:SetWindowTextA ; +0x223, 0x18001e513 mov rdx, [rbp+57h+var_30] ; +0x229, 0x18001e519 cmp rdx, 0Fh ; +0x22d, 0x18001e51d jbe short loc_18001E557 ; +0x231, 0x18001e521 mov rcx, [rbp+57h+Block]; Block ; +0x233, 0x18001e523 inc rdx ; +0x237, 0x18001e527 mov rax, rcx ; +0x23a, 0x18001e52a cmp rdx, 1000h ; +0x23d, 0x18001e52d jb short loc_18001E552 ; +0x244, 0x18001e534 mov rcx, [rcx-8] ; +0x246, 0x18001e536 add rdx, 27h ; ''' ; +0x24a, 0x18001e53a sub rax, rcx ; +0x24e, 0x18001e53e add rax, 0FFFFFFFFFFFFFFF8h ; +0x251, 0x18001e541 cmp rax, 1Fh ; +0x255, 0x18001e545 jbe short loc_18001E552 ; +0x259, 0x18001e549 call cs:_invalid_parameter_noinfo_noreturn ; +0x25b, 0x18001e54b align 2 ; +0x261, 0x18001e551 call j_j_free ; +0x262, 0x18001e552 mov rcx, [rdi] ; +0x267, 0x18001e557 lea rdx, [rbp+57h+Rect]; lpRect ; +0x26a, 0x18001e55a mov rcx, [rcx+68h]; hWnd ; +0x26e, 0x18001e55e call cs:GetWindowRect ; +0x272, 0x18001e562 lea rdx, [rbp+57h+var_58]; lpRect ; +0x278, 0x18001e568 mov rcx, r14; hWnd ; +0x27c, 0x18001e56c call cs:GetWindowRect ; +0x27f, 0x18001e56f lea rdx, [rbp+57h+var_28]; lpRect ; +0x285, 0x18001e575 mov rcx, rsi; hWnd ; +0x289, 0x18001e579 call cs:GetWindowRect ; +0x28c, 0x18001e57c mov rcx, [rdi] ; +0x292, 0x18001e582 cmp [rcx], r15b ; +0x295, 0x18001e585 jz loc_18001E612 ; +0x298, 0x18001e588 xor edx, edx; nCmdShow ; +0x29e, 0x18001e58e mov rcx, r14; hWnd ; +0x2a0, 0x18001e590 call cs:ShowWindow ; +0x2a3, 0x18001e593 mov eax, [rbp+57h+var_58.top] ; +0x2a9, 0x18001e599 mov rdx, 0FFFFFFFFFFFFFFFEh; hWndInsertAfter ; +0x2ac, 0x18001e59c mov r8d, [rbp+57h+var_58.left] ; +0x2b3, 0x18001e5a3 mov rcx, rsi; hWnd ; +0x2b7, 0x18001e5a7 sub r8d, [rbp+57h+Rect.left]; X ; +0x2ba, 0x18001e5aa mov [rsp+0D0h+uFlags], 5; uFlags ; +0x2be, 0x18001e5ae lea r9d, [rax+rax] ; +0x2c6, 0x18001e5b6 mov [rsp+0D0h+cy], r15d; cy ; +0x2ca, 0x18001e5ba sub r9d, [rbp+57h+var_58.bottom] ; +0x2cf, 0x18001e5bf sub r9d, [rbp+57h+Rect.top]; Y ; +0x2d3, 0x18001e5c3 mov [rsp+0D0h+var_B0], r15d; cx ; +0x2d7, 0x18001e5c7 call cs:SetWindowPos ; +0x2dc, 0x18001e5cc mov r8d, [rbp+57h+Rect.bottom] ; +0x2e2, 0x18001e5d2 xor r9d, r9d; Y ; +0x2e6, 0x18001e5d6 sub r8d, [rbp+57h+var_58.bottom] ; +0x2e9, 0x18001e5d9 sub r8d, [rbp+57h+Rect.top] ; +0x2ed, 0x18001e5dd add r8d, [rbp+57h+var_58.top] ; +0x2f1, 0x18001e5e1 mov rcx, [rdi] ; +0x2f5, 0x18001e5e5 lea rdx, [r9-2]; hWndInsertAfter ; +0x2f8, 0x18001e5e8 mov eax, [rbp+57h+Rect.right] ; +0x2fc, 0x18001e5ec sub eax, [rbp+57h+Rect.left] ; +0x2ff, 0x18001e5ef mov [rsp+0D0h+uFlags], 2; uFlags ; +0x302, 0x18001e5f2 mov rcx, [rcx+68h]; hWnd ; +0x30a, 0x18001e5fa mov [rsp+0D0h+cy], r8d; cy ; +0x30e, 0x18001e5fe xor r8d, r8d; X ; +0x313, 0x18001e603 mov [rsp+0D0h+var_B0], eax; cx ; +0x316, 0x18001e606 call cs:SetWindowPos ; +0x31a, 0x18001e60a jmp short loc_18001E650 ; +0x320, 0x18001e610 mov edx, [rbp+57h+var_58.bottom] ; +0x322, 0x18001e612 xor r9d, r9d; Y ; +0x325, 0x18001e615 sub edx, [rbp+57h+Rect.top] ; +0x328, 0x18001e618 xor r8d, r8d; X ; +0x32b, 0x18001e61b mov eax, [rbp+57h+Rect.right] ; +0x32e, 0x18001e61e add edx, 5 ; +0x331, 0x18001e621 sub eax, [rbp+57h+Rect.left] ; +0x334, 0x18001e624 mov rcx, [rcx+68h]; hWnd ; +0x337, 0x18001e627 mov [rsp+0D0h+uFlags], 2; uFlags ; +0x33b, 0x18001e62b mov [rsp+0D0h+cy], edx; cy ; +0x343, 0x18001e633 lea rdx, [r9-2]; hWndInsertAfter ; +0x347, 0x18001e637 mov [rsp+0D0h+var_B0], eax; cx ; +0x34b, 0x18001e63b call cs:SetWindowPos ; +0x34f, 0x18001e63f xor edx, edx; nCmdShow ; +0x355, 0x18001e645 mov rcx, rsi; hWnd ; +0x357, 0x18001e647 call cs:ShowWindow ; +0x35a, 0x18001e64a mov r14, [rsp+0D0h+arg_8] ; +0x360, 0x18001e650 mov rcx, [rbp+57h+var_18] ; +0x368, 0x18001e658 xor rcx, rsp; StackCookie ; +0x36c, 0x18001e65c call __security_check_cookie ; +0x36f, 0x18001e65f lea r11, [rsp+0D0h+var_10] ; +0x374, 0x18001e664 mov rbx, [r11+30h] ; +0x37c, 0x18001e66c mov rsi, [r11+38h] ; +0x380, 0x18001e670 mov rsp, r11 ; +0x384, 0x18001e674 pop r15 ; +0x387, 0x18001e677 pop rdi ; +0x389, 0x18001e679 pop rbp ; +0x38a, 0x18001e67a retn ; +0x38b, 0x18001e67b