Function at 0x403a52
Capabilities:
Get graphical window text

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x314
mov eax, dword [0x40b004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov esi, ecx
lea edi, [edx - 1]
push 8
push esi
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ebx, eax
dec edi
je 0x403db5
sub edi, 0x402
je 0x403b5b
sub edi, 5
je 0x403b1b
dec edi
je 0x403acc
dec edi
je 0x403ac5
sub edi, 9
je 0x403db5
sub edi, 0x20
jne 0x403dbe
push 0x434
push esi
call dword [sym.imp.USER32.dll_IsDlgButtonChecked]
mov dword [ebx + 0x88], eax
jmp 0x403dbe
push 4
jmp 0x403db7
push 0x33
lea eax, [ebx + 0x10]
push eax
push 0x409
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextW]
xor edi, edi
mov dword [ebx + 0xc], eax
cmp dword [ebx + 0x78], edi
je 0x403b12
push 0x404
push esi
call dword [sym.imp.USER32.dll_IsDlgButtonChecked]
test eax, eax
je 0x403b0f
mov ecx, ebx
mov dword [ebx + 0x7c], 1
call fcn.00404614
jmp 0x403b15
mov dword [ebx + 0x7c], edi
xor eax, eax
inc eax
push eax
jmp 0x403db7
xor edi, edi
cmp dword [ebx + 0x78], edi
je 0x403dbe
push 0x409
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
push edi
test eax, eax
je 0x403b45
push 0x40a
jmp 0x403b4a
push 0x414
push 0x401
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x403dbe
mov eax, dword [ebx + 4]
xor edi, edi
push 0x401378
push 0x409
push esi
mov dword [ebp - 0x310], edi
mov dword [ebp - 0x30c], eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 0x409
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
push 0x404
push esi
call dword [sym.imp.USER32.dll_IsDlgButtonChecked]
test eax, eax
je 0x403c49
push edi
push 0x434
push esi
call dword [sym.imp.USER32.dll_CheckDlgButton]
push edi
push 0x434
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [ebp - 0x30c]
mov dword [ebx + 0x7c], 1
mov dword [ebx + 0x88], edi
mov ecx, dword [eax + 0x4c]
test ecx, ecx
je 0x403c33
cmp word [ecx], di
je 0x403c33
push 0x80
lea eax, [ebp - 0x108]
push eax
push 0x73
push dword [0x40b3a4]
call dword [sym.imp.USER32.dll_LoadStringW]
mov eax, dword [ebp - 0x30c]
push dword [eax + 0x4c]
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x308]
push 0x100
push eax
call fcn.00401cd5
mov eax, dword [ebp - 0x30c]
add esp, 0x10
mov edx, edi
jmp 0x403c36
xor edx, edx
inc edx
mov cl, byte [eax + 0x2c]
test cl, cl
je 0x403cd4
movzx eax, byte [eax]
jmp 0x403cc9
push 1
push 0x434
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [ebp - 0x30c]
mov dword [ebx + 0x7c], edi
mov ecx, dword [eax + 0x50]
test ecx, ecx
je 0x403cbb
cmp word [ecx], di
je 0x403cbb
push 0x80
lea eax, [ebp - 0x108]
push eax
push 0x73
push dword [0x40b3a4]
call dword [sym.imp.USER32.dll_LoadStringW]
mov eax, dword [ebp - 0x30c]
push dword [eax + 0x50]
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x308]
push 0x100
push eax
call fcn.00401cd5
mov eax, dword [ebp - 0x30c]
add esp, 0x10
mov edx, edi
jmp 0x403cbe
xor edx, edx
inc edx
mov cl, byte [eax + 0x2d]
test cl, cl
je 0x403cd4
movzx eax, byte [eax + 1]
movzx ecx, cl
sub ecx, eax
mov dword [ebp - 0x310], ecx
test edx, edx
je 0x403cf5
push 0x100
lea eax, [ebp - 0x308]
push eax
push 0x97
push dword [0x40b3a4]
call dword [sym.imp.USER32.dll_LoadStringW]
xor eax, eax
mov word [ebp - 0x10a], ax
lea eax, [ebp - 0x308]
push eax
push 0x422
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
cmp dword [ebp - 0x310], 0xa
ja 0x403d9f
lea eax, [ebp - 0x108]
push 0x80
push eax
cmp dword [ebx + 0x7c], edi
je 0x403d36
push 0x78
jmp 0x403d3b
push 0x94
push dword [0x40b3a4]
call dword [sym.imp.USER32.dll_LoadStringW]
push dword [ebp - 0x310]
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x308]
push 0x100
push eax
call fcn.00401cd5
add esp, 0x10
xor eax, eax
mov word [ebp - 0x10a], ax
lea eax, [ebp - 0x308]
push eax
push 0x415
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
cmp dword [ebx + 0x7c], edi
je 0x403d9b
mov eax, dword [ebp - 0x30c]
cmp byte [eax], 0
je 0x403d9f
push 5
jmp 0x403da0
push edi
push 0x415
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x403dbe
push 3
push esi
call dword [sym.imp.USER32.dll_EndDialog]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004097cb
mov esp, ebp
pop ebp
ret 8