Function at 0x425582
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x84
mov eax, dword [0x4d5630]
xor eax, esp
mov dword [esp + 0x80], eax
push ebx
mov ebx, ecx
push esi
push edi
mov eax, dword [ebx + 4]
mov cl, byte [eax + 7]
mov eax, dword [eax + 0x2c]
mov byte [esp + 0xe], cl
xor cl, cl
mov al, byte [eax + 0xe0]
mov byte [esp + 0xf], al
call fcn.0042d0a2
test al, al
je 0x4255ca
mov byte [esp + 0xe], 0
jmp 0x4255e2
cmp byte [esp + 0xe], 0
je 0x4255d8
mov byte [esp + 0xe], 1
jmp 0x4255e2
cmp byte [esp + 0xf], 0
sete byte [esp + 0xe]
mov eax, dword [ebx + 4]
cmp byte [eax + 0xf], 0
je 0x425642
call fcn.0044d690
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
cmp eax, 3
jl 0x42561b
movzx eax, byte [esp + 0xe]
push eax
push 0
push 0x160c
push 0x3ee
push dword [ebx + 0xc]
call edi
push eax
call esi
mov eax, dword [ebx + 4]
xor ecx, ecx
push 0
mov al, byte [eax + 0x12]
test al, al
setne cl
push ecx
push 0xf1
push 0x405
push dword [ebx + 0xc]
call edi
push eax
call esi
jmp 0x425970
cmp dword [eax], 1
mov esi, 0x3f7
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push esi
push dword [ebx + 0x54]
sete byte [esp + 0x17]
call edi
test eax, eax
je 0x425670
xor ecx, ecx
cmp byte [esp + 0xf], cl
setne cl
push ecx
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov ecx, dword [ebx + 4]
cmp byte [ecx + 4], 0
jne 0x42568a
xor eax, eax
cmp byte [ecx + 7], al
sete al
test eax, eax
je 0x42568d
cmp eax, 1
je 0x42568d
push 2
pop eax
push 0
push eax
push 0x14e
push esi
push dword [ebx + 0x54]
call edi
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push eax
call esi
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x2c]
cmp byte [eax + 0x1a5], 0
jne 0x4256c3
cmp byte [eax + 0x1a7], 0
jne 0x4256c3
push 0x908f
jmp 0x4256c8
push 0x9090
lea eax, [esp + 0x1c]
push eax
call fcn.00482570
cmp dword [esp + 0x34], 8
lea eax, [esp + 0x20]
pop ecx
cmovae eax, dword [esp + 0x1c]
pop ecx
push eax
push 0x3eb
push dword [ebx + 0xc]
call edi
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x38]
push 0x908d
push eax
call fcn.004825e0
add esp, 0xc
lea eax, [esp + 0x34]
cmp dword [esp + 0x48], 8
lea ecx, [esp + 0x4c]
cmovae eax, dword [esp + 0x34]
push eax
call fcn.0040409d
push 0x3f0
push dword [ebx + 0xc]
call edi
lea edx, [esp + 0x4c]
mov ecx, eax
call fcn.00421d6b
push 0
push 1
lea ecx, [esp + 0x54]
call fcn.00404402
push 0
push 1
lea ecx, [esp + 0x3c]
call fcn.00404402
push 0
push 1
lea ecx, [esp + 0x20]
call fcn.00404402
call fcn.0044d690
cmp eax, 3
jl 0x4257a2
movzx esi, byte [esp + 0xe]
push esi
push 0
push 0x160c
push 0x3eb
push dword [ebx + 0xc]
call edi
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push esi
push 0
push 0x160c
push 0x3ed
push dword [ebx + 0xc]
call edi
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push eax
call esi
mov eax, dword [ebx + 4]
cmp byte [eax + 4], 0
jne 0x4257d0
cmp byte [eax + 0x4d], 0
je 0x4257c6
mov eax, dword [eax + 0x2c]
cmp byte [eax + 0x1a6], 0
je 0x4257c6
cmp byte [eax + 0x100], 0
jne 0x4257d0
mov dword [esp + 0x10], 1
jmp 0x4257d5
and dword [esp + 0x10], 0
push 0x3fe
push dword [ebx + 0x54]
call edi
test eax, eax
je 0x4257f4
xor ecx, ecx
cmp byte [esp + 0x10], cl
setne cl
push ecx
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [ebx + 4]
push 0
mov al, byte [eax + 8]
movzx eax, al
push eax
push 0xf1
push 0x3fe
push dword [ebx + 0x54]
call edi
push eax
call esi
mov eax, dword [ebx + 4]
push 0
mov al, byte [eax + 9]
movzx eax, al
push eax
push 0xf1
push 0x3ff
push dword [ebx + 0x54]
call edi
push eax
call esi
mov eax, dword [ebx + 4]
push 0
mov al, byte [eax + 0xa]
movzx eax, al
push eax
push 0xf1
push 0x400
push dword [ebx + 0x54]
call edi
push eax
call esi
push 0x3f8
push dword [ebx + 0x54]
call edi
push 0
push 0
push 0x147
push eax
mov dword [esp + 0x20], eax
call esi
push ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x68]
push 0
push eax
call fcn.0041e26b
push 0
push 0
push 0x144
push dword [esp + 0x1c]
call esi
cmp dword [esp + 0x78], 8
lea eax, [esp + 0x64]
cmovae eax, dword [esp + 0x64]
push eax
push 0
push 0x143
push dword [esp + 0x1c]
call esi
mov eax, dword [esp + 0x14]
cmp eax, 0xffffffff
je 0x4258c5
push 0
push eax
push 0x14e
push dword [esp + 0x1c]
call esi
mov ecx, ebx
call fcn.0042548f
mov eax, dword [ebx + 4]
push 0x3eb
push dword [ebx + 0xc]
mov eax, dword [eax + 0x2c]
mov al, byte [eax + 0x1a4]
mov byte [esp + 0x16], al
call edi
test eax, eax
je 0x4258f4
xor ecx, ecx
cmp byte [esp + 0xe], cl
setne cl
push ecx
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0x3f5
push dword [ebx + 0xc]
call edi
test eax, eax
je 0x425913
xor ecx, ecx
cmp byte [esp + 0xe], cl
setne cl
push ecx
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0x403
push dword [ebx + 0x54]
call edi
mov esi, eax
test esi, esi
je 0x425937
xor ecx, ecx
cmp byte [esp + 0xe], cl
push 4
pop eax
cmove ecx, eax
push ecx
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebx + 0xc]
lea eax, [esp + 0x18]
push eax
mov edx, esi
call fcn.00423cdf
mov esi, eax
lea edi, [esp + 0x80]
pop ecx
push 1
lea eax, [esp + 0x80]
movsd dword es:[edi], dword [esi]
push eax
push dword [ebx + 0xc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [sym.imp.USER32.dll_InvalidateRect]
lea ecx, [esp + 0x64]
call fcn.0043c140
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00486d53
mov esp, ebp
pop ebp
ret