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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
push ebx
push esi
mov esi, ecx
lea eax, [esp + 0x1c]
push edi
push eax
mov ecx, dword [esi + 0x1c]
mov edi, dword [esi + 0x3c]
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, esi
call fcn.00464840
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
sub edx, ebx
mov ecx, esi
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
fdiv qword [esi + 0x78]
fmulp st(1)
fmul qword [0x5e7fd0]
fstp qword [esp + 0x10]
call fcn.00464840
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
sub eax, ecx
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fdiv qword [esi + 0x78]
fmulp st(1)
fmul qword [0x5e7fd0]
fld qword [ebp + 8]
fcomp qword [esp + 0x10]
fnstsw ax
test ah, 0x41
je 0x45b6c1
fld qword [ebp + 0x10]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x45b6c1
fld qword [ebp + 8]
fcomp qword [esp + 0x10]
fnstsw ax
test ah, 1
je 0x45b778
fld qword [ebp + 0x10]
fcomp st(1)
fnstsw ax
test ah, 1
fstp st(0)
je 0x45b77a
mov ecx, dword [0x880a70]
mov eax, dword [esi + 0x74]
dec ecx
neg ecx
sbb ecx, ecx
and ecx, 0xfffffffd
add ecx, 0xb
cmp eax, ecx
jge 0x45b77a
inc eax
mov ecx, esi
push eax
mov dword [esi + 0x74], eax
call fcn.0044d0a0
fstp qword [esi + 0x78]
mov ecx, esi
call fcn.00464840
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
sub edx, ebx
mov ecx, esi
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
fdiv qword [esi + 0x78]
fmulp st(1)
fmul qword [0x5e7fd0]
fstp qword [esp + 0x10]
call fcn.00464840
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
sub eax, ecx
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fdiv qword [esi + 0x78]
fmulp st(1)
fmul qword [0x5e7fd0]
fld qword [ebp + 8]
fcomp qword [esp + 0x10]
fnstsw ax
test ah, 1
je 0x45b6a6
fld qword [ebp + 0x10]
fcomp st(1)
fnstsw ax
test ah, 1
fstp st(0)
je 0x45b6a8
mov ecx, dword [0x880a70]
mov eax, dword [esi + 0x74]
dec ecx
neg ecx
sbb ecx, ecx
and ecx, 0xfffffffd
add ecx, 0xb
cmp eax, ecx
jl 0x45b60e
jmp 0x45b77a
fstp st(0)
mov edx, dword [esi + 0x74]
mov ecx, esi
dec edx
mov eax, edx
mov dword [esi + 0x74], edx
push eax
call fcn.0044d0a0
fstp qword [esi + 0x78]
jmp 0x45b77a
mov edx, dword [0x880a70]
mov eax, dword [esi + 0x74]
dec edx
neg edx
sbb edx, edx
and edx, 0xfffffffd
add edx, 0xfffffffd
cmp eax, edx
fstp st(0)
jle 0x45b77a
dec eax
mov ecx, esi
push eax
mov dword [esi + 0x74], eax
call fcn.0044d0a0
fstp qword [esi + 0x78]
mov ecx, esi
call fcn.00464840
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
sub eax, ecx
mov ecx, esi
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fdiv qword [esi + 0x78]
fmulp st(1)
fmul qword [0x5e7fd0]
fstp qword [esp + 0x10]
call fcn.00464840
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
sub ecx, eax
mov dword [esp + 0xc], ecx
fild dword [esp + 0xc]
fdiv qword [esi + 0x78]
fmulp st(1)
fmul qword [0x5e7fd0]
fld qword [ebp + 8]
fcomp qword [esp + 0x10]
fnstsw ax
test ah, 0x41
je 0x45b758
fld qword [ebp + 0x10]
fcomp st(1)
fnstsw ax
test ah, 0x41
fstp st(0)
jne 0x45b77a
jmp 0x45b75a
fstp st(0)
mov edx, dword [0x880a70]
mov eax, dword [esi + 0x74]
dec edx
neg edx
sbb edx, edx
and edx, 0xfffffffd
add edx, 0xfffffffd
cmp eax, edx
jg 0x45b6df
jmp 0x45b77a
fstp st(0)
fld qword [ebp + 8]
fmul qword [0x5e7c20]
mov ecx, esi
fstp qword [esp + 0x18]
call fcn.00464840
fdivr qword [esp + 0x18]
mov ecx, esi
fmul qword [esi + 0x78]
fstp qword [esp + 0x18]
fld qword [ebp + 0x10]
fmul qword [0x5e7c20]
fstp qword [esp + 0x10]
call fcn.00464840
fdivr qword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
sub eax, ecx
mov dword [esp + 0xc], eax
fmul qword [esi + 0x78]
fild dword [esp + 0xc]
fsub qword [esp + 0x18]
call fcn.00530020
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2c]
fild dword [esp + 0xc]
fstp qword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esi + 0x258], ecx
mov ecx, dword [esp + 0x24]
sub eax, ecx
mov dword [esi + 0x25c], edx
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fsub st(1)
call fcn.00530020
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fst qword [esi + 0x260]
mov eax, dword [edi + 0x564]
cmp eax, 2
jne 0x45b83f
fstp st(0)
fstp st(0)
fld qword [esp + 0x10]
fadd qword [esp + 0x18]
fstp qword [esi + 0x258]
jmp 0x45b899
test eax, eax
jne 0x45b84d
fadd st(1)
fstp qword [esi + 0x260]
jmp 0x45b897
cmp eax, 3
jne 0x45b86a
fld qword [esp + 0x10]
fadd qword [esp + 0x18]
fstp qword [esi + 0x258]
fadd st(1)
fstp qword [esi + 0x260]
jmp 0x45b897
cmp eax, 4
jne 0x45b895
fld qword [esp + 0x18]
fmul qword [0x5e7c18]
fadd qword [esp + 0x10]
fstp qword [esi + 0x258]
fxch st(1)
fmul qword [0x5e7c18]
fadd st(1)
fstp qword [esi + 0x260]
jmp 0x45b897
fstp st(0)
fstp st(0)
fld qword [esi + 0x78]
fcomp qword [0x5e7c10]
mov ecx, esi
fnstsw ax
test ah, 1
je 0x45b8e6
call fcn.00464840
fdivr qword [0x5e9fa0]
call fcn.00530020
mov ecx, esi
mov dword [esi + 0x6c], eax
call fcn.00464840
fdivr qword [0x5e9fa0]
call fcn.00530020
mov dword [esi + 0x70], eax
mov edx, dword [esi + 0x6c]
push 0x5f8308
mov ecx, eax
push 0x5f8308
push ecx
push edx
jmp 0x45b923
call fcn.00464840
fdivr qword [0x5e9fa0]
fmul qword [esi + 0x78]
call fcn.00530020
mov ecx, esi
mov dword [esi + 0x6c], eax
call fcn.00464840
fdivr qword [0x5e9fa0]
fmul qword [esi + 0x78]
call fcn.00530020
mov dword [esi + 0x70], eax
mov ecx, dword [esi + 0x6c]
push 0x5f8308
push 0x5f8308
push eax
push ecx
push 1
mov ecx, esi
call fcn.005b9ea4
mov eax, dword [esi + 0x6c]
push 1
cdq
sub eax, edx
mov ecx, esi
sar eax, 1
push eax
push 0
call fcn.005b2522
mov eax, dword [esi + 0x70]
push 1
cdq
sub eax, edx
mov ecx, esi
sar eax, 1
push eax
push 1
call fcn.005b2522
mov eax, dword [esi + 0x6c]
xor ebx, ebx
cdq
sub eax, edx
xor edi, edi
mov ecx, eax
mov eax, dword [esi + 0x70]
cdq
sub eax, edx
mov edx, dword [ebp + 0x18]
push edx
push ebx
sar eax, 1
sar ecx, 1
push edi
push eax
push ecx
push 3
mov ecx, esi
call fcn.00444e40
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14