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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x57d3ae
mov eax, dword fs:[0]
push eax
sub esp, 0x168
mov eax, dword [0x5b107c]
xor eax, esp
mov dword [esp + 0x130], eax
push ebx
push esi
push edi
mov eax, dword [0x5b107c]
xor eax, esp
push eax
lea eax, [esp + 0x178]
mov dword fs:[0], eax
mov ebx, ecx
xor ecx, ecx
mov edi, edx
cmp dword [ebx + 0x2b8], ecx
je 0x453fca
mov esi, dword [ebx + 0x2a8]
mov eax, dword [esi + 0x238]
cmp dword [eax + 0x14], 1
jne 0x453cbc
mov dword [eax + 0x14], ecx
mov eax, dword [esi + 0x238]
cmp dword [eax + 0x18], ecx
jne 0x453ca4
mov eax, dword [eax]
mov dword [eax + 4], ecx
mov edx, dword [esi + 0x238]
mov eax, dword [edx]
mov dword [eax + 0x28], ecx
jmp 0x453cb4
mov ecx, dword [eax]
push esi
lea ecx, [ecx + 0x288]
call fcn.00574c80
xor ecx, ecx
mov eax, dword [esi + 0x238]
mov dword [eax], ecx
cmp edi, ecx
jne 0x453d1a
mov esi, dword [ebx + 0x2ac]
mov edi, 0x5861b8
call fcn.00434900
mov esi, dword [ebx + 0x2b0]
call fcn.00434900
mov esi, dword [ebx + 0x2b4]
mov edi, 0x58c2d8
call fcn.00434900
mov ebx, dword [ebx + 0x2b8]
fld dword [ebx + 0x274]
mov dword [ebx + 0x27c], 0
fstp dword [ebx + 0x270]
fldz
fst dword [ebx + 0x274]
fstp dword [ebx + 0x244]
jmp 0x453fca
mov esi, dword [ebx + 0x2a8]
push 1
mov eax, edi
xor ecx, ecx
call fcn.004247c0
test byte [0x69baa0], 1
jne 0x453d63
or dword [0x69baa0], 1
mov dword [esp + 0x180], 0
call fcn.0053b810
push 0x583620
call fcn.005763f7
add esp, 4
mov dword [esp + 0x180], 0xffffffff
mov edx, dword [edi]
mov eax, dword [edx + 0x78]
mov ecx, edi
call eax
xor edx, edx
mov ecx, eax
div dword [0x69baac]
mov eax, dword [0x69bab0]
mov edx, dword [eax + edx*4]
test edx, edx
je 0x453fca
cmp dword [edx], ecx
je 0x453d96
mov edx, dword [edx + 0xc]
test edx, edx
jne 0x453d86
jmp 0x453fca
mov esi, dword [edx + 4]
mov dword [esp + 0x30], esi
test esi, esi
je 0x453fca
movzx eax, word [esi + 0x1c]
mov ecx, 0x1771
cmp ax, cx
je 0x453ddc
mov edx, 0x1773
cmp ax, dx
je 0x453ddc
mov ecx, 0x1775
cmp ax, cx
je 0x453ddc
mov edx, dword [edi]
mov eax, dword [edx + 0xa8]
mov ecx, edi
call eax
movzx edx, al
mov dword [esp + 0x28], edx
jmp 0x453de4
mov dword [esp + 0x28], 0xc
mov eax, dword [edi]
mov edx, dword [eax + 0xa0]
mov ecx, edi
call edx
lea edi, [esi + 0x1e]
mov esi, dword [ebx + 0x2ac]
mov dword [esp + 0x34], eax
call fcn.00434900
mov edi, dword [esp + 0x28]
mov eax, dword [ebx + 0x2b0]
movzx esi, di
mov ecx, esi
mov dword [esp + 0x38], esi
call fcn.00401980
test di, di
jne 0x453e53
mov eax, dword [ebx + 0x2b8]
fld dword [eax + 0x274]
mov dword [eax + 0x27c], 0
fstp dword [eax + 0x270]
mov edi, 0x5861b8
fldz
fst dword [eax + 0x274]
fstp dword [eax + 0x244]
jmp 0x453fbf
cmp di, 0xc
jae 0x453fb0
cmp esi, 0xc
jge 0x453e6c
mov eax, dword [esp + 0x30]
mov eax, dword [eax + esi*4 + 0x7f]
jmp 0x453e6f
or eax, 0xffffffff
mov ecx, dword [esp + 0x34]
mov edx, ecx
mov dword [esp + 0x2c], edx
fild dword [esp + 0x2c]
test edx, edx
jns 0x453e87
fadd dword [0x598d50]
fstp dword [esp + 0x2c]
mov dword [esp + 0x28], eax
fld dword [esp + 0x2c]
fmul qword [0x598da0]
fild dword [esp + 0x28]
test eax, eax
jns 0x453ea7
fadd dword [0x598d50]
fdivp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fcomp qword [0x5992a0]
fnstsw ax
test ah, 0x41
jne 0x453edf
cmp esi, 0xc
jge 0x453ecd
mov eax, dword [esp + 0x30]
mov esi, dword [eax + esi*4 + 0x7f]
jmp 0x453ed0
or esi, 0xffffffff
dec esi
cmp ecx, esi
je 0x453edf
fld dword [0x599298]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
sub esp, 8
fstp qword [esp]
lea ecx, [esp + 0x44]
push str._4.2f__
push ecx
call dword [sym.imp.MSVCR100.dll_sprintf]
mov esi, dword [ebx + 0x2b4]
add esp, 0x10
lea edi, [esp + 0x3c]
call fcn.00434900
cmp dword [0x64f38c], 0
je 0x453f5c
mov eax, dword [esp + 0x38]
cmp eax, 0xc
jge 0x453f27
mov edx, dword [esp + 0x30]
mov eax, dword [edx + eax*4 + 0x7f]
jmp 0x453f2a
or eax, 0xffffffff
fld dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x38]
push eax
sub esp, 8
fstp qword [esp]
lea ecx, [esp + 0x4c]
push str._4.2f____d__d_
push ecx
call dword [sym.imp.MSVCR100.dll_sprintf]
mov esi, dword [ebx + 0x2b4]
add esp, 0x18
lea edi, [esp + 0x3c]
call fcn.00434900
cmp dword [esp + 0x34], 0
jne 0x453f67
fldz
jmp 0x453f9d
mov eax, dword [esp + 0x38]
cmp eax, 0xc
jge 0x453f7a
mov edx, dword [esp + 0x30]
mov eax, dword [edx + eax*4 + 0x7f]
jmp 0x453f7d
or eax, 0xffffffff
fld dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
test eax, eax
jns 0x453f93
fadd dword [0x598d50]
fdivp st(1)
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
push ecx
mov ecx, dword [ebx + 0x2b8]
fstp dword [esp]
xor edx, edx
call fcn.00441380
jmp 0x453fca
mov edi, dword [0x67f640]
test edi, edi
jne 0x453fbf
mov edi, 0x6815d0
mov esi, dword [ebx + 0x2b4]
call fcn.00434900
mov ecx, dword [esp + 0x178]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x130]
xor ecx, esp
call fcn.005762ee
mov esp, ebp
pop ebp
ret