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

Disassembly:
push 0xffffffffffffffff
push 0x470800
mov eax, dword fs:[0]
push eax
sub esp, 0x7c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x492bec]
xor eax, esp
push eax
lea eax, [esp + 0x90]
mov dword fs:[0], eax
mov esi, ecx
cmp dword [esi + 0x108], 0
je 0x435c53
lea eax, [esp + 0x20]
push eax
call fcn.00422e20
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov ebx, dword [esp + 0xa4]
test ebx, ebx
jne 0x435982
lea ecx, [esp + 0x20]
mov dword [esp + 0xa4], ecx
mov ebx, ecx
push ebx
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x435c53
mov edi, dword [esp + 0xa0]
push 1
lea edx, [esp + 0x24]
push edx
push edi
lea ecx, [esp + 0x74]
call fcn.00413d40
push 1
lea eax, [esp + 0x24]
push eax
push edi
lea ecx, [esp + 0x4c]
mov dword [esp + 0xa4], 0
call fcn.00413d40
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x78]
push eax
mov ecx, esi
mov byte [esp + 0xac], 1
call fcn.004347b0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x50]
push eax
mov ecx, esi
call fcn.004347b0
cmp dword [esi + 0x118], 0
je 0x435a6c
mov ebp, dword [esp + 0x68]
mov ecx, esi
lea edi, [esi + 0x114]
call fcn.00422e20
push eax
mov ecx, esi
call fcn.00422e20
push eax
push ebp
mov ecx, edi
call fcn.00443b10
mov ebp, dword [esp + 0x40]
mov ecx, esi
call fcn.00422e20
push eax
mov ecx, esi
call fcn.00422e20
push eax
push ebp
mov ecx, edi
call fcn.00443b10
mov ecx, esi
call fcn.004345c0
mov ebp, eax
mov ecx, esi
mov dword [esp + 0x18], ebp
call fcn.00434650
mov ecx, dword [esi + 0xb0]
sub ecx, dword [esi + 0xac]
xor edi, edi
sar ecx, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], edi
test ecx, ecx
jbe 0x435bbe
mov edx, dword [esi + 0xb0]
sub edx, dword [esi + 0xac]
sar edx, 2
cmp edi, edx
jb 0x435aba
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [esi + 0xac]
mov ebx, dword [eax + edi*4]
push ebx
lea ecx, [esp + 0x34]
push ecx
mov ecx, esi
call fcn.00434d70
cmp dword [esi + 0xcc], 1
jne 0x435af1
cmp dword [esp + 0x38], ebp
jl 0x435b97
mov edx, dword [esp + 0x28]
sub edx, dword [esp + 0x20]
cmp dword [esp + 0x30], edx
jmp 0x435b07
cmp dword [esp + 0x3c], ebp
jl 0x435b97
mov eax, dword [esp + 0x2c]
sub eax, dword [esp + 0x24]
cmp dword [esp + 0x34], eax
jg 0x435b97
push edi
mov ecx, esi
call fcn.004344a0
mov ecx, dword [esp + 0x68]
push eax
push ebx
push ecx
mov ecx, esi
call fcn.00435840
cmp dword [esi + 0xfc], 0
je 0x435b97
mov edx, dword [esi + 0xb0]
sub edx, dword [esi + 0xac]
sar edx, 2
dec edx
cmp edi, edx
jae 0x435b97
cmp dword [esi + 0xcc], 1
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
mov edx, eax
mov ecx, ebx
jne 0x435b69
mov edx, dword [esi + 0xd0]
mov ebp, eax
add edx, eax
jmp 0x435b73
mov ecx, dword [esi + 0xd0]
mov edi, ebx
add ecx, ebx
sub esp, 0x10
mov eax, esp
mov dword [eax], ebp
mov dword [eax + 4], edi
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x78]
push eax
mov ecx, esi
call fcn.00434420
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ecx, dword [esi + 0xb0]
sub ecx, dword [esi + 0xac]
inc edi
sar ecx, 2
mov dword [esp + 0x14], edi
cmp edi, ecx
jb 0x435aa1
mov ebx, dword [esp + 0xa4]
mov eax, dword [esp + 0x1c]
mov edi, dword [sym.imp.GDI32.dll_BitBlt]
sub eax, ebp
cmp dword [esi + 0xcc], 1
push 0xcc0020
jne 0x435bf0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
push edx
push ebp
push ecx
mov ecx, dword [esp + 0x3c]
sub ecx, edx
push ecx
push eax
push edx
mov edx, dword [esp + 0x5c]
push ebp
push edx
jmp 0x435c0a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x6c]
push ebp
push ecx
push edx
push eax
mov eax, dword [esp + 0x3c]
sub eax, ecx
push eax
mov eax, dword [esp + 0x58]
push ebp
push ecx
push eax
call edi
mov ecx, dword [esp + 0x40]
push ecx
mov ecx, esi
call fcn.00434450
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
mov edx, dword [esp + 0x40]
push 0xcc0020
push eax
push ecx
push edx
mov edx, dword [ebx + 0xc]
sub edx, eax
push edx
mov edx, dword [ebx + 8]
sub edx, ecx
push edx
push eax
mov eax, dword [esp + 0xbc]
push ecx
push eax
call edi
lea ecx, [esp + 0x40]
call fcn.00413da0
lea ecx, [esp + 0x68]
call fcn.00413da0
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 8