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

Disassembly:
push ebp
push ebx
mov edx, 0x22
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x40c7d1
call fcn.004c0cc0
mov dword [esp], 0
push 0x49
call fcn.004a1f54
mov dword [esp + 8], eax
push 0x49
call fcn.004a1fc6
mov dword [esp + 0xc], eax
mov dword [esp], 0
mov dword [esp + 4], 0xfffffffe
push 0x49
call fcn.004a2fc9
push eax
call fcn.004ac210
and eax, eax
je 0x40dff4
push 0xd
call fcn.004bffd2
push eax
call fcn.004ac3a5
push 0xffffff
call fcn.004ac3bc
push 0
call fcn.004ac275
push 0xffffff
push dword [esp + 0x10]
push dword [esp + 0x10]
push 0
push 0
call fcn.004ac3d5
cmp dword [0x63b768], 0
je 0x40c8e6
push 0x40
call fcn.004ac275
mov eax, dword [0x63b57c]
push eax
call fcn.004ac420
mov ebx, dword [esp + 0xc]
add ebx, 0xffffffbd
push ebx
mov ebx, dword [esp + 0xc]
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, eax
push ebx
push 0x43
mov ebx, dword [esp + 0x14]
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, eax
push ebx
call fcn.004ac652
mov ebx, dword [esp + 0xc]
add ebx, 0xffffff7a
push ebx
mov ebx, dword [esp + 0xc]
add ebx, 0xffffff7a
push ebx
push 0x43
push 0x43
call fcn.004ac895
jmp 0x40c911
mov eax, dword [0x63b57c]
push eax
mov ebx, dword [esp + 0x10]
add ebx, 0xffffff7a
push ebx
mov ebx, dword [esp + 0x10]
add ebx, 0xffffff7a
push ebx
push 0x43
push 0x43
call fcn.004ac3d5
push 0xffffff
call fcn.004ac3bc
push 4
call fcn.004ac275
push 0
mov ebx, dword [esp + 0x10]
add ebx, 0xffffff7a
push ebx
mov ebx, dword [esp + 0x10]
add ebx, 0xffffff7a
push ebx
push 0x43
push 0x43
call fcn.004ac3d5
push 0
call fcn.004ac275
mov dword [esp + 0x10], 0x3f800000
mov dword [esp + 0x14], 0x3f800000
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
push 0xa0
call fcn.004a1e10
push eax
xor ebx, ebx
cmp ebx, dword [esp]
jne 0x40c9b9
mov dword [esp + 0x14], 0x40400000
mov edx, str.Foot
lea ecx, [esp + 0x1c]
call fcn.0049c008
mov dword [esp + 0x18], 0x40400000
mov edx, str.Foot
lea ecx, [esp + 0x20]
call fcn.0049c008
jmp 0x40ca27
mov ebx, 1
cmp ebx, dword [esp]
jne 0x40c9f1
mov dword [esp + 0x14], 0x3f800000
mov edx, str.Yard
lea ecx, [esp + 0x1c]
call fcn.0049c008
mov dword [esp + 0x18], 0x40400000
mov edx, str.Foot
lea ecx, [esp + 0x20]
call fcn.0049c008
jmp 0x40ca27
mov ebx, 2
cmp ebx, dword [esp]
jne 0x40ca27
mov dword [esp + 0x14], 0x3f6a161e
mov edx, str.Metre
lea ecx, [esp + 0x1c]
call fcn.0049c008
mov dword [esp + 0x18], 0x3f6a161e
mov edx, str.Metre
lea ecx, [esp + 0x20]
call fcn.0049c008
pop eax
push edx
call fcn.004c0b20
pop edx
push eax
mov edx, str.Range__
push edx
call fcn.004c0bf0
mov edx, dword [esp + 0x1c]
push edx
call fcn.004c0bf0
mov edx, 0x57e8c0
push edx
call fcn.004c0bf0
lea eax, [esp + 0x2c]
push eax
call fcn.004c0b60
push edx
call fcn.004c0b20
pop edx
push eax
mov edx, str.Maximum_Height__
push edx
call fcn.004c0bf0
mov edx, dword [esp + 0x20]
push edx
call fcn.004c0bf0
mov edx, 0x57e8c0
push edx
call fcn.004c0bf0
lea eax, [esp + 0x30]
push eax
call fcn.004c0b60
mov edx, dword [esp + 0x2c]
push edx
call fcn.004c0b20
pop edx
push eax
push edx
call fcn.004c0bf0
mov edx, str._vs.
push edx
call fcn.004c0bf0
mov edx, dword [esp + 0x2c]
push edx
call fcn.004c0bf0
mov edx, str._vs._Inclination__
push edx
call fcn.004c0bf0
lea eax, [esp + 0x34]
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, 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, 0x580970
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 + 0x38]
push eax
call fcn.004c0b60
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 1
mov dword [esp + 0x4c], 0
jmp 0x40cba7
mov eax, 0x5a
cmp eax, dword [esp + 0x4c]
jl 0x40cc2e
mov edx, dword [0x63bb10]
imul edx, dword [esp + 0x4c]
mov ebp, edx
push ebp
xor eax, eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb0c]
fld dword [ebp]
fmul dword [esp + 0x10]
sub esp, 8
fstp qword [esp]
call fcn.0049fdd0
mov ebx, eax
cmp ebx, dword [esp + 0x3c]
jle 0x40cc23
mov edx, dword [0x63bb10]
imul edx, dword [esp + 0x4c]
mov ebp, edx
push ebp
xor eax, eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb0c]
fld dword [ebp]
fmul dword [esp + 0x10]
sub esp, 8
fstp qword [esp]
call fcn.0049fdd0
mov dword [esp + 0x3c], eax
push dword [esp + 0x4c]
pop eax
mov dword [esp + 0x50], eax
add dword [esp + 0x4c], 2
jno 0x40cba7
mov ebx, dword [esp + 0x3c]
imul ebx, ebx, 6
mov eax, ebx
mov ecx, 5
cdq
idiv ecx
mov ebx, eax
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x3c]
cmp ebx, 0x64
jg 0x40cc5b
mov dword [esp + 0x44], 0xa
jmp 0x40cd00
mov ebx, dword [esp + 0x3c]
cmp ebx, 0xc8
jg 0x40cc74
mov dword [esp + 0x44], 0x14
jmp 0x40cd00
mov ebx, dword [esp + 0x3c]
cmp ebx, 0x1f4
jg 0x40cc8a
mov dword [esp + 0x44], 0x32
jmp 0x40cd00
mov ebx, dword [esp + 0x3c]
cmp ebx, 0x3e8
jge 0x40cca0
mov dword [esp + 0x44], 0x64
jmp 0x40cd00
mov ebx, dword [esp + 0x3c]
cmp ebx, 0x7d0
jge 0x40ccb6
mov dword [esp + 0x44], 0xc8
jmp 0x40cd00
mov ebx, dword [esp + 0x3c]
cmp ebx, 0x1388
jge 0x40cccc
mov dword [esp + 0x44], 0x1f4
jmp 0x40cd00
mov ebx, dword [esp + 0x3c]
cmp ebx, 0x2710
jge 0x40cce2
mov dword [esp + 0x44], 0x3e8
jmp 0x40cd00
mov ebx, dword [esp + 0x3c]
cmp ebx, 0x4e20
jge 0x40ccf8
mov dword [esp + 0x44], 0x7d0
jmp 0x40cd00
mov dword [esp + 0x44], 0x1388
mov ebx, dword [esp + 0x3c]
mov eax, ebx
cdq
idiv dword [esp + 0x44]
mov ebx, edx
and ebx, ebx
je 0x40cd1c
mov ebx, dword [esp + 0x3c]
inc ebx
mov dword [esp + 0x3c], ebx
jmp 0x40cd00
mov ebx, dword [esp + 8]
cmp ebx, 0x190
jge 0x40cd32
mov ebx, dword [esp + 0x44]
add ebx, ebx
mov dword [esp + 0x44], ebx
cmp dword [0x63b6b0], 0
je 0x40cd60
push 0xff
mov ebx, dword [esp + 0x10]
add ebx, 0xffffffd3
push ebx
mov ebx, dword [esp + 0x10]
add ebx, 0xffffffd3
push ebx
push 0x36
call fcn.004b68f6
push eax
call fcn.004ac8e3
mov dword [esp + 0x54], 0
mov eax, dword [0x63bb10]
imul eax, eax, 0x5a
mov ebp, eax
push ebp
mov eax, 1
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb0c]
fld dword [ebp]
fmul dword [esp + 0x14]
sub esp, 8
fstp qword [esp]
call fcn.0049fdd0
mov ebx, eax
imul ebx, ebx, 0xb
mov eax, ebx
mov ecx, 0xa
cdq
idiv ecx
mov ebx, eax
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], 1
mov ebx, dword [esp + 0x58]
cmp ebx, 0x64
jg 0x40cdc9
mov dword [esp + 0x5c], 0xa
jmp 0x40ce87
mov ebx, dword [esp + 0x58]
cmp ebx, 0xc8
jg 0x40cde2
mov dword [esp + 0x5c], 0x14
jmp 0x40ce87
mov ebx, dword [esp + 0x58]
cmp ebx, 0x1f4
jg 0x40cdfb
mov dword [esp + 0x5c], 0x32
jmp 0x40ce87
mov ebx, dword [esp + 0x58]
cmp ebx, 0x3e8
jge 0x40ce11
mov dword [esp + 0x5c], 0x64
jmp 0x40ce87
mov ebx, dword [esp + 0x58]
cmp ebx, 0x7d0
jge 0x40ce27
mov dword [esp + 0x5c], 0xc8
jmp 0x40ce87
mov ebx, dword [esp + 0x58]
cmp ebx, 0x1388
jge 0x40ce3d
mov dword [esp + 0x5c], 0x1f4
jmp 0x40ce87
mov ebx, dword [esp + 0x58]
cmp ebx, 0x2710
jge 0x40ce53
mov dword [esp + 0x5c], 0x3e8
jmp 0x40ce87
mov ebx, dword [esp + 0x58]
cmp ebx, 0x4e20
jge 0x40ce69
mov dword [esp + 0x5c], 0x7d0
jmp 0x40ce87
mov ebx, dword [esp + 0x58]
cmp ebx, 0xc350
jge 0x40ce7f
mov dword [esp + 0x5c], 0x1388
jmp 0x40ce87
mov dword [esp + 0x5c], 0x2710
mov ebx, dword [esp + 0x58]
mov eax, ebx
cdq
idiv dword [esp + 0x5c]
mov ebx, edx
and ebx, ebx
je 0x40cea3
mov ebx, dword [esp + 0x58]
inc ebx
mov dword [esp + 0x58], ebx
jmp 0x40ce87
fild dword [esp + 8]
fadd dword [0x58e328]
fild dword [esp + 0x3c]
fisub dword [esp + 0x38]
fadd dword [0x58e2c4]
fdivp st(1)
fstp dword [esp + 0x60]
fild dword [esp + 0xc]
fadd dword [0x58e328]
fild dword [esp + 0x58]
fisub dword [esp + 0x54]
fadd dword [0x58e2c4]
fdivp st(1)
fstp dword [esp + 0x64]
push 0
push dword [esp + 0x34]
push 0xf
mov ebx, dword [esp + 0x14]
push dword [esp + 0x3c]
call fcn.004ac939
sub ebx, eax
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, eax
push ebx
call fcn.004ac950
push 0
push dword [esp + 0x38]
push 0x23
mov ebx, dword [esp + 0x14]
push dword [esp + 0x40]
call fcn.004ac939
sub ebx, eax
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, eax
push ebx
call fcn.004ac950
push 0
push dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
add ebx, 0xffffffec
push ebx
mov ebx, dword [esp + 0x14]
push dword [esp + 0x34]
call fcn.004ac939
sub ebx, eax
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, eax
push ebx
call fcn.004ac950
fild dword [esp + 0xc]
sub esp, 8
fstp qword [esp]
push dword [esp + 0x34]
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 + 0x68]
push 0
push 0x42b40000
push dword [esp + 0x34]
fld dword [esp + 0x74]
push eax
fistp dword [esp]
push 2
call fcn.004ac9b0
push 0
push 0x42b40000
push dword [esp + 0x34]
fld dword [esp + 0x74]
push eax
fistp dword [esp]
mov ebx, dword [esp + 0x18]
push dword [esp + 0x3c]
call fcn.004aca19
sub ebx, eax
add ebx, 0xfffffffb
push ebx
call fcn.004ac9b0
push dword [esp + 0x38]
fild dword [esp]
fstp dword [esp]
pop eax
mov dword [esp + 0x6c], eax
fld dword [esp + 0x6c]
fild dword [esp + 0x3c]
fcompp
fnstsw ax
test ah, 1
jne 0x40d0b3
fld dword [esp + 0x6c]
fmul dword [esp + 0x60]
fadd dword [0x58e330]
fstp dword [esp + 0x70]
push edx
call fcn.004c0b20
pop edx
push eax
push edx
call fcn.004c0b20
pop edx
push eax
push 0
push dword [esp + 0x78]
call fcn.004be280
lea eax, [esp + 0x78]
push eax
call fcn.004c0b60
push 0
push dword [esp + 0x78]
mov ebx, dword [esp + 0x14]
add ebx, 0xffffffc5
push ebx
fld dword [esp + 0x78]
fmul dword [esp + 0x6c]
sub esp, 8
fstp qword [esp]
push dword [esp + 0x88]
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 [0x58e330]
push eax
fistp dword [esp]
call fcn.004ac950
fld dword [esp + 0x6c]
fiadd dword [esp + 0x44]
fadd dword [0x58e2c4]
fstp dword [esp + 0x6c]
jmp 0x40cffd
push dword [esp + 0x54]
fild dword [esp]
fstp dword [esp]
pop eax
mov dword [esp + 0x68], eax
fld dword [esp + 0x68]
fild dword [esp + 0x58]
fcompp
fnstsw ax
test ah, 1
jne 0x40d182
fld dword [esp + 0x64]
fild dword [esp + 0x58]
fsub dword [esp + 0x68]
fadd dword [0x58e2c4]
fmulp st(1)
fisub dword [0x63b8a8]
fadd dword [0x58e330]
fstp dword [esp + 0x70]
push edx
call fcn.004c0b20
pop edx
push eax
push edx
call fcn.004c0b20
pop edx
push eax
push 0
push dword [esp + 0x74]
call fcn.004be280
lea eax, [esp + 0x78]
push eax
call fcn.004c0b60
push 0
push dword [esp + 0x78]
fld dword [esp + 0x78]
push eax
fistp dword [esp]
push dword [esp + 0x80]
call fcn.004ac939
mov ebx, eax
neg ebx
add ebx, 0x3e
push ebx
call fcn.004ac950
push 0
push dword [esp + 0x78]
fld dword [esp + 0x78]
push eax
fistp dword [esp]
mov ebx, dword [esp + 0x14]
add ebx, 0xffffffc2
push ebx
call fcn.004ac950
fld dword [esp + 0x68]
fiadd dword [esp + 0x5c]
fadd dword [0x58e2c4]
fstp dword [esp + 0x68]
jmp 0x40d0c2
mov ebx, dword [esp + 0xc]
add ebx, 0xffffff78
push ebx
mov ebx, dword [esp + 0xc]
add ebx, 0xffffff78
push ebx
push 0x44
push 0x44
call fcn.004aca30
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x78], 0
jmp 0x40d1c1
mov eax, 0x5a
cmp eax, dword [esp + 0x78]
jl 0x40d22a
mov edx, dword [0x63bb10]
imul edx, dword [esp + 0x78]
mov ebp, edx
push ebp
xor eax, eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb0c]
fld dword [ebp]
fld dword [esp + 0x20]
fcompp
fnstsw ax
test ah, 1
je 0x40d224
mov edx, dword [0x63bb10]
imul edx, dword [esp + 0x78]
mov ebp, edx
push ebp
xor eax, eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb0c]
fld dword [ebp]
fstp dword [esp + 0x20]
push dword [esp + 0x78]
pop eax
mov dword [esp + 0x24], eax
inc dword [esp + 0x78]
jno 0x40d1c1
push 0
call fcn.004ac275
push dword [esp + 0x54]
fild dword [esp]
fstp dword [esp]
pop eax
mov dword [esp + 0x68], eax
fld dword [esp + 0x68]
fild dword [esp + 0x58]
fcompp
fnstsw ax
test ah, 0x41
jne 0x40d2ad
fld dword [esp + 0x64]
fild dword [esp + 0x58]
fsub dword [esp + 0x68]
fadd dword [0x58e2c4]
fmulp st(1)
fadd dword [0x58e330]
fstp dword [esp + 0x70]
push 0x808080
fld dword [esp + 0x74]
push eax
fistp dword [esp]
mov ebx, dword [esp + 0x10]
add ebx, 0xffffffbc
push ebx
fld dword [esp + 0x7c]
push eax
fistp dword [esp]
push 0x43
call fcn.004aca59
fld dword [esp + 0x68]
fiadd dword [esp + 0x5c]
fadd dword [0x58e2c4]
fstp dword [esp + 0x68]
jmp 0x40d243
fild dword [esp + 0x54]
fild dword [esp + 0x5c]
fdiv dword [0x58e2b0]
faddp st(1)
fadd dword [0x58e2c4]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fild dword [esp + 0x58]
fcompp
fnstsw ax
test ah, 0x41
jne 0x40d331
fld dword [esp + 0x64]
fild dword [esp + 0x58]
fsub dword [esp + 0x68]
fadd dword [0x58e2c4]
fmulp st(1)
fadd dword [0x58e330]
fstp dword [esp + 0x70]
push 0xd0d0d0
fld dword [esp + 0x74]
push eax
fistp dword [esp]
mov ebx, dword [esp + 0x10]
add ebx, 0xffffffbc
push ebx
fld dword [esp + 0x7c]
push eax
fistp dword [esp]
push 0x43
call fcn.004aca59
fld dword [esp + 0x68]
fiadd dword [esp + 0x5c]
fadd dword [0x58e2c4]
fstp dword [esp + 0x68]
jmp 0x40d2c7
push dword [esp + 0x38]
fild dword [esp]
fstp dword [esp]
pop eax
mov dword [esp + 0x6c], eax
fld dword [esp + 0x6c]
fild dword [esp + 0x3c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x40d3a1
fld dword [esp + 0x6c]
fmul dword [esp + 0x60]
fadd dword [0x58e330]
fstp dword [esp + 0x70]
push 0x808080
mov ebx, dword [esp + 0x10]
add ebx, 0xffffffbc
push ebx
fld dword [esp + 0x78]
push eax
fistp dword [esp]
push 0x43
fld dword [esp + 0x80]
push eax
fistp dword [esp]
call fcn.004aca59
fld dword [esp + 0x6c]
fiadd dword [esp + 0x44]
fadd dword [0x58e2c4]
fstp dword [esp + 0x6c]
jmp 0x40d340
fild dword [esp + 0x38]
fild dword [esp + 0x44]
fdiv dword [0x58e2b0]
faddp st(1)
fadd dword [0x58e2c4]
fstp dword [esp + 0x6c]
fld dword [esp + 0x6c]
fild dword [esp + 0x3c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x40d41c
fld dword [esp + 0x6c]
fmul dword [esp + 0x60]
fadd dword [0x58e330]
fstp dword [esp + 0x70]
push 0xd0d0d0
mov ebx, dword [esp + 0x10]
add ebx, 0xffffffbc
push ebx
fld dword [esp + 0x78]
push eax
fistp dword [esp]
push 0x43
fld dword [esp + 0x80]
push eax
fistp dword [esp]
call fcn.004aca59
fld dword [esp + 0x6c]
fiadd dword [esp + 0x44]
fadd dword [0x58e2c4]
fstp dword [esp + 0x6c]
jmp 0x40d3bb
push 1
call fcn.004ac275
mov dword [esp + 0x7c], 0x42860000
fild dword [esp + 0xc]
fadd dword [0x58e334]
fstp dword [esp + 0x80]
fld dword [esp + 0x7c]
fstp dword [esp + 0x6c]
fld dword [esp + 0x80]
fstp dword [esp + 0x68]
mov dword [esp + 0x78], 0
mov dword [esp + 0x78], 0
jmp 0x40d464
mov eax, 0x5a
cmp eax, dword [esp + 0x78]
jl 0x40d52d
mov edx, dword [0x63bb10]
imul edx, dword [esp + 0x78]
mov ebp, edx
push ebp
xor eax, eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb0c]
fld dword [ebp]
fmul dword [esp + 0x10]
fmul dword [esp + 0x60]
fadd dword [0x58e330]
fstp dword [esp + 0x6c]
fld dword [esp + 0x64]
fild dword [esp + 0x58]
mov edx, dword [0x63bb10]
imul edx, dword [esp + 0x78]
mov ebp, edx
push ebp
mov eax, 1
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb0c]
fld dword [ebp]
fmul dword [esp + 0x14]
fsubp st(1)
fadd dword [0x58e2c4]
fmulp st(1)
fadd dword [0x58e3e0]
fstp dword [esp + 0x68]
push dword [0x63b9cc]
push dword [0x63b860]
push dword [esp + 0x88]
push dword [esp + 0x88]
push dword [esp + 0x78]
push dword [esp + 0x80]
call fcn.0043e82b
fld dword [esp + 0x6c]
fstp dword [esp + 0x7c]
fld dword [esp + 0x68]
fstp dword [esp + 0x80]
inc dword [esp + 0x78]
jno 0x40d464
mov dword [esp + 0x7c], 0x42860000
fild dword [esp + 0xc]
fadd dword [0x58e334]
fstp dword [esp + 0x80]
fld dword [esp + 0x7c]
fstp dword [esp + 0x6c]
fld dword [esp + 0x80]
fstp dword [esp + 0x68]
mov dword [esp + 0x78], 0
mov dword [esp + 0x78], 0
jmp 0x40d56b
mov eax, 0x5a
cmp eax, dword [esp + 0x78]
jl 0x40d8c2
mov edx, dword [0x63bb10]
imul edx, dword [esp + 0x78]
mov ebp, edx
push ebp
xor eax, eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb0c]
fld dword [ebp]
fmul dword [esp + 0x10]
fmul dword [esp + 0x60]
fadd dword [0x58e3e4]
fstp dword [esp + 0x6c]
fld dword [esp + 0x64]
fild dword [esp + 0x58]
mov edx, dword [0x63bb10]
imul edx, dword [esp + 0x78]
mov ebp, edx
push ebp
mov eax, 1
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb0c]
fld dword [ebp]
fmul dword [esp + 0x14]
fsubp st(1)
fadd dword [0x58e2c4]
fmulp st(1)
fadd dword [0x58e3e0]
fstp dword [esp + 0x68]
fld dword [esp + 0x6c]
fcomp dword [0x58e2c4]
fnstsw ax
test ah, 0x41
jne 0x40d616
fld dword [esp + 0x68]
fcomp dword [0x58e2c4]
fnstsw ax
test ah, 0x41
jne 0x40d616
mov eax, 1
jmp 0x40d618
xor eax, eax
and eax, eax
je 0x40d8a5
fld dword [esp + 0x68]
sub esp, 8
fstp qword [esp]
push dword [esp + 0x38]
call fcn.004aca19
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]
fld dword [esp + 0x70]
fadd dword [0x58e2d4]
push eax
fistp dword [esp]
call fcn.00410712
mov dword [esp + 0x48], eax
mov ebx, dword [esp + 0x48]
cmp ebx, 0xd0d0d0
je 0x40d684
mov ebx, dword [esp + 0x48]
cmp ebx, 0x808080
je 0x40d684
jmp 0x40d68b
mov eax, 1
jmp 0x40d68d
xor eax, eax
and eax, eax
je 0x40d699
mov dword [esp + 0x48], 0xffffff
mov ebx, dword [esp + 0x78]
mov eax, ebx
mov ecx, 5
cdq
idiv ecx
mov ebx, edx
and ebx, ebx
jne 0x40d8a5
mov ebx, dword [esp + 0x78]
mov eax, ebx
mov ecx, 0xa
cdq
idiv ecx
mov ebx, edx
and ebx, ebx
jne 0x40d8a5
push edx
call fcn.004c0b20
pop edx
push 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
mov eax, dword [esp + 0x84]
cdq
push edx
push eax
call fcn.004be120
pop eax
mov edx, 0x57f97e
push edx
call fcn.004c0bf0
lea eax, [esp + 0x34]
push eax
call fcn.004c0b60
push 0
call fcn.004ac275
mov ebx, dword [esp + 0x78]
cmp ebx, dword [esp + 0x50]
jge 0x40d734
mov ebx, dword [esp + 0x78]
and ebx, ebx
je 0x40d734
mov eax, 1
jmp 0x40d736
xor eax, eax
and eax, eax
je 0x40d82f
fld dword [esp + 0x68]
sub esp, 8
fstp qword [esp]
push dword [esp + 0x38]
call fcn.004aca19
fld qword [esp]
add esp, 8
mov dword [esp - 4], eax
fild dword [esp - 4]
fdiv dword [0x58e2b0]
faddp st(1)
fadd dword [0x58e2c4]
push eax
fistp dword [esp]
fld dword [esp + 0x70]
fadd dword [0x58e2d4]
push eax
fistp dword [esp]
call fcn.00410712
mov dword [esp + 0x48], eax
mov ebx, dword [esp + 0x48]
cmp ebx, 0xd0d0d0
je 0x40d7a2
mov ebx, dword [esp + 0x48]
cmp ebx, 0x808080
je 0x40d7a2
jmp 0x40d7a9
mov eax, 1
jmp 0x40d7ab
xor eax, eax
and eax, eax
je 0x40d7b7
mov dword [esp + 0x48], 0xffffff
push dword [esp + 0x48]
push dword [esp + 0x34]
call fcn.004aca19
push eax
push dword [esp + 0x38]
call fcn.004ac939
push eax
fld dword [esp + 0x74]
fadd dword [0x58e318]
push eax
fistp dword [esp]
fld dword [esp + 0x7c]
fadd dword [0x58e3b8]
push eax
fistp dword [esp]
call fcn.004ac3d5
push 1
call fcn.004ac275
push dword [0x63b860]
push dword [esp + 0x34]
fld dword [esp + 0x70]
fiadd dword [esp + 8]
fadd dword [0x58e318]
push eax
fistp dword [esp]
fld dword [esp + 0x78]
fiadd dword [esp + 0xc]
fadd dword [0x58e318]
push eax
fistp dword [esp]
call fcn.004ac950
jmp 0x40d8a5
push dword [esp + 0x48]
push dword [esp + 0x34]
call fcn.004aca19
push eax
push dword [esp + 0x38]
call fcn.004ac939
push eax
fld dword [esp + 0x74]
fadd dword [0x58e3e8]
push eax
fistp dword [esp]
fld dword [esp + 0x7c]
fadd dword [0x58e3b8]
push eax
fistp dword [esp]
call fcn.004ac3d5
push 1
call fcn.004ac275
push dword [0x63b860]
push dword [esp + 0x34]
fld dword [esp + 0x70]
fiadd dword [esp + 8]
fadd dword [0x58e3ec]
push eax
fistp dword [esp]
fld dword [esp + 0x78]
fiadd dword [esp + 0xc]
fadd dword [0x58e3f0]
push eax
fistp dword [esp]
call fcn.004ac950
fld dword [esp + 0x6c]
fstp dword [esp + 0x7c]
fld dword [esp + 0x68]
fstp dword [esp + 0x80]
inc dword [esp + 0x78]
jno 0x40d56b
mov dword [esp + 0x7c], 0x42860000
fild dword [esp + 0xc]
fadd dword [0x58e334]
fstp dword [esp + 0x80]
fld dword [esp + 0x7c]
fstp dword [esp + 0x6c]
fld dword [esp + 0x80]
fstp dword [esp + 0x68]
mov dword [esp + 0x78], 0
push 0
call fcn.004ac275
mov dword [esp + 0x78], 0
jmp 0x40d90a
mov eax, 0x5a
cmp eax, dword [esp + 0x78]
jl 0x40daaf
mov edx, dword [0x63bb10]
imul edx, dword [esp + 0x78]
mov ebp, edx
push ebp
xor eax, eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb0c]
fld dword [ebp]
fmul dword [esp + 0x10]
fmul dword [esp + 0x60]
fadd dword [0x58e330]
fstp dword [esp + 0x6c]
fld dword [esp + 0x64]
fild dword [esp + 0x58]
mov edx, dword [0x63bb10]
imul edx, dword [esp + 0x78]
mov ebp, edx
push ebp
mov eax, 1
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb0c]
fld dword [ebp]
fmul dword [esp + 0x14]
fsubp st(1)
fadd dword [0x58e2c4]
fmulp st(1)
fadd dword [0x58e3e0]
fstp dword [esp + 0x68]
mov ebx, dword [esp + 0x78]
mov eax, ebx
mov ecx, 0xa
cdq
idiv ecx
mov ebx, edx
and ebx, ebx
jne 0x40da48
mov ebx, dword [esp + 0x78]
and ebx, ebx
jne 0x40d9fd
push 0xffffff
mov ebx, dword [0x63b7b8]
inc ebx
push ebx
fld dword [esp + 0x70]
fadd dword [0x58e314]
push eax
fistp dword [esp]
fld dword [esp + 0x78]
push eax
fistp dword [esp]
call fcn.004acaae
push dword [0x63b860]
push dword [0x63b7b8]
fld dword [esp + 0x70]
fadd dword [0x58e314]
push eax
fistp dword [esp]
fld dword [esp + 0x78]
push eax
fistp dword [esp]
call fcn.004acaae
jmp 0x40da46
push 0xffffff
mov ebx, dword [0x63b7b8]
inc ebx
push ebx
fld dword [esp + 0x70]
fadd dword [0x58e314]
push eax
fistp dword [esp]
fld dword [esp + 0x78]
push eax
fistp dword [esp]
call fcn.004acaae
push dword [0x63b860]
push dword [0x63b7b8]
fld dword [esp + 0x70]
push eax
fistp dword [esp]
fld dword [esp + 0x78]
push eax
fistp dword [esp]
call fcn.004acaae
jmp 0x40da91
push 0xffffff
mov ebx, dword [0x63b7b8]
inc ebx
push ebx
fld dword [esp + 0x70]
fadd dword [0x58e314]
push eax
fistp dword [esp]
fld dword [esp + 0x78]
push eax
fistp dword [esp]
call fcn.004acaae
push dword [0x63b5a4]
push dword [0x63b7b8]
fld dword [esp + 0x70]
push eax
fistp dword [esp]
fld dword [esp + 0x78]
push eax
fistp dword [esp]
call fcn.004acaae
fld dword [esp + 0x6c]
fstp dword [esp + 0x7c]
fld dword [esp + 0x68]
fstp dword [esp + 0x80]
add dword [esp + 0x78], 5
jno 0x40d90a
mov edx, dword [0x63bb10]
imul edx, dword [esp + 0x24]
mov ebp, edx
push ebp
xor eax, eax
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb0c]
fld dword [ebp]
fmul dword [esp + 0x10]
fmul dword [esp + 0x60]
fadd dword [0x58e330]
fstp dword [esp + 0x6c]
fld dword [esp + 0x64]
fild dword [esp + 0x58]
mov edx, dword [0x63bb10]
imul edx, dword [esp + 0x24]
mov ebp, edx
push ebp
mov eax, 1
pop ebp
add ebp, eax
shl ebp, 2
add ebp, dword [0x63bb0c]
fld dword [ebp]
fmul dword [esp + 0x14]
fsubp st(1)
fadd dword [0x58e2c4]
fmulp st(1)
fadd dword [0x58e3e0]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
push eax
fistp dword [esp]
fld dword [esp + 0x70]
push eax
fistp dword [esp]
call fcn.00481447
mov dword [esp + 0x48], eax
push 0
call fcn.004ac275
mov edx, str.Max._Range
lea ecx, [esp + 0x30]
call fcn.0049c008
push edx
call fcn.004c0b20
pop edx
push eax
push edx
call fcn.004c0b20
pop edx
push eax
fld dword [esp + 0x28]
fmul dword [esp + 0x18]
sub esp, 8
fistp qword [esp]
call fcn.004be120
mov edx, 0x57e6fa
push edx
call fcn.004c0bf0
mov edx, dword [esp + 0x1c]
push edx
call fcn.004c0bf0
lea eax, [esp + 0x30]
push eax
call fcn.004c0b60
push edx
call fcn.004c0b20
pop edx
push eax
mov edx, 0x58dc32
push edx
call fcn.004c0bf0
push edx
call fcn.004c0b20
pop edx
push eax
push edx
call fcn.004c0b20
pop edx
push eax
mov eax, dword [esp + 0x30]
cdq
push edx
push eax
call fcn.004be120
pop eax
mov edx, 0x57f97e
push edx
call fcn.004c0bf0
lea eax, [esp + 0x2c]
push eax
call fcn.004c0b60
push dword [esp + 0x30]
call fcn.004ac939
mov dword [esp + 0x84], eax
push dword [esp + 0x2c]
call fcn.004ac939
mov ebx, eax
cmp ebx, dword [esp + 0x84]
jle 0x40dc0e
push dword [esp + 0x2c]
call fcn.004ac939
mov dword [esp + 0x84], eax
push dword [esp + 0x28]
call fcn.004ac939
mov ebx, eax
cmp ebx, dword [esp + 0x84]
jle 0x40dc32
push dword [esp + 0x28]
call fcn.004ac939
mov dword [esp + 0x84], eax
push dword [esp + 0x48]
fld dword [esp + 0x6c]
push eax
fistp dword [esp]
fld dword [esp + 0x74]
fisub dword [esp + 0x8c]
fadd dword [0x58e2c4]
push eax
fistp dword [esp]
fld dword [esp + 0x74]
push eax
fistp dword [esp]
fld dword [esp + 0x7c]
push eax
fistp dword [esp]
call fcn.004aca59
fld dword [esp + 0x68]
sub esp, 8
fstp qword [esp]
push dword [esp + 0x38]
call fcn.004aca19
fld qword [esp]
add esp, 8
mov dword [esp - 4], eax
fisub dword [esp - 4]
fadd dword [0x58e2c4]
fstp dword [esp + 0x68]
fld dword [esp + 0x6c]
fadd dword [0x58e3f4]
fstp dword [esp + 0x6c]
push 0xe0e0e0
push 8
push 8
push dword [esp + 0x3c]
call fcn.004aca19
mov ebx, eax
imul ebx, ebx, 3
add ebx, 0xa
push ebx
mov ebx, dword [esp + 0x94]
add ebx, 0xa
push ebx
fld dword [esp + 0x7c]
fiadd dword [esp + 0x18]
sub esp, 8
fstp qword [esp]
push dword [esp + 0x4c]
call fcn.004aca19
fld qword [esp]
add esp, 8
mov dword [esp - 4], eax
fisub dword [esp - 4]
fadd dword [0x58e3d4]
push eax
fistp dword [esp]
fld dword [esp + 0x84]
fisub dword [esp + 0x9c]
fadd dword [0x58e2c8]
push eax
fistp dword [esp]
call fcn.004acb10
push 0xedf7ea
push 8
push 8
push dword [esp + 0x3c]
call fcn.004aca19
mov ebx, eax
imul ebx, ebx, 3
add ebx, 0xa
push ebx
mov ebx, dword [esp + 0x94]
add ebx, 0xa
push ebx
fld dword [esp + 0x7c]
fiadd dword [esp + 0x18]
sub esp, 8
fstp qword [esp]
push dword [esp + 0x4c]
call fcn.004aca19
fld qword [esp]
add esp, 8
mov dword [esp - 4], eax
fisub dword [esp - 4]
fadd dword [0x58e3c0]
push eax
fistp dword [esp]
fld dword [esp + 0x84]
fisub dword [esp + 0x9c]
fadd dword [0x58e2c4]
push eax
fistp dword [esp]
call fcn.004acb10
push 4
call fcn.004ac275
push dword [esp + 0x48]
push 8
push 8
push dword [esp + 0x3c]
call fcn.004aca19
mov ebx, eax
imul ebx, ebx, 3
add ebx, 0xa
push ebx
mov ebx, dword [esp + 0x94]
add ebx, 0xa
push ebx
fld dword [esp + 0x7c]
fiadd dword [esp + 0x18]
sub esp, 8
fstp qword [esp]
push dword [esp + 0x4c]
call fcn.004aca19
fld qword [esp]
add esp, 8
mov dword [esp - 4], eax
fisub dword [esp - 4]
fadd dword [0x58e3c0]
push eax
fistp dword [esp]
fld dword [esp + 0x84]
fisub dword [esp + 0x9c]
fadd dword [0x58e2c4]
push eax
fistp dword [esp]
call fcn.004acb10
push 1
call fcn.004ac275
push 0x7000
push dword [esp + 0x34]
fld dword [esp + 0x70]
fiadd dword [esp + 8]
fiadd dword [esp + 0xc]
fadd dword [0x58e3f8]
push eax
fistp dword [esp]
mov ebx, dword [esp + 0xc]
mov dword [esp - 4], ebx
fild dword [esp - 4]
fadd dword [esp + 0x78]
fisub dword [esp + 0x90]
fild dword [esp + 0x90]
sub esp, 0x10
fstp qword [esp]
fstp qword [esp + 8]
push dword [esp + 0x4c]
call fcn.004ac939
fld qword [esp + 8]
fld qword [esp]
add esp, 0x10
mov dword [esp - 4], eax
fisub dword [esp - 4]
fadd dword [0x58e318]
fdiv dword [0x58e2b0]
faddp st(1)
fadd dword [0x58e2c8]
push eax
fistp dword [esp]
call fcn.004ac950
fld dword [esp + 0x68]
sub esp, 8
fstp qword [esp]
push dword [esp + 0x38]
call fcn.004aca19
fld qword [esp]
add esp, 8
mov dword [esp - 4], eax
fiadd dword [esp - 4]
fadd dword [0x58e2c4]
fstp dword [esp + 0x68]
push 0x7000
push dword [esp + 0x30]
fld dword [esp + 0x70]
fiadd dword [esp + 8]
fiadd dword [esp + 0xc]
fadd dword [0x58e3f8]
push eax
fistp dword [esp]
mov ebx, dword [esp + 0xc]
mov dword [esp - 4], ebx
fild dword [esp - 4]
fadd dword [esp + 0x78]
fisub dword [esp + 0x90]
fild dword [esp + 0x90]
sub esp, 0x10
fstp qword [esp]
fstp qword [esp + 8]
push dword [esp + 0x48]
call fcn.004ac939
fld qword [esp + 8]
fld qword [esp]
add esp, 0x10
mov dword [esp - 4], eax
fisub dword [esp - 4]
fadd dword [0x58e318]
fdiv dword [0x58e2b0]
faddp st(1)
fadd dword [0x58e2c8]
push eax
fistp dword [esp]
call fcn.004ac950
fld dword [esp + 0x68]
sub esp, 8
fstp qword [esp]
push dword [esp + 0x38]
call fcn.004aca19
fld qword [esp]
add esp, 8
mov dword [esp - 4], eax
fiadd dword [esp - 4]
fadd dword [0x58e2c4]
fstp dword [esp + 0x68]
push 0x7000
push dword [esp + 0x2c]
fld dword [esp + 0x70]
fiadd dword [esp + 8]
fiadd dword [esp + 0xc]
fadd dword [0x58e3f8]
push eax
fistp dword [esp]
mov ebx, dword [esp + 0xc]
mov dword [esp - 4], ebx
fild dword [esp - 4]
fadd dword [esp + 0x78]
fisub dword [esp + 0x90]
fild dword [esp + 0x90]
sub esp, 0x10
fstp qword [esp]
fstp qword [esp + 8]
push dword [esp + 0x44]
call fcn.004ac939
fld qword [esp + 8]
fld qword [esp]
add esp, 0x10
mov dword [esp - 4], eax
fisub dword [esp - 4]
fadd dword [0x58e318]
fdiv dword [0x58e2b0]
faddp st(1)
fadd dword [0x58e2c8]
push eax
fistp dword [esp]
call fcn.004ac950
call fcn.004ac35d
xor eax, eax
push dword [esp + 0x1c]
call fcn.004c0d20
push dword [esp + 0x30]
call fcn.004c0d20
push dword [esp + 0x18]
call fcn.004c0d20
push dword [esp + 0x2c]
call fcn.004c0d20
push dword [esp + 0x74]
call fcn.004c0d20
push dword [esp + 0x28]
call fcn.004c0d20
push dword [esp + 0x34]
call fcn.004c0d20
add esp, 0x88
pop ebx
pop ebp
ret