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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffa0
mov edi, edx
mov ebx, eax
mov dl, 1
mov eax, dword [0x453880]
call fcn.00459788
mov esi, eax
mov edx, dword [edi + 0x18]
mov eax, esi
call fcn.0045a6d4
mov eax, ebx
call fcn.0059908c
mov ebp, eax
mov eax, ebx
call fcn.00599044
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], eax
movzx eax, byte [ebx + 0x2d2]
push eax
movzx eax, byte [ebx + 0x322]
push eax
mov eax, dword [ebx + 0x2d8]
push eax
mov eax, dword [ebx + 0x2d4]
push eax
lea eax, [ebx + 0x354]
push eax
lea eax, [ebx + 0x360]
push eax
xor edx, edx
mov eax, ebx
call fcn.004c7d3c
push eax
lea edx, [esp + 0x64]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x54]
lea eax, [esp + 0x64]
push eax
lea edx, [esp + 0x78]
mov eax, ebx
call fcn.0059a374
lea ecx, [esp + 0x78]
lea edx, [esp + 0x34]
pop eax
call fcn.005bdb28
lea edx, [esp + 0x2c]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x54]
mov edx, dword [edi + 0x18]
mov eax, esi
call fcn.0045a6d4
mov edx, dword [ebx + 0x64]
mov eax, esi
call fcn.0045a540
mov eax, dword [edi + 0x10]
test al, 1
setne byte [esp]
test al, 0x10
setne byte [esp + 1]
call fcn.004da260
call fcn.004da36c
test al, al
je 0x59b222
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x5c]
test al, al
jne 0x59b0fd
mov byte [esp + 8], 5
jmp 0x59b136
cmp byte [esp], 0
je 0x59b10a
mov byte [esp + 8], 4
jmp 0x59b136
mov eax, dword [ebx + 0x2e4]
cmp byte [eax + 0x51], 0
je 0x59b11d
mov byte [esp + 8], 3
jmp 0x59b136
movzx eax, byte [ebx + 0x34c]
or al, byte [esp + 1]
je 0x59b131
mov byte [esp + 8], 6
jmp 0x59b136
mov byte [esp + 8], 2
call fcn.004da260
lea ecx, [esp + 0x3c]
movzx edx, byte [esp + 8]
call fcn.004da730
lea eax, [esp + 0x3c]
push eax
push 1
push 0
mov eax, ebx
call fcn.004cdf0c
push eax
call fcn.004da260
mov ecx, dword [edi + 0x18]
pop edx
call fcn.004da620
lea eax, [edi + 0x1c]
push eax
call fcn.004da260
mov edx, dword [edi + 0x18]
lea ecx, [esp + 0x40]
call fcn.004da500
lea eax, [edi + 0x1c]
push eax
lea eax, [esp + 0x30]
push eax
mov eax, esi
call fcn.0045a64c
push eax
call fcn.004da260
lea ecx, [esp + 0x48]
pop edx
call fcn.004da418
cmp byte [esp + 8], 4
jne 0x59b1c4
mov dword [esp + 0x1c], 1
xor eax, eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], eax
jmp 0x59b1e0
xor eax, eax
mov dword [esp + 0x24], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movzx eax, byte [ebx + 0x34c]
and al, byte [esp + 1]
je 0x59b3a0
mov edx, 0xff000006
mov eax, dword [esi + 0x44]
call fcn.00459070
mov edx, 0xff00000f
mov eax, dword [esi + 0x48]
call fcn.00459444
lea eax, [esp + 0x2c]
push eax
mov eax, esi
call fcn.0045a64c
push eax
call sub.user32.dll_DrawFocusRect
jmp 0x59b3a0
mov dword [esp + 4], 0x2010
cmp byte [esp], 0
je 0x59b238
or dword [esp + 4], 0x200
test byte [edi + 0x10], 4
je 0x59b246
or dword [esp + 4], 0x100
movzx eax, byte [ebx + 0x34c]
or al, byte [esp + 1]
je 0x59b29e
mov edx, 0xff000006
mov eax, dword [esi + 0x44]
call fcn.00459070
mov edx, 1
mov eax, dword [esi + 0x44]
call fcn.004591c4
mov dl, 1
mov eax, dword [esi + 0x48]
call fcn.004595c4
mov eax, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x3c]
push eax
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov eax, esi
mov ebp, dword [eax]
call dword [ebp + 0x74]
push 0xffffffffffffffff
push 0xffffffffffffffff
lea eax, [esp + 0x34]
push eax
call sub.user32.dll_InflateRect
cmp byte [esp], 0
je 0x59b2f4
mov edx, 0xff000010
mov eax, dword [esi + 0x44]
call fcn.00459070
mov edx, 1
mov eax, dword [esi + 0x44]
call fcn.004591c4
mov edx, 0xff00000f
mov eax, dword [esi + 0x48]
call fcn.00459444
mov eax, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x3c]
push eax
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0x74]
push 0xffffffffffffffff
push 0xffffffffffffffff
lea eax, [esp + 0x34]
push eax
call sub.user32.dll_InflateRect
jmp 0x59b309
mov eax, dword [esp + 4]
push eax
push 4
lea eax, [esp + 0x34]
push eax
mov eax, dword [edi + 0x18]
push eax
call sub.user32.dll_DrawFrameControl
cmp byte [ebx + 0x34c], 0
je 0x59b32b
lea edx, [esp + 0x2c]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x54]
push 0xffffffffffffffff
push 0xffffffffffffffff
lea eax, [esp + 0x34]
push eax
call sub.user32.dll_InflateRect
mov edx, dword [ebx + 0x64]
mov eax, esi
call fcn.0045a540
cmp byte [esp], 0
je 0x59b34e
lea eax, [esp + 0x2c]
mov ecx, 1
mov edx, 1
call fcn.0040af04
movzx eax, byte [ebx + 0x34c]
and al, byte [esp + 1]
je 0x59b3a0
lea edx, [esp + 0x2c]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x54]
push 0xfffffffffffffffc
push 0xfffffffffffffffc
lea eax, [esp + 0x34]
push eax
call sub.user32.dll_InflateRect
mov edx, 0xff000006
mov eax, dword [esi + 0x44]
call fcn.00459070
mov edx, 0xff00000f
mov eax, dword [esi + 0x48]
call fcn.00459444
lea eax, [esp + 0x2c]
push eax
mov eax, esi
call fcn.0045a64c
push eax
call sub.user32.dll_DrawFocusRect
mov edx, esi
mov eax, ebx
call fcn.00598d8c
mov edx, esi
mov eax, ebx
call fcn.00517920
xor edx, edx
mov eax, esi
call fcn.0045a6d4
mov eax, esi
call fcn.004050e8
add esp, 0x60
pop ebp
pop edi
pop esi
pop ebx
ret