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

Disassembly:
sub esp, 0x54
push esi
mov esi, dword [0x49e880]
push edi
xor eax, eax
mov edi, ecx
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov edx, dword [ecx + 0x18]
push 0xef97a8
mov dword [esp + 0x38], edx
mov edx, dword [ecx + 0x20]
push esi
push eax
mov dword [esp + 0x44], edx
mov edx, dword [ecx]
push eax
call dword [edx + 0x60]
mov ecx, dword [edi + 8]
mov eax, dword [ecx]
lea edx, [esp + 0x2c]
push edx
mov edx, dword [edi + 0xc]
push edx
mov edx, dword [0xef97ac]
push edx
mov edx, dword [0xef97a8]
push edx
call dword [eax + 0x60]
call dword [0x47a238]
cmp eax, dword [edi + 0x1c]
jbe case.default.0x405f89
mov eax, dword [edi + 4]
dec eax
cmp eax, 0x14
ja case.default.0x405f89
movzx eax, byte [eax + 0x406ff4]
push ebx
push ebp
jmp dword [eax*4 + 0x406fc0]
mov dword [esp + 0x10], 0xa
call fcn.00434b02
cdq
mov ecx, 0x320
idiv ecx
mov ebp, edx
call fcn.00434b02
cdq
mov ecx, 0x226
idiv ecx
lea eax, [ebp + 1]
lea ecx, [esp + 0x24]
mov ebx, edx
sub ebx, 0x32
lea edx, [ebx + 0x78]
push edx
push eax
push ebx
push ebp
push ecx
call dword [0x47a208]
mov edx, dword [esi]
lea eax, [esp + 0x24]
push eax
push 0xffbb9999
mov ecx, esi
call dword [edx + 0x34]
mov ecx, dword [edi + 8]
mov edx, dword [esi]
push 0x7d
lea eax, [esp + 0x28]
push eax
push ecx
push ebx
push ebp
mov ecx, esi
call dword [edx + 0x88]
dec dword [esp + 0x10]
jne 0x405f98
call dword [0x47a238]
lea edx, [esp + 0x44]
push edx
add eax, 0xa
mov dword [edi + 0x1c], eax
xor eax, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov ecx, 0x4ae0d8
mov dword [esp + 0x50], 0x320
mov dword [esp + 0x54], 0x258
call fcn.00407b60
pop ebp
pop ebx
pop edi
pop esi
add esp, 0x54
ret
mov dword [esp + 0x18], 0xa
call fcn.00434b02
cdq
mov ecx, 0x320
idiv ecx
mov ebp, edx
call fcn.00434b02
cdq
mov ecx, 0x226
idiv ecx
lea ecx, [ebp + 1]
mov ebx, edx
sub ebx, 0x32
lea eax, [ebx + 0x14]
push eax
push ecx
push ebx
push ebp
lea edx, [esp + 0x34]
push edx
mov dword [esp + 0x24], eax
call dword [0x47a208]
mov eax, dword [esi]
lea ecx, [esp + 0x24]
push ecx
push 0xffbb9999
mov ecx, esi
call dword [eax + 0x34]
mov ecx, dword [edi + 8]
mov edx, dword [esi]
push 0x7d
lea eax, [esp + 0x28]
push eax
push ecx
push ebx
push ebp
mov ecx, esi
call dword [edx + 0x88]
mov edx, dword [esp + 0x10]
lea eax, [ebx + 0x28]
push eax
lea ecx, [ebp + 2]
push ecx
mov dword [esp + 0x1c], eax
push edx
lea eax, [ebp + 1]
push eax
lea eax, [esp + 0x34]
push eax
call dword [0x47a208]
mov edx, dword [esi]
lea eax, [esp + 0x24]
push eax
push 0xffbb9999
mov ecx, esi
call dword [edx + 0x34]
mov ecx, dword [edi + 8]
mov edx, dword [esi]
push 0x7d
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x18]
push ecx
push eax
lea eax, [ebp + 1]
push eax
mov ecx, esi
call dword [edx + 0x88]
lea eax, [ebx + 0x3c]
push eax
lea ecx, [ebp + 3]
push ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
push ecx
lea eax, [ebp + 2]
push eax
lea edx, [esp + 0x34]
push edx
call dword [0x47a208]
mov eax, dword [esi]
lea ecx, [esp + 0x24]
push ecx
push 0xffbb9999
mov ecx, esi
call dword [eax + 0x34]
mov ecx, dword [edi + 8]
mov edx, dword [esi]
push 0x7d
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x1c]
push ecx
push eax
lea eax, [ebp + 2]
push eax
mov ecx, esi
call dword [edx + 0x88]
lea eax, [ebx + 0x50]
push eax
lea ecx, [ebp + 4]
push ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
push ecx
lea eax, [ebp + 3]
push eax
lea edx, [esp + 0x34]
push edx
call dword [0x47a208]
mov eax, dword [esi]
lea ecx, [esp + 0x24]
push ecx
push 0xffbb9999
mov ecx, esi
call dword [eax + 0x34]
mov ecx, dword [edi + 8]
mov edx, dword [esi]
push 0x7d
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x18]
push ecx
push eax
lea eax, [ebp + 3]
push eax
mov ecx, esi
call dword [edx + 0x88]
lea eax, [ebx + 0x64]
push eax
lea ecx, [ebp + 5]
push ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
push ecx
lea eax, [ebp + 4]
push eax
lea edx, [esp + 0x34]
push edx
call dword [0x47a208]
mov eax, dword [esi]
lea ecx, [esp + 0x24]
push ecx
push 0xffbb9999
mov ecx, esi
call dword [eax + 0x34]
mov ecx, dword [edi + 8]
mov edx, dword [esi]
push 0x7d
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x1c]
push ecx
push eax
lea eax, [ebp + 4]
push eax
mov ecx, esi
call dword [edx + 0x88]
add ebx, 0x78
push ebx
add ebp, 6
push ebp
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x24]
push ebx
push ebp
lea ecx, [esp + 0x34]
push ecx
call dword [0x47a208]
mov edx, dword [esi]
lea eax, [esp + 0x24]
push eax
push 0xffbb9999
mov ecx, esi
call dword [edx + 0x34]
mov ecx, dword [edi + 8]
mov edx, dword [esi]
push 0x7d
lea eax, [esp + 0x28]
push eax
push ecx
push ebx
push ebp
mov ecx, esi
call dword [edx + 0x88]
dec dword [esp + 0x18]
jne 0x406041
jmp 0x405ffc
mov dword [esp + 0x10], 0xa
nop
call fcn.00434b02
cdq
mov ecx, 0x320
idiv ecx
mov ebp, edx
call fcn.00434b02
cdq
mov ecx, 0x226
idiv ecx
lea ecx, [ebp + 5]
mov ebx, edx
sub ebx, 0x32
lea eax, [ebx + 0x14]
push eax
lea edx, [ebp + 6]
push edx
push ebx
mov dword [esp + 0x24], eax
push ecx
lea eax, [esp + 0x34]
push eax
call dword [0x47a208]
mov edx, dword [esi]
lea eax, [esp + 0x24]
push eax
push 0xffbb9999
mov ecx, esi
call dword [edx + 0x34]
mov ecx, dword [edi + 8]
mov edx, dword [esi]
push 0x7d
lea eax, [esp + 0x28]
push eax
push ecx
push ebx
lea eax, [ebp + 5]
push eax
mov ecx, esi
call dword [edx + 0x88]
mov edx, dword [esp + 0x18]
lea eax, [ebx + 0x28]
push eax
mov dword [esp + 0x18], eax
lea eax, [ebp + 5]
push eax
push edx
lea ecx, [ebp + 4]
push ecx
lea eax, [esp + 0x34]
push eax
call dword [0x47a208]
mov edx, dword [esi]
lea eax, [esp + 0x24]
push eax
push 0xffbb9999
mov ecx, esi
call dword [edx + 0x34]
mov ecx, dword [edi + 8]
mov edx, dword [esi]
push 0x7d
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x20]
push ecx
push eax
lea eax, [ebp + 4]
push eax
mov ecx, esi
call dword [edx + 0x88]
mov edx, dword [esp + 0x14]
lea eax, [ebx + 0x3c]
push eax
mov dword [esp + 0x1c], eax
lea eax, [ebp + 4]
push eax
push edx
lea ecx, [ebp + 3]
push ecx
lea eax, [esp + 0x34]
push eax
call dword [0x47a208]
mov edx, dword [esi]
lea eax, [esp + 0x24]
push eax
push 0xffbb9999
mov ecx, esi
call dword [edx + 0x34]
mov ecx, dword [edi + 8]
mov edx, dword [esi]
push 0x7d
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x1c]
push ecx
push eax
lea eax, [ebp + 3]
push eax
mov ecx, esi
call dword [edx + 0x88]
mov edx, dword [esp + 0x18]
lea eax, [ebx + 0x50]
push eax
mov dword [esp + 0x18], eax
lea eax, [ebp + 3]
push eax
push edx
lea ecx, [ebp + 2]
push ecx
lea eax, [esp + 0x34]
push eax
call dword [0x47a208]
mov edx, dword [esi]
lea eax, [esp + 0x24]
push eax
push 0xffbb9999
mov ecx, esi
call dword [edx + 0x34]
mov ecx, dword [edi + 8]
mov edx, dword [esi]
push 0x7d
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x20]
push ecx
push eax
lea eax, [ebp + 2]
push eax
mov ecx, esi
call dword [edx + 0x88]
mov edx, dword [esp + 0x14]
lea eax, [ebx + 0x64]
push eax
mov dword [esp + 0x20], eax
lea eax, [ebp + 2]
push eax
push edx
lea ecx, [ebp + 1]
push ecx
lea eax, [esp + 0x34]
push eax
call dword [0x47a208]
mov edx, dword [esi]
lea eax, [esp + 0x24]
push eax
push 0xffbb9999
mov ecx, esi
call dword [edx + 0x34]
mov ecx, dword [edi + 8]
mov edx, dword [esi]
push 0x7d
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x1c]
push ecx
push eax
lea eax, [ebp + 1]
push eax
mov ecx, esi
call dword [edx + 0x88]
add ebx, 0x78
push ebx
lea eax, [ebp + 1]
mov ebx, dword [esp + 0x20]
push eax
push ebx
push ebp
lea ecx, [esp + 0x34]
push ecx
call dword [0x47a208]
mov edx, dword [esi]
lea eax, [esp + 0x24]
push eax
push 0xffbb9999
mov ecx, esi
call dword [edx + 0x34]
mov ecx, dword [edi + 8]
mov edx, dword [esi]
push 0x7d
lea eax, [esp + 0x28]
push eax
push ecx
push ebx
push ebp
mov ecx, esi
call dword [edx + 0x88]
dec dword [esp + 0x10]
jne 0x406240
jmp 0x405ffc
mov dword [esp + 0x18], 0x64
lea esp, [esp]
call fcn.00434b02
cdq
mov ecx, 0x320
idiv ecx
mov ebp, edx
mov dword [esp + 0x1c], ebp
call fcn.00434b02
cdq
mov ecx, 0x226
idiv ecx
mov ebx, edx
sub ebx, 0x32
call fcn.00434b02
and eax, 0x7f
lea edx, [eax + ebx + 0x28]
push edx
lea eax, [ebp + 1]
push eax
push ebx
push ebp
lea ecx, [esp + 0x34]
push ecx
call dword [0x47a208]
mov edx, dword [esi]
lea eax, [esp + 0x24]
push eax
push 0xff999999
mov ecx, esi
call dword [edx + 0x34]
mov ebp, dword [esi]
call fcn.00434b02
mov edx, dword [edi + 8]
and al, 0x7f
add al, 0x64
lea ecx, [esp + 0x24]
push eax
mov eax, dword [esp + 0x20]
push ecx
push edx
push ebx
push eax
mov ecx, esi
call dword [ebp + 0x88]
dec dword [esp + 0x18]
jne 0x406440
call dword [0x47a238]
lea ecx, [esp + 0x44]
push ecx
jmp 0x406007
mov dword [esp + 0x14], 0x64
call fcn.00434b02
cdq
mov ecx, 0x320
idiv ecx
mov ebx, edx
call fcn.00434b02
cdq
mov ecx, 0x226
idiv ecx
mov ebp, edx
sub ebp, 0x32
call fcn.00434b02
mov ecx, eax
and ecx, 0x7f
add ecx, 0x28
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [esp + 0x18], edx
call fcn.00434b02
and al, 0x7f
add al, 0x64
mov byte [esp + 0x1c], al
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x40658e
mov ecx, eax
mov dword [esp + 0x18], ecx
lea eax, [ebp + 0x14]
push eax
lea ecx, [ebx + 1]
push ecx
push ebp
push ebx
lea edx, [esp + 0x34]
push edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], ecx
call dword [0x47a208]
mov eax, dword [esi]
lea ecx, [esp + 0x24]
push ecx
push 0xff999999
mov ecx, esi
call dword [eax + 0x34]
mov eax, dword [esp + 0x1c]
mov edx, dword [esi]
push eax
mov eax, dword [edi + 8]
lea ecx, [esp + 0x28]
push ecx
push eax
push ebp
push ebx
mov ecx, esi
call dword [edx + 0x88]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x20]
dec eax
mov dword [esp + 0x18], eax
jne 0x406533
dec dword [esp + 0x14]
jne 0x4064d5
call dword [0x47a238]
lea ecx, [esp + 0x44]
push ecx
jmp 0x406007
mov dword [esp + 0x14], 0x64
call fcn.00434b02
cdq
mov ecx, 0x320
idiv ecx
mov ebx, edx
call fcn.00434b02
cdq
mov ecx, 0x226
idiv ecx
mov ebp, edx
sub ebp, 0x32
call fcn.00434b02
mov ecx, eax
and ecx, 0x7f
add ecx, 0x28
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [esp + 0x18], edx
call fcn.00434b02
and al, 0x7f
add al, 0x64
mov byte [esp + 0x20], al
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x406669
lea ecx, [eax + eax*4]
lea ebp, [ebp + ecx*4]
mov dword [esp + 0x18], eax
lea edx, [ebp + 0x14]
push edx
lea eax, [ebx + 1]
push eax
push ebp
mov dword [esp + 0x28], eax
push ebx
lea eax, [esp + 0x34]
push eax
call dword [0x47a208]
mov edx, dword [esi]
lea eax, [esp + 0x24]
push eax
push 0xff999999
mov ecx, esi
call dword [edx + 0x34]
mov eax, dword [esp + 0x20]
mov edx, dword [esi]
push eax
mov eax, dword [edi + 8]
lea ecx, [esp + 0x28]
push ecx
push eax
push ebp
push ebx
mov ecx, esi
call dword [edx + 0x88]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
sub ebp, 0x14
dec eax
mov dword [esp + 0x18], eax
jne 0x406613
dec dword [esp + 0x14]
jne 0x4065b0
push 0x258
push 0x320
xor ebx, ebx
push ebx
push ebx
lea ecx, [esp + 0x34]
push ecx
call dword [0x47a208]
mov eax, dword [edi + 0x3428]
mov edx, dword [esi]
push ebx
push ebx
push eax
mov eax, dword [edi + 8]
lea ecx, [esp + 0x30]
push ecx
push eax
push ebx
push ebx
mov ecx, esi
call dword [edx + 0x94]
call dword [0x47a238]
add eax, 0xa
lea ecx, [esp + 0x44]
mov dword [edi + 0x1c], eax
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
push ecx
jmp 0x406017
mov dword [esp + 0x10], 0x1e
call fcn.00434b02
cdq
mov ecx, 0x320
idiv ecx
mov dword [esp + 0x20], edx
call fcn.00434b02
cdq
mov ecx, 0x226
idiv ecx
mov ebp, edx
sub ebp, 0x32
call fcn.00434b02
mov ebx, eax
and ebx, 0x2f
add ebx, 0x14
mov dword [esp + 0x14], ebx
call fcn.00434b02
and al, 0x7f
add al, 0x3c
test ebx, ebx
mov byte [esp + 0x1c], al
mov dword [esp + 0x18], 0
jle 0x4067a9
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x20]
add ebp, edx
jmp 0x406730
lea eax, [ebp + 1]
push eax
lea ecx, [ebx + 1]
push ecx
push ebp
push ebx
lea edx, [esp + 0x34]
push edx
call dword [0x47a208]
mov eax, dword [esi]
lea ecx, [esp + 0x24]
push ecx
push 0xff999999
mov ecx, esi
call dword [eax + 0x34]
mov eax, dword [esp + 0x1c]
mov edx, dword [esi]
push eax
mov eax, dword [edi + 8]
lea ecx, [esp + 0x28]
push ecx
push eax
push ebp
push ebx
mov ecx, esi
call dword [edx + 0x88]
mov eax, dword [edi + 0x3428]
mov edx, dword [esi]
push ebp
push ebx
push eax
mov eax, dword [edi + 8]
lea ecx, [esp + 0x30]
push ecx
push eax
push ebp
push ebx
mov ecx, esi
call dword [edx + 0x94]
cmp ebx, 0x320
jge 0x4067a9
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
inc eax
inc ebx
dec ebp
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x406730
dec dword [esp + 0x10]
jne 0x4066d0
call dword [0x47a238]
lea ecx, [esp + 0x44]
push ecx
jmp 0x406007
lea esi, [edi + 0x24]
mov dword [esp + 0x14], 0x40
mov ebp, 1
cmp dword [esi + 0x10], ebp
jne 0x406871
fld dword [esi - 4]
call fcn.004348ec
fld dword [esi]
mov ebx, eax
mov dword [esp + 0x44], ebx
call fcn.004348ec
mov dword [esp + 0x48], eax
lea edx, [esp + 0x44]
add eax, 0x10
add ebx, 0x10
push edx
mov ecx, 0x4ae0d8
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], eax
call fcn.00407b60
fld dword [esi - 4]
fadd dword [esi + 4]
fst dword [esp + 0x18]
fstp dword [esi - 4]
fld dword [esi + 8]
fadd dword [esi]
fst dword [esi]
fcomp dword [0x47a578]
fnstsw ax
test ah, 1
je 0x406865
fld dword [esp + 0x18]
fcomp dword [0x47a574]
fnstsw ax
test ah, 1
je 0x406865
fld dword [esp + 0x18]
fcomp dword [0x47a570]
fnstsw ax
test ah, 5
jp 0x4068f6
mov dword [esi + 4], 0x3dcccccd
jmp 0x4068f6
mov dword [esi + 0x10], 0
jmp 0x4068f6
call fcn.00434b02
and eax, 0xff
cmp eax, ebp
jge 0x4068f6
mov eax, dword [edi + 0x3420]
test eax, eax
jne 0x4068f6
call fcn.00434b02
cdq
mov ecx, 0x320
idiv ecx
mov dword [esi], 0xc1800000
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fstp dword [esi - 4]
call fcn.00434b02
cdq
mov ecx, 0xa
idiv ecx
sub edx, 5
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x47a56c]
fstp dword [esi + 4]
call fcn.00434b02
cdq
mov ecx, 0x14
idiv ecx
mov dword [esi + 0xc], ebp
mov dword [esi + 0x10], ebp
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x47a56c]
fadd dword [0x482f88]
fstp dword [esi + 8]
mov eax, dword [esp + 0x14]
add esi, 0x18
dec eax
mov dword [esp + 0x14], eax
jne 0x4067d3
call dword [0x47a238]
pop ebp
add eax, 0x14
pop ebx
mov dword [edi + 0x1c], eax
pop edi
pop esi
add esp, 0x54
ret
lea esi, [edi + 0x24]
mov dword [esp + 0x18], 0x40
mov ebp, 1
lea esp, [esp]
cmp dword [esi + 0x10], ebp
jne 0x4069e7
fld dword [esi - 4]
call fcn.004348ec
fld dword [esi]
mov ebx, eax
mov dword [esp + 0x44], ebx
call fcn.004348ec
mov dword [esp + 0x48], eax
lea edx, [esp + 0x44]
add eax, 0x10
add ebx, 0x10
push edx
mov ecx, 0x4ae0d8
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], eax
call fcn.00407b60
fld dword [esi + 4]
fadd dword [esi - 4]
fst dword [esp + 0x10]
fstp dword [esi - 4]
fld dword [esi + 8]
fadd dword [esi]
fst dword [esp + 0x20]
fstp dword [esi]
fld dword [esp + 0x10]
fcomp dword [0x47a568]
fnstsw ax
test ah, 5
jnp 0x4069db
fld dword [esp + 0x20]
fcomp dword [0x47a578]
fnstsw ax
test ah, 1
je 0x4069db
fld dword [esp + 0x10]
fcomp dword [0x47a574]
fnstsw ax
test ah, 1
je 0x4069db
fld dword [esp + 0x10]
fcomp dword [0x482f88]
fnstsw ax
test ah, 5
jp 0x406a70
mov dword [esi + 4], 0x3dcccccd
jmp 0x406a70
mov dword [esi + 0x10], 0
jmp 0x406a70
call fcn.00434b02
and eax, 0xff
cmp eax, ebp
jge 0x406a70
mov eax, dword [edi + 0x3420]
test eax, eax
jne 0x406a70
call fcn.00434b02
cdq
mov ecx, 0x320
idiv ecx
mov dword [esi], 0xc1800000
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fstp dword [esi - 4]
call fcn.00434b02
cdq
mov ecx, 0xa
idiv ecx
sub edx, 5
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x47a56c]
fstp dword [esi + 4]
call fcn.00434b02
cdq
mov ecx, 0x14
idiv ecx
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], ebp
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x47a56c]
fadd dword [0x47a564]
fstp dword [esi + 8]
mov eax, dword [esp + 0x18]
add esi, 0x18
dec eax
mov dword [esp + 0x18], eax
jne 0x406930
call dword [0x47a238]
pop ebp
add eax, 0x14
pop ebx
mov dword [edi + 0x1c], eax
pop edi
pop esi
add esp, 0x54
ret
lea esi, [edi + 0x24]
mov ebp, 0x100
mov edi, edi
cmp dword [esi + 0x10], 1
jne 0x406b3b
fld dword [esi - 4]
call fcn.004348ec
fld dword [esi]
mov ebx, eax
mov dword [esp + 0x44], ebx
call fcn.004348ec
mov dword [esp + 0x48], eax
lea edx, [esp + 0x44]
add eax, 0x10
add ebx, 0x10
push edx
mov ecx, 0x4ae0d8
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], eax
call fcn.00407b60
fld dword [esi + 4]
fadd dword [esi - 4]
fst dword [esp + 0x18]
fstp dword [esi - 4]
fld dword [esi + 8]
fadd dword [esi]
fst dword [esp + 0x20]
fstp dword [esi]
fld dword [esp + 0x18]
fcomp dword [0x47a568]
fnstsw ax
test ah, 5
jnp 0x406b2f
fld dword [esp + 0x20]
fcomp dword [0x47a578]
fnstsw ax
test ah, 1
je 0x406b2f
fld dword [esp + 0x18]
fcomp dword [0x47a574]
fnstsw ax
test ah, 1
jne 0x406bbb
mov dword [esi + 0x10], 0
jmp 0x406bbb
call fcn.00434b02
and eax, 0xff
cmp eax, 0x20
jge 0x406bbb
mov eax, dword [edi + 0x3420]
test eax, eax
jne 0x406bbb
call fcn.00434b02
cdq
mov ecx, 0x320
idiv ecx
mov dword [esi], 0xc1800000
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fstp dword [esi - 4]
call fcn.00434b02
cdq
mov ecx, 0x1e
idiv ecx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x47a56c]
fstp dword [esi + 4]
call fcn.00434b02
cdq
mov ecx, 0x46
idiv ecx
mov dword [esi + 0x10], 1
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x47a56c]
fadd dword [0x483008]
fstp dword [esi + 8]
add esi, 0x18
dec ebp
jne 0x406aa0
call dword [0x47a238]
pop ebp
add eax, 0x14
pop ebx
mov dword [edi + 0x1c], eax
pop edi
pop esi
add esp, 0x54
ret
lea esi, [edi + 0x1824]
mov dword [esp + 0x14], 0x40
mov ebp, 1
lea esp, [esp]
cmp dword [esi + 0x14], ebp
jne 0x406cde
mov eax, dword [esi + 0x10]
fld dword [esi - 4]
cmp eax, ebp
jne 0x406c3d
call fcn.004348ec
fld dword [esi]
mov ebx, eax
mov dword [esp + 0x44], ebx
call fcn.004348ec
mov dword [esp + 0x48], eax
lea edx, [esp + 0x44]
add ebx, 0x10
add eax, 0x10
push edx
mov ecx, 0x4ae0d8
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], eax
call fcn.00407b60
mov ecx, 0x70
jmp 0x406c75
call fcn.004348ec
fld dword [esi]
mov ebx, eax
mov dword [esp + 0x54], ebx
call fcn.004348ec
mov dword [esp + 0x58], eax
lea edx, [esp + 0x54]
add ebx, 0x18
add eax, 0x18
push edx
mov ecx, 0x4ae0d8
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], eax
call fcn.00407b60
mov ecx, 0x1c
mov eax, dword [esi + 0xc]
fld dword [esi + 4]
fadd dword [esi - 4]
inc eax
cdq
idiv ecx
fst dword [esp + 0x18]
fstp dword [esi - 4]
fld dword [esi + 8]
fadd dword [esi]
fst dword [esi]
fcomp dword [0x47a578]
fnstsw ax
test ah, 1
mov dword [esi + 0xc], edx
je 0x406cd2
fld dword [esp + 0x18]
fcomp dword [0x47a574]
fnstsw ax
test ah, 1
je 0x406cd2
fld dword [esp + 0x18]
fcomp dword [0x482f88]
fnstsw ax
test ah, 5
jp 0x406dce
mov dword [esi + 4], 0x3dcccccd
jmp 0x406dce
mov dword [esi + 0x14], 0
jmp 0x406dce
call fcn.00434b02
and eax, 0xff
cmp eax, ebp
jge 0x406dce
mov eax, dword [edi + 0x3420]
test eax, eax
jne 0x406dce
call fcn.00434b02
cdq
mov ecx, 0x320
idiv ecx
mov dword [esi], 0xc1800000
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fstp dword [esi - 4]
call fcn.00434b02
cdq
mov ecx, 0x32
idiv ecx
sub edx, 0x19
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x47a56c]
fstp dword [esi + 4]
call fcn.00434b02
cdq
mov ecx, 0x14
idiv ecx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x47a56c]
fadd dword [0x47a560]
fstp dword [esi + 8]
call fcn.00434b02
cdq
mov ecx, 0xe
idiv ecx
mov dword [esi + 0xc], edx
call fcn.00434b02
test al, 3
jne 0x406dc4
mov dword [esi + 0x10], ebp
call fcn.00434b02
cdq
mov ecx, 6
idiv ecx
sub edx, 3
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x47a56c]
fstp dword [esi + 4]
call fcn.00434b02
cdq
mov ecx, 0xa
idiv ecx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x47a56c]
fadd dword [0x482f88]
fstp dword [esi + 8]
jmp 0x406dcb
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], ebp
mov eax, dword [esp + 0x14]
add esi, 0x1c
dec eax
mov dword [esp + 0x14], eax
jne 0x406bf0
call dword [0x47a238]
pop ebp
add eax, 0x10
pop ebx
mov dword [edi + 0x1c], eax
pop edi
pop esi
add esp, 0x54
ret
lea esi, [edi + 0x1824]
mov dword [esp + 0x14], 0x100
mov ebp, 1
cmp dword [esi + 0x14], ebp
jne 0x406ee2
mov eax, dword [esi + 0x10]
fld dword [esi - 4]
cmp eax, ebp
jne 0x406e45
call fcn.004348ec
fld dword [esi]
mov ebx, eax
mov dword [esp + 0x54], ebx
call fcn.004348ec
add ebx, 0x10
mov dword [esp + 0x58], eax
add eax, 0x10
lea edx, [esp + 0x54]
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], eax
push edx
jmp 0x406e6e
call fcn.004348ec
fld dword [esi]
mov ebx, eax
mov dword [esp + 0x44], ebx
call fcn.004348ec
mov dword [esp + 0x48], eax
add ebx, 0x18
add eax, 0x18
mov dword [esp + 0x50], eax
lea eax, [esp + 0x44]
mov dword [esp + 0x4c], ebx
push eax
mov ecx, 0x4ae0d8
call fcn.00407b60
fld dword [esi + 4]
fadd dword [esi - 4]
fst dword [esp + 0x18]
fstp dword [esi - 4]
fld dword [esi + 8]
fadd dword [esi]
fst dword [esi]
fcomp dword [0x47a578]
fnstsw ax
test ah, 1
je 0x406ed6
fld dword [esp + 0x18]
fcomp dword [0x47a574]
fnstsw ax
test ah, 1
je 0x406ed6
fld dword [esp + 0x18]
fcomp dword [0x47a570]
fnstsw ax
test ah, 5
jp 0x406ec2
mov dword [esi + 4], 0x3dcccccd
mov eax, dword [esi + 0xc]
inc eax
cdq
mov ecx, 0xe
idiv ecx
mov dword [esi + 0xc], edx
jmp 0x406f9a
mov dword [esi + 0x14], 0
jmp 0x406f9a
call fcn.00434b02
and eax, 0xff
cmp eax, 0x10
jge 0x406f9a
mov eax, dword [edi + 0x3420]
test eax, eax
jne 0x406f9a
call fcn.00434b02
cdq
mov ecx, 0x320
idiv ecx
mov dword [esi], 0xc1800000
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fstp dword [esi - 4]
call fcn.00434b02
cdq
mov ecx, 0x1e
idiv ecx
sub edx, 0xf
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x47a56c]
fstp dword [esi + 4]
call fcn.00434b02
cdq
mov ecx, 0x1e
idiv ecx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [0x47a56c]
fadd dword [0x47a55c]
fstp dword [esi + 8]
call fcn.00434b02
cdq
mov ecx, 0xe
idiv ecx
mov dword [esi + 0xc], edx
call fcn.00434b02
test al, 3
jne 0x406f90
fld dword [esi + 8]
mov dword [esi + 0x10], ebp
fadd dword [0x482f88]
fstp dword [esi + 8]
jmp 0x406f97
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], ebp
mov eax, dword [esp + 0x14]
add esi, 0x1c
dec eax
mov dword [esp + 0x14], eax
jne 0x406e07
call dword [0x47a238]
add eax, 0x10
mov dword [edi + 0x1c], eax
pop ebp
pop ebx
pop edi
pop esi
add esp, 0x54
ret