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

Disassembly:
push ebp
push ebx
push edi
mov edx, 0x22
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x457874
call fcn.004c0cc0
push 0x49
call fcn.004a1f54
push eax
fild dword [esp]
fstp dword [esp]
pop eax
mov dword [esp], eax
push 0x49
call fcn.004a1fc6
push eax
fild dword [esp]
fstp dword [esp]
pop eax
mov dword [esp + 4], eax
mov dword [esp + 0x24], 1
mov dword [esp + 0x28], 0xff
mov dword [esp + 0x2c], 0x7000
call fcn.0042348c
call fcn.0044b6fc
push 0x49
call fcn.004a2fc9
push eax
call fcn.004ac210
and eax, eax
je 0x45916f
push 0xd
call fcn.004bffd2
push eax
call fcn.004ac3a5
push 0xffffff
call fcn.004ac3bc
push 0
call fcn.004ac275
push 0xffffff
fld dword [esp + 8]
push eax
fistp dword [esp]
fld dword [esp + 8]
push eax
fistp dword [esp]
push 0
push 0
call fcn.004ac3d5
cmp dword [0x63b768], 0
je 0x4579b2
push 0x40
call fcn.004ac275
mov eax, dword [0x63b57c]
push eax
call fcn.004ac420
fld dword [esp + 4]
fadd dword [0x58e334]
push eax
fistp dword [esp]
fld dword [esp + 4]
fdiv dword [0x58e2b0]
push eax
fistp dword [esp]
push 0x43
fld dword [esp + 0xc]
fdiv dword [0x58e2b0]
push eax
fistp dword [esp]
call fcn.004ac652
fld dword [esp + 4]
fadd dword [0x58e328]
push eax
fistp dword [esp]
fld dword [esp + 4]
fadd dword [0x58e328]
push eax
fistp dword [esp]
push 0x43
push 0x43
call fcn.004ac895
jmp 0x4579e3
mov eax, dword [0x63b57c]
push eax
fld dword [esp + 8]
fadd dword [0x58e328]
push eax
fistp dword [esp]
fld dword [esp + 8]
fadd dword [0x58e328]
push eax
fistp dword [esp]
push 0x43
push 0x43
call fcn.004ac3d5
push 0xffffff
call fcn.004ac3bc
cmp dword [0x63b6b0], 0
je 0x457a27
push 0xff
fld dword [esp + 8]
fadd dword [0x58e3fc]
push eax
fistp dword [esp]
fld dword [esp + 8]
fadd dword [0x58e3fc]
push eax
fistp dword [esp]
push 0x36
call fcn.004b68f6
push eax
call fcn.004ac8e3
push 4
call fcn.004ac275
push 0
fld dword [esp + 8]
fadd dword [0x58e328]
push eax
fistp dword [esp]
fld dword [esp + 8]
fadd dword [0x58e328]
push eax
fistp dword [esp]
push 0x43
push 0x43
call fcn.004ac3d5
push 0
call fcn.004ac275
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
mov dword [esp + 0x18], 0xa
push 0xb3
call fcn.004a1e10
push eax
xor ebx, ebx
cmp ebx, dword [esp]
jne 0x457aaf
mov dword [esp + 0x18], 0x40800000
mov dword [esp + 0x20], 0x3e4ccccd
mov dword [esp + 0x24], 0x50
jmp 0x457afd
mov ebx, 1
cmp ebx, dword [esp]
jne 0x457ad3
mov dword [esp + 0x18], 0x41200000
mov dword [esp + 0x20], 0x3f000000
mov dword [esp + 0x24], 0x64
jmp 0x457afd
mov ebx, 2
cmp ebx, dword [esp]
jne 0x457afd
mov dword [esp + 0x18], 0x42c80000
mov dword [esp + 0x20], 0x40a00000
mov dword [esp + 0x24], 0x64
mov dword [esp + 0x28], 0
pop eax
push 0xa0
call fcn.004a1e10
push eax
xor ebx, ebx
cmp ebx, dword [esp]
jne 0x457b1a
mov dword [esp + 0x1c], 0x14
jmp 0x457b40
mov ebx, 1
cmp ebx, dword [esp]
jne 0x457b2e
mov dword [esp + 0x1c], 0xa
jmp 0x457b40
mov ebx, 2
cmp ebx, dword [esp]
jne 0x457b40
mov dword [esp + 0x1c], 0xa
pop eax
mov edx, dword [0x63bb54]
imul edx, dword [esp + 0x20]
mov ebp, edx
push ebp
mov eax, 5
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb50]
fld dword [ebp]
fmul dword [0x63b5ac]
fistp dword [esp + 0xc]
mov ebx, dword [esp + 0xc]
cmp ebx, 0x64
jg 0x457b83
mov dword [esp + 0x18], 0xa
jmp 0x457c28
mov ebx, dword [esp + 0xc]
cmp ebx, 0xc8
jg 0x457b9c
mov dword [esp + 0x18], 0x14
jmp 0x457c28
mov ebx, dword [esp + 0xc]
cmp ebx, 0x1f4
jg 0x457bb2
mov dword [esp + 0x18], 0x32
jmp 0x457c28
mov ebx, dword [esp + 0xc]
cmp ebx, 0x3e8
jge 0x457bc8
mov dword [esp + 0x18], 0x64
jmp 0x457c28
mov ebx, dword [esp + 0xc]
cmp ebx, 0x7d0
jge 0x457bde
mov dword [esp + 0x18], 0xc8
jmp 0x457c28
mov ebx, dword [esp + 0xc]
cmp ebx, 0x1388
jge 0x457bf4
mov dword [esp + 0x18], 0x1f4
jmp 0x457c28
mov ebx, dword [esp + 0xc]
cmp ebx, 0x2710
jge 0x457c0a
mov dword [esp + 0x18], 0x3e8
jmp 0x457c28
mov ebx, dword [esp + 0xc]
cmp ebx, 0x4e20
jge 0x457c20
mov dword [esp + 0x18], 0x7d0
jmp 0x457c28
mov dword [esp + 0x18], 0x1388
mov ebx, dword [esp + 0xc]
mov eax, ebx
cdq
idiv dword [esp + 0x18]
mov ebx, edx
and ebx, ebx
je 0x457c44
mov ebx, dword [esp + 0xc]
inc ebx
mov dword [esp + 0xc], ebx
jmp 0x457c28
mov edx, 0x57e040
lea ecx, [esp + 0x3c]
call fcn.0049c008
push edx
call fcn.004c0b20
pop edx
push eax
push edx
call fcn.004c0b20
pop edx
push eax
push 0xb3
call fcn.004a1e88
lea eax, [esp + 0x44]
push eax
call fcn.004c0b60
push edx
call fcn.004c0b20
pop edx
push eax
push edx
call fcn.004c0b20
pop edx
push eax
push 0xa0
call fcn.004a1e88
lea eax, [esp + 0x48]
push eax
call fcn.004c0b60
push edx
call fcn.004c0b20
pop edx
push eax
mov edx, str.Impact_Zone__
push edx
call fcn.004c0bf0
mov edx, dword [esp + 0x44]
push edx
call fcn.004c0bf0
mov edx, str.__vs._Range__
push edx
call fcn.004c0bf0
mov edx, dword [esp + 0x48]
push edx
call fcn.004c0bf0
mov edx, 0x57e8c0
push edx
call fcn.004c0bf0
lea eax, [esp + 0x38]
push eax
call fcn.004c0b60
push edx
call fcn.004c0b20
pop edx
push eax
mov edx, str.Impact_Zone__
push edx
call fcn.004c0bf0
mov edx, dword [esp + 0x44]
push edx
call fcn.004c0bf0
mov edx, 0x57e8c0
push edx
call fcn.004c0bf0
lea eax, [esp + 0x3c]
push eax
call fcn.004c0b60
push edx
call fcn.004c0b20
pop edx
push eax
mov edx, str._MV:
push edx
call fcn.004c0bf0
push edx
call fcn.004c0b20
pop edx
push eax
push edx
call fcn.004c0b20
pop edx
push eax
push 0
call fcn.004a1e88
pop eax
mov edx, 0x57e6fa
push edx
call fcn.004c0bf0
push edx
call fcn.004c0b20
pop edx
push eax
push edx
call fcn.004c0b20
pop edx
push eax
push 0x7d
call fcn.004a1e88
pop eax
mov edx, 0x581464
push edx
call fcn.004c0bf0
push edx
call fcn.004c0b20
pop edx
push eax
push edx
call fcn.004c0b20
pop edx
push eax
push 3
call fcn.004a1e88
pop eax
mov edx, 0x57e6fa
push edx
call fcn.004c0bf0
push edx
call fcn.004c0b20
pop edx
push eax
push edx
call fcn.004c0b20
pop edx
push eax
push 0x9e
call fcn.004a1e88
pop eax
mov edx, str.__BC_
push edx
call fcn.004c0bf0
push edx
call fcn.004c0b20
pop edx
push eax
push edx
call fcn.004c0b20
pop edx
push eax
push 0x98
call fcn.004a1e88
pop eax
mov edx, 0x58aa1c
push edx
call fcn.004c0bf0
push edx
call fcn.004c0b20
pop edx
push eax
push edx
call fcn.004c0b20
pop edx
push eax
push 1
call fcn.004a1e88
pop eax
mov edx, 0x57e8c0
push edx
call fcn.004c0bf0
lea eax, [esp + 0x40]
push eax
call fcn.004c0b60
fld dword [esp]
fadd dword [0x58e328]
fild dword [esp + 0xc]
fisub dword [esp + 8]
fadd dword [0x58e2c4]
fdivp st(1)
fstp dword [esp + 0x5c]
fld dword [esp + 4]
fadd dword [0x58e328]
fld dword [esp + 0x14]
fsub dword [esp + 0x10]
fadd dword [0x58e2c4]
fdivp st(1)
fstp dword [esp + 0x60]
push 0
push dword [esp + 0x38]
push 0xf
fld dword [esp + 0xc]
sub esp, 8
fstp qword [esp]
push dword [esp + 0x48]
call fcn.004ac939
fld qword [esp]
add esp, 8
mov dword [esp - 4], eax
fisub dword [esp - 4]
fadd dword [0x58e2c4]
fdiv dword [0x58e2b0]
push eax
fistp dword [esp]
call fcn.004ac950
push 0
push dword [esp + 0x40]
push 0x23
fld dword [esp + 0xc]
sub esp, 8
fstp qword [esp]
push dword [esp + 0x50]
call fcn.004ac939
fld qword [esp]
add esp, 8
mov dword [esp - 4], eax
fisub dword [esp - 4]
fadd dword [0x58e2c4]
fdiv dword [0x58e2b0]
push eax
fistp dword [esp]
call fcn.004ac950
push edx
call fcn.004c0b20
pop edx
push eax
mov edx, str.Range__
push edx
call fcn.004c0bf0
push edx
call fcn.004c0b20
pop edx
push eax
push edx
call fcn.004c0b20
pop edx
push eax
push 0xa0
call fcn.004a1e88
pop eax
mov edx, 0x57e8c0
push edx
call fcn.004c0bf0
lea eax, [esp + 0x38]
push eax
call fcn.004c0b60
push 0
push dword [esp + 0x38]
fld dword [esp + 0xc]
fadd dword [0x58e3ec]
push eax
fistp dword [esp]
fld dword [esp + 0xc]
sub esp, 8
fstp qword [esp]
push dword [esp + 0x48]
call fcn.004ac939
fld qword [esp]
add esp, 8
mov dword [esp - 4], eax
fisub dword [esp - 4]
fadd dword [0x58e2c4]
fdiv dword [0x58e2b0]
push eax
fistp dword [esp]
call fcn.004ac950
fld dword [esp + 4]
sub esp, 8
fstp qword [esp]
push dword [esp + 0x40]
call fcn.004ac939
fld qword [esp]
add esp, 8
mov dword [esp - 4], eax
fiadd dword [esp - 4]
fadd dword [0x58e2c4]
fdiv dword [0x58e2b0]
fstp dword [esp + 0x64]
push 0
push 0x42b40000
push dword [esp + 0x40]
fld dword [esp + 0x70]
push eax
fistp dword [esp]
push 2
call fcn.004ac9b0
mov edx, str.Barrel_Angle__MoA_
lea ecx, [esp + 0x38]
call fcn.0049c008
fld dword [esp + 4]
sub esp, 8
fstp qword [esp]
push dword [esp + 0x40]
call fcn.004ac939
fld qword [esp]
add esp, 8
mov dword [esp - 4], eax
fiadd dword [esp - 4]
fadd dword [0x58e2c4]
fdiv dword [0x58e2b0]
fstp dword [esp + 0x64]
push 0
push 0x42b40000
push dword [esp + 0x40]
fld dword [esp + 0x70]
push eax
fistp dword [esp]
fld dword [esp + 0x10]
sub esp, 8
fstp qword [esp]
push dword [esp + 0x50]
call fcn.004aca19
fld qword [esp]
add esp, 8
mov dword [esp - 4], eax
fisub dword [esp - 4]
fadd dword [0x58e44c]
push eax
fistp dword [esp]
call fcn.004ac9b0
push dword [esp + 8]
fild dword [esp]
fstp dword [esp]
pop eax
mov dword [esp + 0x54], eax
fld dword [esp + 0x54]
fild dword [esp + 0xc]
fild dword [esp + 0x18]
fdiv dword [0x58e2b0]
faddp st(1)
fadd dword [0x58e2c4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4581ab
fld dword [esp + 0x54]
fisub dword [esp + 8]
fadd dword [0x58e2c4]
fmul dword [esp + 0x5c]
fadd dword [0x58e330]
fstp dword [esp + 0x68]
mov ebx, dword [esp + 0x18]
mov eax, ebx
mov dword [esp - 4], eax
fild dword [esp - 4]
fcomp dword [0x58e2d0]
fnstsw ax
test ah, 1
jne 0x4580d5
push edx
call fcn.004c0b20
pop edx
push eax
push edx
call fcn.004c0b20
pop edx
push eax
fld dword [esp + 0x5c]
sub esp, 8
fistp qword [esp]
call fcn.004be120
lea eax, [esp + 0x70]
push eax
call fcn.004c0b60
jmp 0x458142
mov ebx, dword [esp + 0x18]
mov eax, ebx
mov dword [esp - 4], eax
fild dword [esp - 4]
fcomp dword [0x58e450]
fnstsw ax
test ah, 1
jne 0x45811a
push edx
call fcn.004c0b20
pop edx
push eax
push edx
call fcn.004c0b20
pop edx
push eax
push 1
push dword [esp + 0x60]
call fcn.004be280
lea eax, [esp + 0x70]
push eax
call fcn.004c0b60
jmp 0x458142
push edx
call fcn.004c0b20
pop edx
push eax
push edx
call fcn.004c0b20
pop edx
push eax
push 2
push dword [esp + 0x60]
call fcn.004be280
lea eax, [esp + 0x70]
push eax
call fcn.004c0b60
push 0
push dword [esp + 0x70]
fld dword [esp + 0xc]
fadd dword [0x58e454]
push eax
fistp dword [esp]
fld dword [esp + 0x74]
sub esp, 8
fstp qword [esp]
push dword [esp + 0x80]
call fcn.004ac939
fld qword [esp]
add esp, 8
mov dword [esp - 4], eax
fild dword [esp - 4]
fdiv dword [0x58e2b0]
fsubp st(1)
fadd dword [0x58e2c4]
push eax
fistp dword [esp]
call fcn.004ac950
fld dword [esp + 0x54]
fiadd dword [esp + 0x18]
fadd dword [0x58e2c4]
fstp dword [esp + 0x54]
jmp 0x45804c
fld dword [esp + 0x10]
fstp dword [esp + 0x64]
mov dword [esp + 0x70], 0
mov ebx, dword [esp + 0xc]
and ebx, ebx
jle 0x458308
mov ebx, dword [esp + 0x20]
mov dword [esp - 4], ebx
fild dword [esp - 4]
fdiv dword [esp + 0x14]
fmul dword [esp + 0x1c]
fistp dword [esp + 0x74]
fld dword [esp + 0x64]
fld dword [esp + 0x14]
fld dword [esp + 0x1c]
fdiv dword [0x58e3c0]
faddp st(1)
fadd dword [0x58e2c4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x458308
fld dword [esp + 0x60]
fld dword [esp + 0x14]
fsub dword [esp + 0x64]
fadd dword [0x58e2c4]
fmulp st(1)
fisub dword [0x63b8a8]
fadd dword [0x58e330]
fstp dword [esp + 0x68]
push edx
call fcn.004c0b20
pop edx
push eax
push edx
call fcn.004c0b20
pop edx
push eax
push dword [esp + 0x2c]
push dword [esp + 0x70]
call fcn.004be280
lea eax, [esp + 0x70]
push eax
call fcn.004c0b60
push 0
push dword [esp + 0x70]
fld dword [esp + 0x70]
push eax
fistp dword [esp]
push dword [esp + 0x78]
call fcn.004ac939
mov ebx, eax
neg ebx
add ebx, 0x3e
push ebx
call fcn.004ac950
push edx
call fcn.004c0b20
pop edx
push eax
push edx
call fcn.004c0b20
pop edx
push eax
mov ebx, dword [0x63b80c]
inc ebx
push ebx
mov edx, dword [0x63bb54]
imul edx, dword [esp + 0x7c]
mov ebp, edx
push ebp
mov eax, 7
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb50]
push dword [ebp]
call fcn.004be280
lea eax, [esp + 0x70]
push eax
call fcn.004c0b60
push 0
push dword [esp + 0x70]
fld dword [esp + 0x70]
push eax
fistp dword [esp]
fld dword [esp + 0xc]
fadd dword [0x58e458]
push eax
fistp dword [esp]
call fcn.004ac950
fld dword [esp + 0x64]
fadd dword [esp + 0x1c]
fadd dword [0x58e2c4]
fstp dword [esp + 0x64]
mov ebx, dword [esp + 0x70]
add ebx, dword [esp + 0x74]
mov dword [esp + 0x70], ebx
jmp 0x4581df
push 1
call fcn.004ac275
mov edx, 0x582236
lea ecx, [esp + 0x38]
call fcn.0049c008
push dword [0x63b860]
push dword [esp + 0x3c]
fld dword [esp + 0xc]
fadd dword [0x58e3fc]
push eax
fistp dword [esp]
push 0x31
call fcn.004ac950
mov edx, str.Zero
lea ecx, [esp + 0x38]
call fcn.0049c008
push dword [0x63b5a4]
push dword [esp + 0x3c]
fld dword [esp + 0xc]
fadd dword [0x58e304]
push eax
fistp dword [esp]
push 0x31
call fcn.004ac950
mov edx, str.Apogee
lea ecx, [esp + 0x38]
call fcn.0049c008
push dword [0x63b5a8]
push dword [esp + 0x3c]
fld dword [esp + 0xc]
fadd dword [0x58e470]
push eax
fistp dword [esp]
push 0x31
call fcn.004ac950
cmp dword [0x63b7c4], 0
je 0x458703
mov edx, str.Exclusive
lea ecx, [esp + 0x38]
call fcn.0049c008
fld dword [0x63b8fc]
fadd dword [0x63b624]
fadd dword [0x58e2c4]
fld dword [esp + 0x14]
fcompp
fnstsw ax
test ah, 1
jne 0x458402
fld dword [0x63b8fc]
fadd dword [0x63b624]
fadd dword [0x58e2c4]
fcomp dword [0x58e2c4]
fnstsw ax
test ah, 0x41
jne 0x458402
mov eax, 1
jmp 0x458404
xor eax, eax
and eax, eax
je 0x4584d7
push 0x4c8041
push dword [esp + 0x3c]
fld dword [esp + 0xc]
fadd dword [0x58e3fc]
push eax
fistp dword [esp]
fld dword [esp + 0xc]
sub esp, 8
fstp qword [esp]
push dword [esp + 0x4c]
call fcn.004ac939
fld qword [esp]
add esp, 8
mov dword [esp - 4], eax
fisub dword [esp - 4]
fadd dword [0x58e474]
push eax
fistp dword [esp]
call fcn.004ac950
fld dword [esp + 4]
fld dword [0x63b8fc]
fadd dword [0x63b624]
fadd dword [0x58e2c4]
fmul dword [0x63b828]
fmul dword [esp + 0x60]
fsubp st(1)
fadd dword [0x58e464]
fstp dword [esp + 0x30]
push 0x40000000
push 0x4c8041
push dword [esp + 0x38]
push 0x429a0000
push dword [esp + 0x40]
push 0x42860000
call fcn.0043e82b
push 0x40000000
push 0x4c8041
push dword [esp + 0x38]
fld dword [esp + 0xc]
fadd dword [0x58e468]
sub esp, 4
fstp dword [esp]
push dword [esp + 0x40]
fld dword [esp + 0x14]
fadd dword [0x58e334]
sub esp, 4
fstp dword [esp]
call fcn.0043e82b
mov edx, str.C_to_C
lea ecx, [esp + 0x38]
call fcn.0049c008
fld dword [0x63b8fc]
fld dword [esp + 0x14]
fcompp
fnstsw ax
test ah, 1
jne 0x458512
fld dword [0x63b8fc]
fcomp dword [0x58e2c4]
fnstsw ax
test ah, 0x41
jne 0x458512
mov eax, 1
jmp 0x458514
xor eax, eax
and eax, eax
je 0x4585db
push 0x80ff
push dword [esp + 0x3c]
fld dword [esp + 0xc]
fadd dword [0x58e304]
push eax
fistp dword [esp]
fld dword [esp + 0xc]
sub esp, 8
fstp qword [esp]
push dword [esp + 0x4c]
call fcn.004ac939
fld qword [esp]
add esp, 8
mov dword [esp - 4], eax
fisub dword [esp - 4]
fadd dword [0x58e474]
push eax
fistp dword [esp]
call fcn.004ac950
fld dword [esp + 4]
fld dword [0x63b8fc]
fmul dword [0x63b828]
fmul dword [esp + 0x60]
fsubp st(1)
fadd dword [0x58e464]
fstp dword [esp + 0x30]
push 0x40000000
push 0x80ff
push dword [esp + 0x38]
push 0x429a0000
push dword [esp + 0x40]
push 0x42860000
call fcn.0043e82b
push 0x40000000
push 0x80ff
push dword [esp + 0x38]
fld dword [esp + 0xc]
fadd dword [0x58e468]
sub esp, 4
fstp dword [esp]
push dword [esp + 0x40]
fld dword [esp + 0x14]
fadd dword [0x58e334]
sub esp, 4
fstp dword [esp]
call fcn.0043e82b
mov edx, str.Inclusive
lea ecx, [esp + 0x38]
call fcn.0049c008
fld dword [0x63b8fc]
fsub dword [0x63b624]
fadd dword [0x58e2c4]
fld dword [esp + 0x14]
fcompp
fnstsw ax
test ah, 1
jne 0x45862e
fld dword [0x63b8fc]
fsub dword [0x63b624]
fadd dword [0x58e2c4]
fcomp dword [0x58e2c4]
fnstsw ax
test ah, 0x41
jne 0x45862e
mov eax, 1
jmp 0x458630
xor eax, eax
and eax, eax
je 0x458703
push 0xff00ff
push dword [esp + 0x3c]
fld dword [esp + 0xc]
fadd dword [0x58e470]
push eax
fistp dword [esp]
fld dword [esp + 0xc]
sub esp, 8
fstp qword [esp]
push dword [esp + 0x4c]
call fcn.004ac939
fld qword [esp]
add esp, 8
mov dword [esp - 4], eax
fisub dword [esp - 4]
fadd dword [0x58e474]
push eax
fistp dword [esp]
call fcn.004ac950
fld dword [esp + 4]
fld dword [0x63b8fc]
fsub dword [0x63b624]
fadd dword [0x58e2c4]
fmul dword [0x63b828]
fmul dword [esp + 0x60]
fsubp st(1)
fadd dword [0x58e464]
fstp dword [esp + 0x30]
push 0x40000000
push 0xff00ff
push dword [esp + 0x38]
push 0x429a0000
push dword [esp + 0x40]
push 0x42860000
call fcn.0043e82b
push 0x40000000
push 0xff00ff
push dword [esp + 0x38]
fld dword [esp + 0xc]
fadd dword [0x58e468]
sub esp, 4
fstp dword [esp]
push dword [esp + 0x40]
fld dword [esp + 0x14]
fadd dword [0x58e334]
sub esp, 4
fstp dword [esp]
call fcn.0043e82b
fld dword [esp + 4]
fadd dword [0x58e460]
push eax
fistp dword [esp]
fld dword [esp + 4]
fadd dword [0x58e460]
push eax
fistp dword [esp]
push 0x44
push 0x44
call fcn.004aca30
push 0
call fcn.004ac275
fld dword [esp + 0x10]
fstp dword [esp + 0x64]
fld dword [esp + 0x64]
fld dword [esp + 0x14]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4587b0
fld dword [esp + 0x60]
fld dword [esp + 0x14]
fsub dword [esp + 0x64]
fadd dword [0x58e2c4]
fmulp st(1)
fadd dword [0x58e330]
fstp dword [esp + 0x68]
push 0x808080
fld dword [esp + 0x6c]
push eax
fistp dword [esp]
fld dword [esp + 8]
fadd dword [0x58e464]
push eax
fistp dword [esp]
fld dword [esp + 0x74]
push eax
fistp dword [esp]
push 0x43
call fcn.004aca59
fld dword [esp + 0x64]
fadd dword [esp + 0x1c]
fadd dword [0x58e2c4]
fstp dword [esp + 0x64]
jmp 0x458740
fld dword [esp + 0x10]
fld dword [esp + 0x1c]
fdiv dword [0x58e2b0]
faddp st(1)
fadd dword [0x58e2c4]
fstp dword [esp + 0x64]
fld dword [esp + 0x64]
fld dword [esp + 0x14]
fcompp
fnstsw ax
test ah, 0x41
jne 0x45883a
fld dword [esp + 0x60]
fld dword [esp + 0x14]
fsub dword [esp + 0x64]
fadd dword [0x58e2c4]
fmulp st(1)
fadd dword [0x58e330]
fstp dword [esp + 0x68]
push 0xd0d0d0
fld dword [esp + 0x6c]
push eax
fistp dword [esp]
fld dword [esp + 8]
fadd dword [0x58e464]
push eax
fistp dword [esp]
fld dword [esp + 0x74]
push eax
fistp dword [esp]
push 0x43
call fcn.004aca59
fld dword [esp + 0x64]
fadd dword [esp + 0x1c]
fadd dword [0x58e2c4]
fstp dword [esp + 0x64]
jmp 0x4587ca
push dword [esp + 8]
fild dword [esp]
fstp dword [esp]
pop eax
mov dword [esp + 0x54], eax
fld dword [esp + 0x54]
fild dword [esp + 0xc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4588b7
fld dword [esp + 0x54]
fisub dword [esp + 8]
fadd dword [0x58e2c4]
fmul dword [esp + 0x5c]
fadd dword [0x58e330]
fstp dword [esp + 0x68]
push 0x808080
fld dword [esp + 8]
fadd dword [0x58e464]
push eax
fistp dword [esp]
fld dword [esp + 0x70]
push eax
fistp dword [esp]
push 0x43
fld dword [esp + 0x78]
push eax
fistp dword [esp]
call fcn.004aca59
fld dword [esp + 0x54]
fiadd dword [esp + 0x18]
fadd dword [0x58e2c4]
fstp dword [esp + 0x54]
jmp 0x458849
fild dword [esp + 8]
fild dword [esp + 0x18]
fdiv dword [0x58e2b0]
faddp st(1)
fadd dword [0x58e2c4]
fstp dword [esp + 0x54]
fld dword [esp + 0x54]
fild dword [esp + 0xc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x45893f
fld dword [esp + 0x54]
fisub dword [esp + 8]
fadd dword [0x58e2c4]
fmul dword [esp + 0x5c]
fadd dword [0x58e330]
fstp dword [esp + 0x68]
push 0xd0d0d0
fld dword [esp + 8]
fadd dword [0x58e464]
push eax
fistp dword [esp]
fld dword [esp + 0x70]
push eax
fistp dword [esp]
push 0x43
fld dword [esp + 0x78]
push eax
fistp dword [esp]
call fcn.004aca59
fld dword [esp + 0x54]
fiadd dword [esp + 0x18]
fadd dword [0x58e2c4]
fstp dword [esp + 0x54]
jmp 0x4588d1
mov dword [esp + 0x78], 0x42860000
fld dword [esp + 4]
fadd dword [0x58e334]
fstp dword [esp + 0x7c]
fld dword [esp + 0x78]
push eax
fistp dword [esp]
pop eax
mov dword [esp + 0x80], eax
fld dword [esp + 0x7c]
push eax
fistp dword [esp]
pop eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x70], 0
mov ebx, dword [esp + 8]
mov edx, dword [0x63bb54]
imul edx, dword [esp + 0x70]
mov ebp, edx
push ebp
mov eax, 1
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb50]
mov dword [esp - 4], ebx
fild dword [esp - 4]
fsub dword [ebp]
fadd dword [0x58e2c4]
fmul dword [0x63b5ac]
fmul dword [esp + 0x5c]
fchs
fadd dword [0x58e330]
fistp dword [esp + 0x80]
fild dword [esp + 8]
mov edx, dword [0x63bb54]
imul edx, dword [esp + 0x70]
mov ebp, edx
push ebp
mov eax, 1
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb50]
fsub dword [ebp]
fadd dword [0x58e2c4]
fmul dword [0x63b5ac]
fmul dword [esp + 0x5c]
fchs
fadd dword [0x58e330]
fstp dword [esp + 0x78]
fld dword [esp + 4]
mov edx, dword [0x63bb54]
imul edx, dword [esp + 0x70]
mov ebp, edx
push ebp
xor eax, eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb50]
fld dword [ebp]
fmul dword [0x63b828]
fmul dword [esp + 0x60]
fsubp st(1)
fld dword [0x63b9cc]
fdiv dword [0x58e2b0]
fsubp st(1)
fadd dword [0x58e334]
fstp dword [esp + 0x7c]
mov edx, dword [0x63bb54]
imul edx, dword [esp + 0x70]
mov ebp, edx
push ebp
mov eax, 1
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb50]
fld dword [ebp]
fcomp dword [0x58e2c4]
fnstsw ax
test ah, 0x41
jne 0x458abb
push dword [0x63b9cc]
push dword [0x63b860]
push dword [esp + 0x8c]
fild dword [esp]
fstp dword [esp]
push dword [esp + 0x8c]
fild dword [esp]
fstp dword [esp]
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.0043e82b
fld dword [esp + 0x78]
push eax
fistp dword [esp]
pop eax
mov dword [esp + 0x80], eax
fld dword [esp + 0x7c]
push eax
fistp dword [esp]
pop eax
mov dword [esp + 0x84], eax
mov ebx, dword [esp + 0x70]
inc ebx
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x70]
cmp ebx, dword [esp + 0x20]
jle 0x458af0
jmp 0x458af5
jmp 0x4589ca
mov dword [esp + 0x70], 0
mov ebx, dword [esp + 8]
mov edx, dword [0x63bb54]
imul edx, dword [esp + 0x70]
mov ebp, edx
push ebp
mov eax, 1
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb50]
mov dword [esp - 4], ebx
fild dword [esp - 4]
fsub dword [ebp]
fadd dword [0x58e2c4]
fmul dword [0x63b5ac]
fmul dword [esp + 0x5c]
fchs
fadd dword [0x58e330]
fistp dword [esp + 0x80]
fld dword [esp + 4]
mov edx, dword [0x63bb54]
imul edx, dword [esp + 0x70]
mov ebp, edx
push ebp
xor eax, eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb50]
fld dword [ebp]
fmul dword [0x63b828]
fmul dword [esp + 0x60]
fsubp st(1)
fld dword [0x63b9cc]
fdiv dword [0x58e2b0]
fsubp st(1)
fadd dword [0x58e334]
fistp dword [esp + 0x84]
fild dword [esp + 8]
mov edx, dword [0x63bb54]
imul edx, dword [esp + 0x70]
mov ebp, edx
push ebp
mov eax, 5
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb50]
fsub dword [ebp]
fadd dword [0x58e2c4]
fmul dword [0x63b5ac]
fmul dword [esp + 0x5c]
fchs
fadd dword [0x58e330]
fstp dword [esp + 0x78]
fld dword [esp + 4]
mov edx, dword [0x63bb54]
imul edx, dword [esp + 0x70]
mov ebp, edx
push ebp
xor eax, eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb50]
fld dword [ebp]
fmul dword [0x63b828]
fmul dword [esp + 0x60]
fsubp st(1)
fld dword [0x63b9cc]
fdiv dword [0x58e2b0]
fsubp st(1)
fadd dword [0x58e334]
fstp dword [esp + 0x7c]
push dword [0x63b9cc]
push dword [0x63b860]
push dword [esp + 0x8c]
fild dword [esp]
fstp dword [esp]
push dword [esp + 0x8c]
fild dword [esp]
fstp dword [esp]
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.0043e82b
fld dword [esp + 0x78]
push eax
fistp dword [esp]
pop eax
mov dword [esp + 0x80], eax
fld dword [esp + 0x7c]
push eax
fistp dword [esp]
pop eax
mov dword [esp + 0x84], eax
mov ebx, dword [esp + 0x70]
inc ebx
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x70]
cmp ebx, dword [esp + 0x20]
jle 0x458c8b
jmp 0x458c90
jmp 0x458b94
mov dword [esp + 0x70], 0
mov ebx, dword [esp + 8]
mov eax, dword [0x63bb54]
imul eax, eax, 0
mov ebp, eax
push ebp
mov eax, 5
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb50]
mov dword [esp - 4], ebx
fild dword [esp - 4]
fsub dword [ebp]
fadd dword [0x58e2c4]
fmul dword [0x63b5ac]
fmul dword [esp + 0x5c]
fchs
fadd dword [0x58e330]
fistp dword [esp + 0x80]
fld dword [esp + 4]
mov edx, dword [0x63bb54]
imul edx, dword [esp + 0x70]
mov ebp, edx
push ebp
xor eax, eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb50]
fld dword [ebp]
fmul dword [0x63b828]
fmul dword [esp + 0x60]
fsubp st(1)
fld dword [0x63b9cc]
fdiv dword [0x58e2b0]
fsubp st(1)
fadd dword [0x58e334]
fistp dword [esp + 0x84]
fild dword [esp + 8]
mov edx, dword [0x63bb54]
imul edx, dword [esp + 0x70]
mov ebp, edx
push ebp
mov eax, 2
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb50]
fsub dword [ebp]
fadd dword [0x58e2c4]
fmul dword [0x63b5ac]
fmul dword [esp + 0x5c]
fchs
fadd dword [0x58e330]
fstp dword [esp + 0x78]
fld dword [esp + 4]
mov edx, dword [0x63bb54]
imul edx, dword [esp + 0x70]
mov ebp, edx
push ebp
xor eax, eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb50]
fld dword [ebp]
fmul dword [0x63b828]
fmul dword [esp + 0x60]
fsubp st(1)
fld dword [0x63b9cc]
fdiv dword [0x58e2b0]
fsubp st(1)
fadd dword [0x58e334]
fstp dword [esp + 0x7c]
push dword [0x63b9cc]
push dword [0x63b5a4]
push dword [esp + 0x8c]
fild dword [esp]
fstp dword [esp]
push dword [esp + 0x8c]
fild dword [esp]
fstp dword [esp]
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.0043e82b
fld dword [esp + 0x78]
push eax
fistp dword [esp]
pop eax
mov dword [esp + 0x80], eax
fld dword [esp + 0x7c]
push eax
fistp dword [esp]
pop eax
mov dword [esp + 0x84], eax
mov ebx, dword [esp + 0x70]
inc ebx
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x70]
cmp ebx, dword [esp + 0x20]
jle 0x458e23
jmp 0x458e28
jmp 0x458d2c
mov dword [esp + 0x70], 0
mov ebx, dword [esp + 8]
mov eax, dword [0x63bb54]
imul eax, eax, 0
mov ebp, eax
push ebp
mov eax, 2
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb50]
mov dword [esp - 4], ebx
fild dword [esp - 4]
fsub dword [ebp]
fadd dword [0x58e2c4]
fmul dword [0x63b5ac]
fmul dword [esp + 0x5c]
fchs
fadd dword [0x58e330]
fistp dword [esp + 0x80]
fld dword [esp + 4]
mov edx, dword [0x63bb54]
imul edx, dword [esp + 0x70]
mov ebp, edx
push ebp
xor eax, eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb50]
fld dword [ebp]
fmul dword [0x63b828]
fmul dword [esp + 0x60]
fsubp st(1)
fld dword [0x63b9cc]
fdiv dword [0x58e2b0]
fsubp st(1)
fadd dword [0x58e334]
fistp dword [esp + 0x84]
fild dword [esp + 8]
mov edx, dword [0x63bb54]
imul edx, dword [esp + 0x70]
mov ebp, edx
push ebp
mov eax, 4
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb50]
fsub dword [ebp]
fadd dword [0x58e2c4]
fmul dword [0x63b5ac]
fmul dword [esp + 0x5c]
fchs
fadd dword [0x58e330]
fstp dword [esp + 0x78]
fld dword [esp + 4]
mov edx, dword [0x63bb54]
imul edx, dword [esp + 0x70]
mov ebp, edx
push ebp
xor eax, eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb50]
fld dword [ebp]
fmul dword [0x63b828]
fmul dword [esp + 0x60]
fsubp st(1)
fld dword [0x63b9cc]
fdiv dword [0x58e2b0]
fsubp st(1)
fadd dword [0x58e334]
fstp dword [esp + 0x7c]
push dword [0x63b9cc]
push dword [0x63b5a4]
push dword [esp + 0x8c]
fild dword [esp]
fstp dword [esp]
push dword [esp + 0x8c]
fild dword [esp]
fstp dword [esp]
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.0043e82b
fld dword [esp + 0x78]
push eax
fistp dword [esp]
pop eax
mov dword [esp + 0x80], eax
fld dword [esp + 0x7c]
push eax
fistp dword [esp]
pop eax
mov dword [esp + 0x84], eax
mov ebx, dword [esp + 0x70]
inc ebx
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x70]
cmp ebx, dword [esp + 0x20]
jle 0x458fbb
jmp 0x458fc0
jmp 0x458ec4
mov dword [esp + 0x70], 0
mov ebx, dword [esp + 8]
mov edx, dword [0x63bb54]
imul edx, dword [esp + 0x70]
mov ebp, edx
push ebp
mov eax, 3
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb50]
mov dword [esp - 4], ebx
fild dword [esp - 4]
fsub dword [ebp]
fadd dword [0x58e2c4]
fmul dword [0x63b5ac]
fmul dword [esp + 0x5c]
fchs
fadd dword [0x58e330]
fistp dword [esp + 0x80]
fld dword [esp + 4]
mov edx, dword [0x63bb54]
imul edx, dword [esp + 0x70]
mov ebp, edx
push ebp
xor eax, eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb50]
fld dword [ebp]
fmul dword [0x63b828]
fmul dword [esp + 0x60]
fsubp st(1)
fld dword [0x63b9cc]
fdiv dword [0x58e2b0]
fsubp st(1)
fadd dword [0x58e334]
fistp dword [esp + 0x84]
fild dword [esp + 8]
mov edx, dword [0x63bb54]
imul edx, dword [esp + 0x70]
mov ebp, edx
push ebp
mov eax, 3
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb50]
fsub dword [ebp]
fadd dword [0x58e2c4]
fmul dword [0x63b5ac]
fmul dword [esp + 0x5c]
fchs
fadd dword [0x58e330]
fstp dword [esp + 0x78]
fld dword [esp + 4]
mov edx, dword [0x63bb54]
imul edx, dword [esp + 0x70]
mov ebp, edx
push ebp
xor eax, eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb50]
fld dword [ebp]
fmul dword [0x63b828]
fmul dword [esp + 0x60]
fsubp st(1)
fld dword [0x63b9cc]
fdiv dword [0x58e2b0]
fsubp st(1)
fadd dword [0x58e334]
fstp dword [esp + 0x7c]
mov ebx, dword [esp + 0x70]
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, edx
and ebx, ebx
jne 0x459135
push dword [0x63b9cc]
push dword [0x63b5a8]
push dword [esp + 0x8c]
fild dword [esp]
fstp dword [esp]
push dword [esp + 0x8c]
fild dword [esp]
fstp dword [esp]
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.0043e82b
fld dword [esp + 0x78]
push eax
fistp dword [esp]
pop eax
mov dword [esp + 0x80], eax
fld dword [esp + 0x7c]
push eax
fistp dword [esp]
pop eax
mov dword [esp + 0x84], eax
mov ebx, dword [esp + 0x70]
inc ebx
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x70]
cmp ebx, dword [esp + 0x20]
jle 0x45916a
jmp 0x45916f
jmp 0x45905f
call fcn.004ac35d
xor eax, eax
push dword [esp + 0x34]
call fcn.004c0d20
push dword [esp + 0x40]
call fcn.004c0d20
push dword [esp + 0x38]
call fcn.004c0d20
push dword [esp + 0x6c]
call fcn.004c0d20
push dword [esp + 0x44]
call fcn.004c0d20
push dword [esp + 0x3c]
call fcn.004c0d20
add esp, 0x88
pop edi
pop ebx
pop ebp
ret