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

Disassembly:
push 0xffffffffffffffff
push 0x4d9776
mov eax, dword fs:[0]
push eax
sub esp, 0x98
push ebx
push ebp
push esi
push edi
mov eax, dword [0x51d260]
xor eax, esp
push eax
lea eax, [esp + 0xac]
mov dword fs:[0], eax
mov edi, ecx
push 0x4dd6d7
xor ebp, ebp
xor esi, esi
call fcn.00435450
push 0x4dd6d7
mov ecx, edi
call fcn.00435450
push 0x4dd6d7
mov ecx, edi
call fcn.004354e0
push 0x4dd6d7
mov ecx, edi
call fcn.00435450
push 0x4dd6d7
mov ecx, edi
call fcn.00435450
mov eax, dword [edi + 0x134]
sub eax, dword [edi + 0x130]
sar eax, 2
test eax, eax
ja 0x446d25
call fcn.004a067d
mov ecx, dword [edi + 0x130]
mov eax, dword [edi + 0x134]
mov edx, dword [ecx]
sub eax, ecx
sar eax, 2
mov dword [esp + 0x2c], edx
cmp eax, 1
ja 0x446d46
call fcn.004a067d
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 + 0x30], edx
test eax, eax
ja 0x446d6b
call fcn.004a067d
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 + 0x18], edx
cmp eax, 2
ja 0x446d90
call fcn.004a067d
mov ecx, dword [edi + 0x130]
mov eax, dword [edi + 0x134]
mov edx, dword [ecx + 8]
sub eax, ecx
sar eax, 2
mov dword [esp + 0x28], edx
cmp eax, 3
ja 0x446db2
call fcn.004a067d
mov ecx, dword [edi + 0x130]
mov eax, dword [edi + 0x86e70]
mov edx, dword [ecx + 0xc]
lea ebx, [edi + 0x86e64]
mov dword [esp + 0x9c], edx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
cmp eax, dword [ebx + 0x10]
jbe 0x446de0
call fcn.004a067d
mov eax, dword [esp + 0x14]
mov ebx, dword [ebx]
mov dword [esp + 0x24], eax
lea ebx, [ebx]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x14], ecx
cmp dword [eax + 0xc], ecx
jbe 0x446e09
call fcn.004a067d
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
cmp ebx, ebp
je 0x446e13
cmp ebx, eax
je 0x446e18
call fcn.004a067d
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x24], ecx
je 0x446e80
cmp ebx, ebp
jne 0x446e78
call fcn.004a067d
xor eax, eax
mov edx, dword [esp + 0x24]
cmp edx, dword [eax + 0x10]
jb 0x446e3b
call fcn.004a067d
mov eax, dword [esp + 0x24]
mov esi, dword [eax]
mov ecx, dword [esp + 0x2c]
cmp dword [esi + 4], ecx
jne 0x446e53
mov edx, dword [esp + 0x30]
cmp dword [esi + 8], edx
je 0x446e80
xor esi, esi
cmp ebx, ebp
jne 0x446e7c
call fcn.004a067d
xor eax, eax
mov ecx, dword [esp + 0x24]
cmp ecx, dword [eax + 0x10]
jb 0x446e6e
call fcn.004a067d
add dword [esp + 0x24], 4
jmp 0x446df0
mov eax, dword [ebx]
jmp 0x446e2d
mov eax, dword [ebx]
jmp 0x446e60
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
je 0x446eaf
push eax
mov ecx, edi
call fcn.0043b960
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fst qword [esp + 0xa0]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x446f42
cmp esi, ebp
je 0x447358
push ebp
lea ebx, [esi + 0x14]
push ebx
mov ecx, edi
call fcn.00443d40
mov edx, dword [esi]
mov eax, dword [edx + 0xc8]
push eax
lea ecx, [edi + 0x1444]
call fcn.0040f8e0
mov dword [ebx + 0x10], ebp
mov eax, dword [ebx + 0x24]
cmp eax, ebp
je 0x446eea
push eax
call fcn.004a2159
add esp, 4
push esi
mov dword [ebx + 0x28], 0x40
mov dword [ebx + 0x2c], ebp
call fcn.0048f8b2
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
mov eax, dword [esi + 0x10]
lea ecx, [edi + 4]
sub eax, ecx
sar eax, 2
add esp, 4
cmp eax, ebp
jle 0x446f24
add eax, eax
add eax, eax
push eax
push ecx
push eax
push edi
call fcn.004a02ed
add esp, 0x10
add dword [esi + 0x10], 0xfffffffc
mov eax, dword [esi + 0x10]
cmp dword [esi + 0xc], edi
ja 0x446f38
cmp edi, eax
jbe 0x447358
call fcn.004a067d
jmp 0x447358
cmp esi, ebp
jne 0x446f75
push 0x60
call fcn.0048f878
add esp, 4
cmp eax, ebp
je 0x446f5d
mov ecx, eax
call fcn.0041a160
jmp 0x446f5f
xor eax, eax
lea ecx, [esp + 0x14]
mov esi, eax
push ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], esi
call fcn.00423950
jmp 0x446f90
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x18]
push ebp
push edx
push eax
lea ecx, [edi + 0x1444]
push ecx
lea ecx, [edi + 0x5820]
call fcn.004217d0
mov edx, dword [esp + 0x28]
push ebp
push ebp
lea ebx, [edi + 0x1444]
push edx
mov ecx, ebx
call fcn.0040eae0
mov eax, dword [esp + 0x28]
push 1
push eax
mov ecx, ebx
call fcn.0040fac0
fld qword [0x4de418]
mov ecx, dword [esp + 0x18]
fld qword [esp + 0xa0]
mov edx, dword [esp + 0x2c]
fcom st(1)
mov ebx, dword [esp + 0x28]
mov dword [esi + 0xc], ecx
mov ecx, dword [esp + 0x30]
mov dword [esi + 4], edx
mov dword [esi + 8], ecx
mov dword [esi + 0x10], ebx
mov dword [esi], eax
mov dword [eax + 0xd0], ecx
mov eax, dword [esi]
sub edx, dword [eax + 0x10]
mov dword [eax + 0xcc], edx
fnstsw ax
test ah, 1
jne 0x446fff
fstp st(1)
fstp st(0)
fld1
jmp 0x447001
fdivrp st(1)
mov ebx, dword [esi]
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x18], edx
fimul dword [esp + 0x18]
call fcn.004a0ad0
mov ecx, dword [ebx + 0xcc]
sub ecx, eax
add ecx, dword [esp + 0x18]
mov dword [esp + 0x5c], ebp
mov dword [ebx + 0x4c], ecx
mov eax, dword [esi]
mov edx, dword [eax + 0xcc]
add edx, dword [eax + 0x10]
mov ebx, 1
mov dword [eax + 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 + 0x60], ebp
mov dword [eax + 0x58], edx
mov eax, dword [esi]
mov dword [eax + 0xe8], ebx
mov ecx, dword [esi]
mov dword [ecx + 0xec], ebx
mov edx, dword [esi]
mov dword [esi + 0x24], edx
mov eax, dword [esi]
mov ecx, dword [eax + 0xd0]
mov eax, dword [eax + 0xcc]
mov dword [esi + 0x20], ecx
mov ecx, dword [esp + 0x30]
mov dword [esi + 0x1c], eax
mov eax, dword [edi + 0x5924]
sub eax, ebx
mov dword [esi + 0x28], eax
mov eax, dword [esp + 0x2c]
add ecx, 0x19
imul eax, eax, 0x258
imul ecx, ecx, 0x320
add ecx, eax
cmp dword [esp + 0x9c], 0x270f
mov dword [esi + 0x18], ecx
mov dword [esp + 0x64], ebp
jne 0x44722b
mov dword [esi + 0x34], ebp
mov dword [edi + 0x6398], ebx
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x1c]
mov dword [esp + 0x44], edx
mov edx, dword [esi + 0x24]
mov dword [esp + 0x48], edx
mov edx, dword [esi + 0x18]
mov dword [esp + 0x3c], edx
mov edx, dword [esi + 0x14]
mov dword [esp + 0x38], edx
mov edx, eax
mov dword [esp + 0x4c], edx
mov edx, dword [esi + 0x2c]
mov dword [esp + 0x50], edx
mov edx, dword [esi + 0x30]
mov dword [esp + 0x54], edx
mov edx, dword [esi + 0x34]
mov dword [esp + 0x34], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xb4], ebp
mov dword [esp + 0x90], ebp
mov dword [esp + 0x94], ebp
mov dword [esp + 0x98], ebp
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], edx
lea ecx, [esp + 0x68]
push ecx
lea edx, [esp + 0xa4]
push edx
lea ecx, [edi + 0x58dc]
mov byte [esp + 0xbc], bl
call fcn.00421fa0
mov eax, dword [esp + 0x90]
cmp eax, ebp
je 0x4471a8
push eax
call fcn.004a2159
add esp, 4
mov eax, dword [esi]
mov ecx, dword [eax + 0xd0]
mov ebp, dword [eax + 0xc]
mov edx, dword [eax + 0xcc]
mov eax, dword [eax + 0x10]
add ebp, ecx
push ebp
add eax, edx
push eax
push ecx
push edx
lea edi, [esi + 0x44]
push edi
call dword [sym.imp.user32.dll_SetRect]
mov eax, dword [esi + 0x24]
mov ecx, dword [eax + 0x5c]
mov dword [edi + 0x10], ecx
mov edx, dword [eax + 0x60]
add eax, 0x4c
mov dword [edi + 0x14], edx
mov ecx, dword [eax + 0x18]
mov dword [edi + 0x18], ecx
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
mov ecx, dword [eax]
mov dword [edi], ecx
mov edx, dword [eax + 8]
mov dword [edi + 8], edx
mov eax, dword [eax + 0xc]
mov dword [edi + 0xc], eax
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x24]
mov edx, dword [eax + 0x4c]
add eax, 0x4c
mov dword [ecx + 0x6c], edx
mov edx, dword [eax + 4]
add ecx, 0x6c
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [esi + 0x24]
mov dword [ecx + 0x68], ebx
jmp 0x447358
mov dword [esi + 0x2c], ebx
mov ebx, dword [esi + 0x24]
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x20]
mov dword [esp + 0x48], ebx
mov ebx, dword [esi + 0x18]
mov dword [esp + 0x3c], ebx
mov ebx, dword [esi + 0x14]
mov dword [esp + 0x38], ebx
mov ebx, eax
mov dword [esp + 0x4c], ebx
mov ebx, dword [esi + 0x2c]
mov dword [esp + 0x50], ebx
mov ebx, dword [esi + 0x30]
mov dword [esp + 0x54], ebx
mov ebx, dword [esi + 0x34]
mov dword [esp + 0x34], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x58], ebx
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 + 0xb4], 2
mov dword [esp + 0x90], ebp
mov dword [esp + 0x94], ebp
mov dword [esp + 0x98], ebp
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], ebx
lea edx, [esp + 0x68]
push edx
lea eax, [esp + 0xa4]
push eax
lea ecx, [edi + 0x58dc]
mov byte [esp + 0xbc], 3
call fcn.00421fa0
mov eax, dword [esp + 0x90]
cmp eax, ebp
je 0x447313
push eax
call fcn.004a2159
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, 0x44
push esi
mov dword [esp + 0xc8], 0xffffffff
call dword [sym.imp.user32.dll_SetRect]
push esi
lea ecx, [edi + 0x5820]
call fcn.0041f760
push esi
mov ecx, edi
call fcn.0043b7b0
mov ecx, dword [esp + 0xac]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret