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

Disassembly:
push 0xffffffffffffffff
push 0x4d7ad0
mov eax, dword fs:[0]
push eax
sub esp, 0x94
push ebx
push ebp
push esi
push edi
mov eax, dword [0x51b260]
xor eax, esp
push eax
lea eax, [esp + 0xa8]
mov dword fs:[0], eax
mov edi, ecx
push 0x4db6d7
xor ebx, ebx
xor esi, esi
call fcn.00434400
push 0x4db6d7
mov ecx, edi
call fcn.00434400
push 0x4db6d7
mov ecx, edi
call fcn.00434490
push 0x4db6d7
mov ecx, edi
call fcn.00434400
mov eax, dword [edi + 0x134]
sub eax, dword [edi + 0x130]
sar eax, 2
test eax, eax
ja 0x445e19
call fcn.0049eacd
mov ecx, dword [edi + 0x130]
mov eax, dword [edi + 0x134]
mov edx, dword [ecx]
sub eax, ecx
sar eax, 2
mov dword [esp + 0x24], edx
cmp eax, 1
ja 0x445e3a
call fcn.0049eacd
mov eax, dword [edi + 0x15c]
sub eax, dword [edi + 0x158]
mov ecx, dword [edi + 0x130]
mov edx, dword [ecx + 4]
sar eax, 2
mov dword [esp + 0x28], edx
test eax, eax
ja 0x445e5f
call fcn.0049eacd
mov eax, dword [edi + 0x134]
sub eax, dword [edi + 0x130]
mov ecx, dword [edi + 0x158]
mov edx, dword [ecx]
sar eax, 2
mov dword [esp + 0x30], edx
cmp eax, 2
ja 0x445e84
call fcn.0049eacd
mov ecx, dword [edi + 0x130]
mov eax, dword [edi + 0x86e70]
mov edx, dword [ecx + 8]
lea ebp, [edi + 0x86e64]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], eax
cmp eax, dword [ebp + 0x10]
jbe 0x445eaf
call fcn.0049eacd
mov eax, dword [esp + 0x14]
mov ebp, dword [ebp]
mov dword [esp + 0x20], eax
lea ebx, [ebx]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x14], ecx
cmp dword [eax + 0xc], ecx
jbe 0x445ed9
call fcn.0049eacd
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
cmp ebp, ebx
je 0x445ee3
cmp ebp, eax
je 0x445ee8
call fcn.0049eacd
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x20], ecx
je 0x445f52
cmp ebp, ebx
jne 0x445f48
call fcn.0049eacd
xor eax, eax
mov edx, dword [esp + 0x20]
cmp edx, dword [eax + 0x10]
jb 0x445f0b
call fcn.0049eacd
mov eax, dword [esp + 0x20]
mov esi, dword [eax]
mov ecx, dword [esp + 0x24]
cmp dword [esi + 4], ecx
jne 0x445f23
mov edx, dword [esp + 0x28]
cmp dword [esi + 8], edx
je 0x445f52
xor esi, esi
cmp ebp, ebx
jne 0x445f4d
call fcn.0049eacd
xor eax, eax
mov ecx, dword [esp + 0x20]
cmp ecx, dword [eax + 0x10]
jb 0x445f3e
call fcn.0049eacd
add dword [esp + 0x20], 4
jmp 0x445ec0
mov eax, dword [ebp]
jmp 0x445efd
mov eax, dword [ebp]
jmp 0x445f30
mov eax, dword [esp + 0x30]
cmp eax, 0xffffffff
je 0x445f81
push eax
mov ecx, edi
call fcn.0043a760
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fst qword [esp + 0x9c]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x446014
cmp esi, ebx
je 0x446284
push ebx
lea ebp, [esi + 0x10]
push ebp
mov ecx, edi
call fcn.00442a70
mov edx, dword [esi]
mov eax, dword [edx + 0xc8]
push eax
lea ecx, [edi + 0x1444]
call fcn.0040fc90
mov dword [ebp + 0x10], ebx
mov eax, dword [ebp + 0x24]
cmp eax, ebx
je 0x445fbc
push eax
call fcn.004a05a9
add esp, 4
push esi
mov dword [ebp + 0x28], 0x40
mov dword [ebp + 0x2c], ebx
call fcn.0048dd02
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x10]
lea ecx, [edi + 4]
sub eax, ecx
sar eax, 2
add esp, 4
cmp eax, ebx
jle 0x445ff6
add eax, eax
add eax, eax
push eax
push ecx
push eax
push edi
call fcn.0049e73d
add esp, 0x10
add dword [esi + 0x10], 0xfffffffc
mov eax, dword [esi + 0x10]
cmp dword [esi + 0xc], edi
ja 0x44600a
cmp edi, eax
jbe 0x446284
call fcn.0049eacd
jmp 0x446284
cmp esi, ebx
jne 0x446047
push 0x5c
call fcn.0048dcc8
add esp, 4
cmp eax, ebx
je 0x44602f
mov ecx, eax
call fcn.00434190
jmp 0x446031
xor eax, eax
lea ecx, [esp + 0x14]
mov esi, eax
push ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], esi
call fcn.004027d0
jmp 0x446062
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
push ebx
push edx
push eax
lea ecx, [edi + 0x1444]
push ecx
lea ecx, [edi + 0x5820]
call fcn.00421980
mov edx, dword [esp + 0x2c]
push ebx
push ebx
lea ebp, [edi + 0x1444]
push edx
mov ecx, ebp
call fcn.0040ee90
mov eax, dword [esp + 0x2c]
push 1
push eax
mov ecx, ebp
call fcn.0040fe70
fld qword [0x4dc3f8]
mov ecx, dword [esp + 0x30]
fld qword [esp + 0x9c]
mov edx, dword [esp + 0x24]
fcom st(1)
mov dword [esi + 0xc], ecx
mov ecx, dword [esp + 0x28]
mov dword [esi + 4], edx
mov dword [esi + 8], ecx
mov dword [esi], eax
mov dword [eax + 0xd0], ecx
mov eax, dword [esi]
mov dword [eax + 0xcc], edx
fnstsw ax
test ah, 1
jne 0x4460c7
fstp st(1)
fstp st(0)
fld1
jmp 0x4460c9
fdivrp st(1)
mov ebp, dword [esi]
fimul dword [ebp + 0x10]
call fcn.0049ef20
mov ecx, dword [ebp + 0xcc]
mov dword [ebp + 0x4c], ecx
mov ecx, dword [esi]
mov edx, dword [ecx + 0xcc]
add edx, eax
mov dword [ecx + 0x54], edx
mov eax, dword [esi]
mov ecx, dword [eax + 0xd0]
mov dword [eax + 0x50], ecx
mov eax, dword [esi]
mov edx, dword [eax + 0xd0]
add edx, dword [eax + 0xc]
mov dword [esp + 0x5c], ebx
mov dword [eax + 0x58], edx
mov eax, dword [esi]
mov edx, 1
mov dword [eax + 0xe8], edx
mov ecx, dword [esi]
mov dword [esi + 0x20], ecx
mov eax, dword [esi]
mov ecx, dword [eax + 0xd0]
mov eax, dword [eax + 0xcc]
mov dword [esi + 0x1c], ecx
mov ecx, dword [esp + 0x24]
mov dword [esi + 0x18], eax
mov eax, dword [edi + 0x5924]
sub eax, edx
mov dword [esi + 0x24], eax
mov eax, dword [esp + 0x28]
add ecx, 0x32
imul eax, eax, 0x320
imul ecx, ecx, 0x258
mov dword [esi + 0x28], edx
add ecx, eax
mov dword [esi + 0x14], ecx
mov ebp, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
mov dword [esp + 0x48], ebp
mov ebp, dword [esi + 0x14]
mov dword [esp + 0x3c], ebp
mov ebp, dword [esi + 0x10]
mov dword [esp + 0x38], ebp
mov ebp, eax
mov dword [esp + 0x4c], ebp
mov ebp, dword [esi + 0x28]
mov dword [esp + 0x50], ebp
mov ebp, dword [esi + 0x2c]
mov dword [esp + 0x54], ebp
mov ebp, dword [esi + 0x30]
mov dword [esp + 0x34], eax
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x58], ebp
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xb0], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], ebp
lea edx, [esp + 0x68]
push edx
lea eax, [esp + 0xa0]
push eax
lea ecx, [edi + 0x58dc]
mov byte [esp + 0xb8], 1
call fcn.00422150
mov eax, dword [esp + 0x90]
cmp eax, ebx
je 0x44623f
push eax
call fcn.004a05a9
add esp, 4
mov eax, dword [esi]
mov ecx, dword [eax + 0xd0]
mov ebx, dword [eax + 0xc]
mov edx, dword [eax + 0xcc]
mov eax, dword [eax + 0x10]
add ebx, ecx
push ebx
add eax, edx
push eax
push ecx
push edx
add esi, 0x40
push esi
mov dword [esp + 0xc4], 0xffffffff
call dword [sym.imp.user32.dll_SetRect]
push esi
lea ecx, [edi + 0x5820]
call fcn.0041fba0
push esi
mov ecx, edi
call fcn.0043a5b0
mov ecx, dword [esp + 0xa8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret