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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x530966
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x68
fld dword [0x54fb38]
push ebx
push esi
push edi
mov edi, ecx
fld dword [edi + 0x24]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x41ef60
mov eax, dword [edi + 0x6c]
test eax, eax
je 0x41d587
fld dword [edi + 0x80]
fcomp dword [0x54fb38]
fnstsw ax
test ah, 0x41
jnp 0x41ef60
mov eax, dword [edi + 0x68]
test eax, eax
jne 0x41ef60
mov eax, dword [edi + 0x178]
mov ecx, dword [eax + 0x24]
test ecx, ecx
mov dword [esp + 0x24], 0
jle 0x41ef60
mov eax, dword [edi + 0x178]
mov esi, dword [esp + 0x24]
add eax, 0x1c
test esi, esi
jl 0x41ef9a
cmp esi, dword [eax + 8]
jge 0x41ef9a
mov eax, dword [eax + 4]
lea ebx, [esi*4]
mov ecx, dword [eax + ebx]
add eax, ebx
mov eax, dword [edi + 0x16c]
cmp esi, eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x20], ecx
jge 0x41d61a
cmp esi, eax
jge 0x41ef9a
mov eax, dword [edi + 0x168]
fld dword [ebp + 8]
mov ecx, dword [eax + ebx]
fadd dword [ecx + 4]
add eax, ebx
fst dword [ecx + 4]
fcomp dword [0x54fb38]
fnstsw ax
test ah, 5
jp 0x41d61a
mov dword [ecx + 4], 0
mov eax, dword [edi + 0x140]
test eax, eax
jne 0x41d67f
mov edx, dword [esp + 0x20]
fld dword [edx + 0x38]
fmul dword [0x550ed0]
call fcn.004eaa58
mov ecx, 1
sub ecx, eax
push ecx
call fcn.0049bcb0
mov ecx, dword [edi + 0x178]
movzx edx, ax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x48], edx
add esp, 4
fild dword [esp + 0x44]
fmul dword [0x550234]
fld dword [eax + 0x38]
fmul dword [0x54fb3c]
fsubp st(1)
fstp dword [edi + 0x20]
mov eax, dword [ecx + 0x24]
lea edx, [eax + eax*4]
shl edx, 1
mov dword [edi + 0x140], edx
jmp 0x41d686
dec eax
mov dword [edi + 0x140], eax
mov eax, dword [esp + 0x20]
fld dword [eax + 0x14]
fadd dword [edi + 0x20]
fcom dword [0x54fb38]
fnstsw ax
test ah, 5
jp 0x41d6a5
fstp st(0)
fld dword [0x54fb38]
mov eax, dword [edi + 0x6c]
fmul dword [edi + 0x1b8]
test eax, eax
je 0x41d6b8
fmul dword [edi + 0xb8]
fld dword [0x54fb38]
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jp 0x41d6ec
mov eax, dword [edi + 0x16c]
cmp esi, eax
jge 0x41d6ec
cmp esi, eax
jge 0x41ef98
mov eax, dword [edi + 0x168]
add eax, ebx
mov eax, dword [eax]
mov dword [eax + 4], 0
mov eax, dword [edi + 0x1fc]
dec eax
mov dword [esp + 0x10], 0
je 0x41d777
dec eax
je 0x41d746
dec eax
jne 0x41d819
fld dword [edi + 0x1e0]
mov eax, dword [edi + 0x218]
test eax, eax
fmul dword [edi + 0x1dc]
fmul qword [0x550ec8]
fstp dword [esp + 0x10]
jne 0x41d730
fmul dword [esp + 0x10]
jmp 0x41d819
mov ecx, dword [edi + 0x21c]
imul ecx, eax
mov dword [esp + 0x44], ecx
fimul dword [esp + 0x44]
jmp 0x41d819
fld dword [edi + 0x1e0]
fld dword [edi + 0x1dc]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fmul dword [0x54fb3c]
fsqrt
fstp st(2)
fstp st(0)
fmul dword [0x550ec4]
fstp dword [esp + 0x10]
jmp 0x41d7fb
mov ecx, dword [edi + 0x2c4]
mov eax, 1
cmp ecx, eax
jle 0x41d7fb
test eax, eax
jl 0x41ef98
cmp eax, dword [edi + 0x2c4]
jge 0x41ef98
mov ecx, dword [edi + 0x2c0]
lea edx, [eax*4]
add ecx, edx
mov ecx, dword [ecx]
lea esi, [eax - 1]
test esi, esi
jl 0x41ef98
mov ebx, dword [edi + 0x2c4]
cmp esi, ebx
jge 0x41ef98
mov esi, dword [edi + 0x2c0]
fld dword [ecx + 4]
lea edx, [esi + edx - 4]
mov edx, dword [edx]
fsub dword [edx + 4]
inc eax
fld dword [ecx + 8]
mov ecx, ebx
cmp eax, ecx
fsub dword [edx + 8]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fsqrt
fstp st(2)
fstp st(0)
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
jl 0x41d786
mov eax, dword [edi + 0x218]
test eax, eax
mov dword [esp + 0x38], eax
jne 0x41d815
fmul dword [esp + 0x10]
fmul dword [0x550ec0]
jmp 0x41d819
fimul dword [esp + 0x38]
mov ebx, dword [edi + 0x16c]
fld dword [0x54fb38]
mov eax, dword [esp + 0x24]
cmp eax, ebx
jge 0x41d848
mov ecx, ebx
fstp st(0)
cmp eax, ecx
jge 0x41ef98
mov eax, dword [edi + 0x168]
add eax, dword [esp + 0x2c]
mov eax, dword [eax]
fld dword [eax + 4]
fmul st(1)
call fcn.004eaa58
mov esi, eax
test esi, esi
mov dword [esp + 0x1c], esi
jle 0x41d8c7
mov eax, dword [edi + 0x178]
mov ecx, dword [eax + 0x10]
mov eax, dword [esp + 0x24]
xor edx, edx
cmp ecx, edx
je 0x41d88f
cmp eax, ebx
fstp st(0)
jge 0x41d8c9
cmp eax, dword [edi + 0x16c]
jge 0x41ef9a
mov eax, dword [edi + 0x168]
add eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov dword [eax + 4], edx
jmp 0x41d8c9
cmp eax, ebx
fidivr dword [esp + 0x1c]
jge 0x41d8c7
cmp eax, dword [edi + 0x16c]
jge 0x41ef98
mov eax, dword [edi + 0x168]
add eax, dword [esp + 0x2c]
mov ecx, dword [eax]
fsubr dword [ecx + 4]
fst dword [ecx + 4]
fcomp dword [0x54fb38]
fnstsw ax
test ah, 5
jp 0x41d8c9
mov dword [ecx + 4], edx
jmp 0x41d8c9
fstp st(0)
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x104]
test ecx, ecx
jne 0x41d8df
xor esi, esi
mov dword [esp + 0x1c], esi
jmp 0x41d951
mov ecx, dword [eax + 0x10c]
test ecx, ecx
je 0x41d951
mov ebx, dword [esp + 0x20]
xor esi, esi
push ebx
mov ecx, edi
mov dword [esp + 0x20], esi
call fcn.0041bea0
test eax, eax
jne 0x41d951
mov eax, dword [edi + 0x218]
test eax, eax
push ebx
mov ecx, edi
je 0x41d93c
cmp dword [edi + 0x1fc], 3
jne 0x41d92c
call fcn.0041bef0
mov esi, eax
imul esi, dword [edi + 0x21c]
imul esi, dword [edi + 0x218]
jmp 0x41d943
call fcn.0041bef0
mov esi, eax
imul esi, dword [edi + 0x218]
jmp 0x41d943
call fcn.0041bef0
mov esi, eax
push 1
push ebx
mov ecx, edi
mov dword [esp + 0x24], esi
call fcn.0041be50
test esi, esi
mov dword [esp + 0x2c], 0
jle 0x41ef46
mov ecx, dword [edi + 0x178]
mov eax, dword [ecx + 0xc]
test eax, eax
jne 0x41da70
mov edx, dword [edi + 0x40]
cmp dword [edi + 0x134], edx
jl 0x41d991
lea eax, [edx - 1]
test eax, eax
jge 0x41d988
xor eax, eax
jmp 0x41d98b
lea eax, [edx - 1]
mov dword [edi + 0x134], eax
mov ecx, dword [edi + 0x134]
xor ebx, ebx
test edx, edx
jle 0x41d9d9
lea ecx, [ecx]
test ecx, ecx
jl 0x41ef9a
cmp ecx, dword [edi + 0x40]
jge 0x41ef9a
mov eax, dword [edi + 0x3c]
mov esi, dword [eax + ecx*4]
fld dword [esi + 0x34]
lea eax, [eax + ecx*4]
fcomp dword [0x54fb38]
fnstsw ax
test ah, 0x41
jnp 0x41da06
inc ecx
lea eax, [edx - 1]
cmp ecx, eax
jle 0x41d9d4
xor ecx, ecx
inc ebx
cmp ebx, edx
jl 0x41d9a0
xor ebx, ebx
jmp 0x41d9e0
push 0x104
call fcn.005043b5
add esp, 4
mov dword [esp + 0x44], eax
test eax, eax
mov dword [esp + 0x7c], 0
je 0x41da38
mov ecx, eax
call fcn.004987f0
jmp 0x41da3a
push 0xc8
mov dword [edi + 0x134], ecx
call fcn.0049bcb0
movzx eax, ax
mov dword [esp + 0x48], eax
add esp, 4
fild dword [esp + 0x44]
fmul dword [0x550234]
fsub dword [0x54fb34]
fstp dword [esi + 0x10]
jmp 0x41db1f
xor eax, eax
test eax, eax
mov dword [esp + 0x7c], 0xffffffff
mov esi, eax
jne 0x41da5e
test ebx, ebx
jne 0x41ef74
mov ecx, edi
call fcn.0041c790
mov ebx, 1
jmp 0x41d9e0
mov edx, dword [edi + 0x40]
lea ecx, [edi + 0x38]
push eax
push edx
call fcn.00502772
jmp 0x41db1f
mov ecx, dword [edi + 0x40]
mov eax, dword [edi + 0x134]
dec ecx
cmp eax, ecx
jge 0x41dabe
test eax, eax
jl 0x41ef9a
cmp eax, dword [edi + 0x40]
jge 0x41ef9a
mov ecx, dword [edi + 0x3c]
mov esi, dword [ecx + eax*4]
push 0xc8
call fcn.0049bcb0
movzx edx, ax
mov dword [esp + 0x48], edx
add esp, 4
fild dword [esp + 0x44]
fmul dword [0x550234]
fsub dword [0x54fb34]
fstp dword [esi + 0x10]
jmp 0x41db19
xor ebx, ebx
push 0x104
call fcn.005043b5
add esp, 4
mov dword [esp + 0x44], eax
test eax, eax
mov dword [esp + 0x7c], 1
je 0x41dae6
mov ecx, eax
call fcn.004987f0
jmp 0x41dae8
xor eax, eax
test eax, eax
mov dword [esp + 0x7c], 0xffffffff
mov esi, eax
jne 0x41db0c
test ebx, ebx
jne 0x41ef74
mov ecx, edi
call fcn.0041c790
mov ebx, 1
jmp 0x41dac0
lea ecx, [edi + 0x38]
push eax
mov eax, dword [ecx + 8]
push eax
call fcn.00502772
inc dword [edi + 0x134]
mov ebx, dword [esp + 0x20]
xor eax, eax
mov dword [esi + 0xf0], eax
mov dword [esi + 0x24], 0xffffffff
mov dword [esi + 0xe8], eax
cmp dword [ebx + 0x10c], eax
je 0x41db4a
mov dword [esi + 0xe8], 1
mov dword [esi + 0xec], eax
cmp dword [ebx + 0xb4], eax
je 0x41db6b
mov dword [esi + 0xec], 1
mov ecx, dword [edi + 0x28]
mov dword [esi + 0x8c], ecx
cmp dword [ebx + 0xc8], eax
je 0x41db88
mov edx, dword [ebx + 0x9c]
mov eax, dword [edx + 0xc]
push eax
call fcn.0049bcb0
add esp, 4
movzx eax, ax
mov dword [esi + 0xf8], eax
mov ecx, dword [ebx + 0xbc]
mov dword [esi + 0xfc], ecx
fld dword [edi + 8]
fsub dword [edi + 0x10]
fstp dword [esp + 0x18]
fld dword [edi + 0xc]
fsub dword [edi + 0x14]
fstp dword [esp + 0x38]
fld dword [0x54fb38]
fld dword [esp + 0x18]
fucompp
fnstsw ax
test ah, 0x44
jp 0x41dbcb
mov dword [esp + 0x30], 0x43480000
jmp 0x41dbd7
fld dword [esp + 0x38]
fdiv dword [esp + 0x18]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fabs
fcomp qword [0x550eb8]
fnstsw ax
test ah, 0x41
jne 0x41dc3a
fld dword [esp + 0x38]
fabs
fadd dword [0x54fb34]
call fcn.004eaa58
push eax
call fcn.0049bcb0
movzx edx, ax
mov dword [esp + 0x48], edx
add esp, 4
fild dword [esp + 0x44]
fld dword [esp + 0x38]
fcomp dword [0x54fb38]
fnstsw ax
test ah, 5
jp 0x41dc22
fchs
fld dword [esp + 0x30]
fdivr st(1)
fsubr dword [edi + 8]
fstp dword [esi + 0x3c]
fld dword [edi + 0xc]
fsub st(1)
fstp dword [esi + 0x38]
fstp st(0)
jmp 0x41dc84
fld dword [esp + 0x18]
fabs
fadd dword [0x54fb34]
call fcn.004eaa58
push eax
call fcn.0049bcb0
movzx eax, ax
mov dword [esp + 0x48], eax
add esp, 4
fild dword [esp + 0x44]
fld dword [esp + 0x18]
fcomp dword [0x54fb38]
fnstsw ax
test ah, 5
jp 0x41dc72
fchs
fld dword [edi + 8]
fsub st(1)
fstp dword [esi + 0x3c]
fmul dword [esp + 0x30]
fsubr dword [edi + 0xc]
fstp dword [esi + 0x38]
mov eax, dword [esi + 0xec]
test eax, eax
je 0x41dc9a
mov ecx, dword [edi + 8]
mov dword [esi + 0x3c], ecx
mov edx, dword [edi + 0xc]
mov dword [esi + 0x38], edx
fld dword [ebx + 0x34]
fmul dword [0x550ed0]
call fcn.004eaa58
mov ecx, 1
sub ecx, eax
push ecx
call fcn.0049bcb0
movzx edx, ax
mov dword [esp + 0x48], edx
add esp, 4
fild dword [esp + 0x44]
fmul dword [0x550234]
fadd dword [ebx + 0x10]
fld dword [ebx + 0x34]
xor ebx, ebx
fmul dword [0x54fb3c]
fsubp st(1)
fst dword [esi + 0x34]
fmul dword [edi + 0x1b4]
fst dword [esi + 0x34]
mov eax, dword [edi + 0x6c]
cmp eax, ebx
je 0x41dcfd
mov eax, dword [edi + 0x178]
fmul dword [eax + 0xc8]
fstp dword [esi + 0x34]
jmp 0x41dcff
fstp st(0)
cmp dword [esi + 0xe8], ebx
je 0x41dd11
mov ecx, edi
call fcn.0041c6d0
fstp dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x30], ecx
mov eax, dword [edi + 0x1fc]
dec eax
je 0x41e0bf
dec eax
je 0x41df09
dec eax
jne 0x41e237
mov eax, dword [edi + 0x218]
cmp eax, ebx
jne 0x41de1c
fld dword [edi + 0x1dc]
fmul dword [0x550eb4]
fld dword [0x54fb34]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x41dd63
fstp st(0)
fld dword [0x54fb34]
call fcn.004eaa58
fld dword [edi + 0x1e0]
fmul dword [0x550eb4]
mov ebx, eax
fld dword [0x54fb34]
mov dword [esp + 0x40], ebx
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x41dd91
fstp st(0)
fld dword [0x54fb34]
call fcn.004eaa58
mov dword [esp + 0x44], eax
call fcn.004eacb2
and eax, 0x80000003
jns 0x41ddab
dec eax
or eax, 0xfffffffc
inc eax
imul eax, ebx
mov dword [esp + 0x38], eax
call fcn.004eacb2
cdq
idiv dword [esp + 0x40]
mov eax, dword [esp + 0x38]
add eax, edx
mov dword [esp + 0x40], eax
fild dword [esp + 0x40]
fld dword [edi + 0x1dc]
fmul dword [0x54fb3c]
fsubp st(1)
fstp dword [esp + 0x40]
call fcn.004eacb2
mov ebx, eax
and ebx, 0x80000003
jns 0x41ddf0
dec ebx
or ebx, 0xfffffffc
inc ebx
imul ebx, dword [esp + 0x44]
call fcn.004eacb2
cdq
idiv dword [esp + 0x44]
add ebx, edx
mov dword [esp + 0x44], ebx
fild dword [esp + 0x44]
fld dword [edi + 0x1e0]
fmul dword [0x54fb3c]
fsubp st(1)
jmp 0x41deb3
cmp eax, 1
jne 0x41de2b
mov dword [esp + 0x40], 0
jmp 0x41de54
fild dword [edi + 0x144]
lea edx, [eax - 1]
mov dword [esp + 0x44], edx
fmul dword [edi + 0x1dc]
fidiv dword [esp + 0x44]
fld dword [edi + 0x1dc]
fmul dword [0x54fb3c]
fsubp st(1)
fstp dword [esp + 0x40]
mov ecx, dword [edi + 0x21c]
cmp ecx, 1
jne 0x41de67
fld dword [0x54fb38]
jmp 0x41de8c
fild dword [edi + 0x148]
lea edx, [ecx - 1]
mov dword [esp + 0x44], edx
fmul dword [edi + 0x1e0]
fidiv dword [esp + 0x44]
fld dword [edi + 0x1e0]
fmul dword [0x54fb3c]
fsubp st(1)
mov edx, dword [edi + 0x144]
inc edx
cmp edx, eax
mov dword [edi + 0x144], edx
jl 0x41deb3
mov eax, dword [edi + 0x148]
inc eax
cdq
idiv ecx
mov dword [edi + 0x144], ebx
mov dword [edi + 0x148], edx
fld dword [esp + 0x40]
fadd dword [esi + 0x3c]
fst dword [esp + 0x38]
fstp dword [esi + 0x3c]
fadd dword [esi + 0x38]
fst dword [esp + 0x44]
fstp dword [esi + 0x38]
mov eax, dword [edi + 0x24c]
test eax, eax
je 0x41e237
mov eax, dword [edi + 0x50]
test eax, eax
je 0x41e237
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x38]
push eax
push ecx
mov ecx, edi
call fcn.0041c940
test eax, eax
je 0x41e237
mov dword [esi + 0x34], 0
jmp 0x41e237
mov ecx, dword [edi + 0x218]
cmp ecx, ebx
jne 0x41df39
call fcn.004eacb2
mov ecx, eax
imul ecx, ecx, 0x168
mov eax, 0x80010003
imul ecx
add edx, ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x38], eax
jmp 0x41df5a
mov ebx, dword [edi + 0x144]
mov eax, ebx
imul eax, eax, 0x168
cdq
idiv ecx
mov dword [esp + 0x38], eax
lea eax, [ebx + 1]
cdq
idiv ecx
mov dword [edi + 0x144], edx
fld dword [0x54fb38]
mov dword [esp + 0x28], 0
fst dword [esp + 0x18]
fld dword [edi + 0x30]
fmul dword [0x550eb0]
call fcn.004eaa58
test eax, eax
jge 0x41df8c
fld dword [edi + 0x30]
fmul dword [0x550eac]
call fcn.004eaa58
fld dword [edi + 0x34]
mov dword [esp + 0x44], eax
fmul dword [0x550eb0]
call fcn.004eaa58
test eax, eax
jge 0x41dfb0
fld dword [edi + 0x34]
fmul dword [0x550eac]
call fcn.004eaa58
mov ebx, eax
mov eax, dword [esi + 0xec]
test eax, eax
jne 0x41e038
mov eax, dword [esp + 0x44]
test eax, eax
je 0x41dfec
push eax
fstp st(0)
call fcn.0049bcb0
movzx ecx, ax
mov dword [esp + 0x48], ecx
add esp, 4
fild dword [esp + 0x44]
fmul dword [0x550224]
fstp dword [esp + 0x28]
fld dword [esp + 0x18]
test ebx, ebx
je 0x41e00c
push ebx
fstp st(0)
call fcn.0049bcb0
movzx edx, ax
mov dword [esp + 0x48], edx
add esp, 4
fild dword [esp + 0x44]
fmul dword [0x550224]
fld dword [edi + 0x30]
fcomp dword [0x54fb38]
fnstsw ax
test ah, 5
jp 0x41e026
fld dword [esp + 0x28]
fchs
fstp dword [esp + 0x28]
fld dword [edi + 0x34]
fcomp dword [0x54fb38]
fnstsw ax
test ah, 5
jp 0x41e038
fchs
mov eax, dword [edi + 0x22c]
test eax, eax
je 0x41e048
fstp st(0)
fld dword [esp + 0x28]
fild dword [esp + 0x38]
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x70]
fstp dword [esp + 0x48]
push ecx
fld dword [edi + 0x1e0]
lea edx, [esp + 0x60]
fadd dword [0x54fb3c]
push edx
lea eax, [esp + 0x60]
push eax
mov eax, dword [esp + 0x54]
fsub st(1)
push eax
push eax
sub esp, 8
fstp dword [esp + 4]
fstp st(0)
fld dword [edi + 0x1dc]
fadd dword [0x54fb3c]
fsub dword [esp + 0x48]
fstp dword [esp]
call fcn.0049ba40
fld dword [esp + 0x74]
mov ecx, dword [esp + 0x64]
fadd dword [esi + 0x3c]
add esp, 0x20
mov dword [esi + 0x90], ecx
fstp dword [esi + 0x3c]
fld dword [esp + 0x58]
fadd dword [esi + 0x38]
fstp dword [esi + 0x38]
jmp 0x41e237
mov ecx, dword [edi + 0x218]
cmp ecx, ebx
jne 0x41e0e2
call fcn.004eacb2
mov dword [esp + 0x44], eax
fild dword [esp + 0x44]
fmul dword [esp + 0x10]
fmul dword [0x550ea8]
jmp 0x41e11c
cmp ecx, 1
jne 0x41e0ef
fld dword [0x54fb38]
jmp 0x41e11c
mov eax, dword [edi + 0x144]
mov dword [esp + 0x38], eax
lea edx, [ecx - 1]
mov dword [esp + 0x44], edx
fild dword [esp + 0x44]
inc eax
cdq
fdivr dword [esp + 0x10]
idiv ecx
fimul dword [esp + 0x38]
fmul dword [0x550ea4]
mov dword [edi + 0x144], edx
fld dword [esp + 0x10]
mov dword [esi + 0x100], ebx
mov ecx, dword [edi + 0x2c4]
dec ecx
cmp ecx, ebx
mov dword [esp + 0x34], 0
jle 0x41e1da
test ecx, ecx
lea edx, [ecx - 1]
jl 0x41ef96
cmp ecx, dword [edi + 0x2c4]
jge 0x41ef96
test edx, edx
mov eax, dword [edi + 0x2c0]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x50], eax
jl 0x41ef96
cmp edx, dword [edi + 0x2c4]
jge 0x41ef96
mov eax, dword [edi + 0x2c0]
mov ebx, dword [eax + ecx*4 - 4]
mov eax, dword [esp + 0x50]
fld dword [eax + 4]
mov dword [esp + 0x5c], ebx
fsub dword [ebx + 4]
fstp dword [esp + 0x4c]
fld dword [eax + 8]
fsub dword [ebx + 8]
fst dword [esp + 0x48]
fmul dword [esp + 0x48]
fld dword [esp + 0x4c]
fmul dword [esp + 0x4c]
faddp st(1)
fsqrt
fstp dword [esp + 0x34]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x41e1d1
fsub dword [esp + 0x34]
fcom st(1)
fnstsw ax
test ah, 0x41
jnp 0x41e1d1
dec ecx
dec edx
test ecx, ecx
jg 0x41e148
jmp 0x41e1de
dec ecx
mov dword [esi + 0x100], ecx
jmp 0x41e1de
mov ebx, dword [esp + 0x5c]
fld dword [0x54fb38]
mov dword [esi + 0x90], 0
fld dword [esp + 0x34]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x41e233
fxch st(1)
mov eax, dword [esp + 0x50]
fsub st(1)
fdiv dword [esp + 0x34]
fstp st(1)
fld dword [eax + 8]
fsub dword [ebx + 8]
fmul st(1)
fld dword [eax + 4]
fsub dword [ebx + 4]
fmul st(2)
fadd dword [esi + 0x3c]
fadd dword [ebx + 4]
fstp dword [esi + 0x3c]
fadd dword [esi + 0x38]
fadd dword [ebx + 8]
fstp dword [esi + 0x38]
fstp dword [esi + 0x90]
jmp 0x41e237
fstp st(0)
fstp st(0)
mov eax, dword [edi + 0x1fc]
test eax, eax
je 0x41e2f0
fld dword [esi + 0x3c]
fsub dword [edi + 8]
fstp dword [esi + 0x3c]
fld dword [esi + 0x38]
fsub dword [edi + 0xc]
fstp dword [esi + 0x38]
fld dword [0x54fb38]
fld dword [edi + 0x2c]
fmul dword [0x550ea0]
call fcn.004eaa58
test eax, eax
jge 0x41e27d
fld dword [edi + 0x2c]
fmul dword [0x550ed0]
call fcn.004eaa58
cdq
mov ecx, 0x168
idiv ecx
test edx, edx
je 0x41e2a5
push edx
fstp st(0)
call fcn.0049bcb0
movzx edx, ax
mov dword [esp + 0x48], edx
add esp, 4
fild dword [esp + 0x44]
fmul dword [0x550234]
fld dword [edi + 0x2c]
fcomp dword [0x54fb38]
fnstsw ax
test ah, 5
jp 0x41e2b7
fchs
fld dword [edi + 0x28]
mov edx, dword [esi + 0x38]
lea eax, [esp + 0x64]
fsub st(1)
push eax
mov eax, dword [esi + 0x3c]
lea ecx, [esp + 0x64]
push ecx
push ecx
fstp dword [esp]
push edx
push eax
fstp st(0)
call fcn.0049ba90
fld dword [esp + 0x74]
add esp, 0x14
fadd dword [edi + 8]
fstp dword [esi + 0x3c]
fld dword [esp + 0x64]
fadd dword [edi + 0xc]
fstp dword [esi + 0x38]
mov eax, dword [esi + 0xe8]
test eax, eax
je 0x41e310
mov eax, dword [edi + 0x218]
test eax, eax
jne 0x41e310
mov ecx, dword [edi + 8]
mov dword [esi + 0x3c], ecx
mov edx, dword [edi + 0xc]
mov dword [esi + 0x38], edx
mov ebx, dword [esp + 0x20]
mov ecx, esi
mov dword [esi + 0xe4], ebx
call fcn.004988a0
fld dword [ebx + 0x30]
fmul dword [0x550ed0]
call fcn.004eaa58
mov ecx, 1
sub ecx, eax
push ecx
call fcn.0049bcb0
movzx edx, ax
mov dword [esp + 0x48], edx
add esp, 4
fild dword [esp + 0x44]
fmul dword [0x550234]
fadd dword [ebx + 0xc]
fld dword [ebx + 0x30]
fmul dword [0x54fb3c]
fsubp st(1)
fcom dword [0x54fb38]
fnstsw ax
test ah, 5
jp 0x41e373
fstp st(0)
fld dword [0x54fb38]
fld dword [edi + 0x1a8]
mov eax, dword [edi + 0x6c]
test eax, eax
fmul dword [edi + 0x1bc]
fmul st(1)
fstp dword [esp + 0x18]
fstp st(0)
je 0x41e3ae
mov ecx, dword [edi + 0x178]
fld dword [ecx + 0xe0]
fmul dword [ecx + 0xc4]
fmul dword [edi + 0xb0]
fmul dword [esp + 0x18]
fstp dword [esp + 0x18]
test eax, eax
fld dword [edi + 0x1d4]
mov ecx, dword [edi + 0x1d8]
mov dword [esp + 0x14], ecx
je 0x41e3da
mov eax, dword [edi + 0x178]
fstp st(0)
mov edx, dword [eax + 0xf0]
fld dword [eax + 0xec]
mov dword [esp + 0x14], edx
mov eax, dword [ebx + 0xe0]
test eax, eax
jne 0x41e3ee
mov eax, dword [ebx + 0x5c]
fadd dword [ebx + 0x58]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x1fc]
cmp eax, 3
ja case.default.0x41e3fd
jmp dword [eax*4 + 0x41efa0]
fadd dword [edi + 0x28]
fld dword [esp + 0x14]
call fcn.004eaa58
fld dword [esp + 0x14]
fmul dword [0x54fb3c]
mov dword [esp + 0x38], eax
fld st(1)
fsub st(1)
call fcn.004eaa58
fxch st(1)
fadd st(1)
mov dword [esp + 0x44], eax
call fcn.004eaa58
fstp st(0)
cmp eax, dword [esp + 0x44]
jge 0x41e444
add dword [esp + 0x38], 0x168
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x41e461
fild dword [esp + 0x44]
fmul qword [0x550e98]
fmul qword [0x550e90]
jmp 0x41e60f
mov eax, dword [esp + 0x38]
lea ecx, [eax + eax*4]
shl ecx, 1
push ecx
call fcn.0049bcb0
movzx edx, ax
mov dword [esp + 0x3c], edx
add esp, 4
fild dword [esp + 0x38]
fmul qword [0x550e88]
fiadd dword [esp + 0x44]
fmul qword [0x550e98]
fmul qword [0x550e90]
jmp 0x41e60f
fld dword [esp + 0x48]
fld dword [esp + 0x4c]
fpatan
fadd qword [0x550e80]
fld dword [edi + 0x28]
fmul qword [0x550e78]
fsubp st(1)
fxch st(1)
fsub dword [0x550e70]
fmul qword [0x550e78]
faddp st(1)
fst qword [esp + 0x38]
fld dword [esp + 0x14]
fcomp dword [0x54fb34]
fnstsw ax
test ah, 0x41
jne 0x41e512
fstp st(0)
fld dword [esp + 0x14]
call fcn.004eaa58
push eax
call fcn.0049bcb0
movzx eax, ax
mov dword [esp + 0x48], eax
add esp, 4
fild dword [esp + 0x44]
fld dword [esp + 0x14]
fmul dword [0x54fb3c]
fsubp st(1)
fmul qword [0x550e78]
fadd qword [esp + 0x38]
fst qword [esp + 0x38]
mov eax, dword [edi + 0x230]
test eax, eax
je 0x41e60f
mov ecx, dword [edi + 0x234]
test ecx, ecx
je 0x41e605
cmp dword [esp + 0x1c], 1
je 0x41e5da
mov ecx, dword [esp + 0x2c]
and ecx, 0x80000001
jns 0x41e607
dec ecx
or ecx, 0xfffffffe
inc ecx
jmp 0x41e607
fld dword [esi + 0x38]
fsub dword [edi + 0xc]
fld dword [esi + 0x3c]
fsub dword [edi + 8]
fpatan
fxch st(1)
fsub dword [0x550e70]
fmul qword [0x550e78]
faddp st(1)
fst qword [esp + 0x38]
fld dword [esp + 0x14]
fcomp dword [0x54fb34]
fnstsw ax
test ah, 0x41
jne 0x41e5bf
fstp st(0)
fld dword [esp + 0x14]
call fcn.004eaa58
push eax
call fcn.0049bcb0
movzx edx, ax
mov dword [esp + 0x48], edx
add esp, 4
fild dword [esp + 0x44]
fld dword [esp + 0x14]
fmul dword [0x54fb3c]
fsubp st(1)
fmul qword [0x550e78]
fadd qword [esp + 0x38]
fst qword [esp + 0x38]
mov eax, dword [edi + 0x230]
test eax, eax
je 0x41e60f
mov ecx, dword [edi + 0x234]
test ecx, ecx
je 0x41e605
cmp dword [esp + 0x1c], 1
jne 0x41e5f3
fstp st(0)
call fcn.004eacb2
and eax, 0x80000001
jns 0x41e5ed
dec eax
or eax, 0xfffffffe
inc eax
fld qword [esp + 0x38]
jmp 0x41e607
mov eax, dword [esp + 0x2c]
and eax, 0x80000001
jns 0x41e607
dec eax
or eax, 0xfffffffe
inc eax
jmp 0x41e607
test eax, eax
je 0x41e60f
fsub qword [0x550e68]
fld st(0)
fsin
fmul dword [esp + 0x18]
fstp dword [esi + 0x28]
fcos
fmul dword [esp + 0x18]
fstp dword [esi + 0x2c]
jmp 0x41e627
fstp st(0)
fld dword [esi + 0x78]
mov ecx, dword [esi + 0x2c]
fmul dword [esi + 0x2c]
mov edx, dword [esi + 0x28]
mov dword [esi + 0x58], ecx
mov dword [esi + 0x5c], edx
fstp dword [esi + 0x2c]
fld dword [esi + 0x78]
fmul dword [esi + 0x28]
fstp dword [esi + 0x28]
fld dword [ebx + 0x28]
fmul dword [0x550ed0]
call fcn.004eaa58
mov ecx, 1
sub ecx, eax
push ecx
call fcn.0049bcb0
movzx edx, ax
mov dword [esp + 0x48], edx
add esp, 4
fild dword [esp + 0x44]
fmul dword [0x550234]
fld dword [ebx + 0x28]
fmul dword [0x54fb3c]
fsubp st(1)
fst dword [esi + 0x94]
fadd dword [ebx + 4]
fld dword [0x54fb38]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x41e69f
fstp st(0)
fld dword [0x54fb38]
fst dword [esi + 0x48]
fld dword [edi + 0x1ac]
fmul dword [edi + 0x1bc]
fmulp st(1)
fst dword [esi + 0x48]
mov eax, dword [edi + 0x6c]
test eax, eax
je 0x41e6e0
mov eax, dword [edi + 0x70]
mov ecx, dword [edi + 0x178]
fld dword [eax + 0x1ac]
fmul dword [ecx + 0xe0]
fmul dword [edi + 0xb0]
fmul dword [edi + 0x88]
fmul st(1)
fstp dword [esi + 0x48]
mov edx, dword [esi + 0x48]
fstp st(0)
fld dword [esi + 0x70]
mov dword [esi + 0x4c], edx
fmul dword [esi + 0x48]
fst dword [esi + 0x48]
fstp dword [esi + 0xac]
fld dword [ebx + 0x2c]
fmul dword [0x550ed0]
call fcn.004eaa58
mov ecx, 1
sub ecx, eax
push ecx
call fcn.0049bcb0
movzx edx, ax
mov dword [esp + 0x48], edx
add esp, 4
fild dword [esp + 0x44]
fmul dword [0x550234]
fld dword [ebx + 0x2c]
fmul dword [0x54fb3c]
fsubp st(1)
fst dword [esi + 0x98]
mov eax, dword [ebx + 0x118]
test eax, eax
je 0x41e74e
fstp st(0)
fld dword [ebx + 8]
fadd dword [esi + 0x94]
jmp 0x41e768
fadd dword [ebx + 8]
fld dword [0x54fb38]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x41e768
fstp st(0)
fld dword [0x54fb38]
fstp dword [esi + 0x50]
fld dword [edi + 0x1b0]
fmul dword [edi + 0x1bc]
fmul dword [esi + 0x50]
fst dword [esi + 0x50]
mov eax, dword [edi + 0x6c]
test eax, eax
je 0x41e7d5
mov ecx, dword [edi + 0x178]
fld dword [edi + 0x8c]
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x41e79f
fstp st(0)
fld dword [edi + 0x88]
mov eax, dword [edi + 0x70]
mov edx, dword [eax + 0x178]
fld dword [eax + 0x1b0]
cmp dword [edx + 0x18], 0
je 0x41e7bc
fstp st(0)
fld dword [eax + 0x1ac]
fld dword [ecx + 0xe0]
fmul dword [edi + 0xb0]
fmul st(1)
fmul st(2)
fmul st(3)
fstp dword [esi + 0x50]
fstp st(0)
fstp st(0)
mov eax, dword [esi + 0x50]
fstp st(0)
fld dword [esi + 0x74]
mov dword [esi + 0x54], eax
fmul dword [esi + 0x50]
fst dword [esi + 0x50]
fstp dword [esi + 0xb0]
fild dword [esp + 0x2c]
fmul dword [ebp + 8]
fidiv dword [esp + 0x1c]
fld st(0)
fmul dword [esi + 0x2c]
fadd dword [esi + 0x3c]
fst dword [esi + 0x3c]
fxch st(1)
fmul dword [esi + 0x28]
fadd dword [esi + 0x38]
fst dword [esp + 0x44]
fstp dword [esi + 0x38]
fld dword [ebp + 8]
fmul dword [esi + 0x2c]
fsubr st(1)
fstp dword [esi + 0xa0]
fstp st(0)
fld dword [ebp + 8]
fmul dword [esi + 0x28]
fsubr dword [esp + 0x44]
fstp dword [esi + 0xa4]
mov eax, dword [ebx + 0xa4]
test eax, eax
je 0x41e85b
fld dword [esi + 0x28]
fld dword [esi + 0x2c]
fpatan
fmul qword [0x550e30]
fst dword [esi + 0x40]
fild dword [ebx + 0xb0]
fadd st(1)
fstp dword [esi + 0x40]
fstp st(0)
jmp 0x41e8a2
mov eax, dword [ebx + 0xa0]
test eax, eax
je 0x41e899
xor ecx, ecx
mov cx, word [ebx + 0xd0]
push ecx
call fcn.0049bcb0
movzx ecx, ax
mov eax, dword [ebx + 0xd0]
cdq
sub eax, edx
mov edx, dword [ebx + 0xd4]
sar eax, 1
sub edx, eax
add esp, 4
add ecx, edx
mov dword [esp + 0x44], ecx
fild dword [esp + 0x44]
jmp 0x41e89f
fild dword [ebx + 0xac]
fstp dword [esi + 0x40]
mov eax, dword [esi + 0xec]
test eax, eax
je 0x41e8c1
mov eax, dword [esi + 0xe4]
fld dword [eax + 0xb8]
fmul dword [edi + 0x28]
fsubr dword [esi + 0x40]
fstp dword [esi + 0x40]
mov eax, dword [esi + 0xe8]
test eax, eax
je 0x41e8d4
fld dword [esi + 0x40]
fsub dword [edi + 0x28]
fstp dword [esi + 0x40]
mov ecx, dword [esi + 0x40]
fld dword [0x54fb38]
mov dword [esi + 0xa8], ecx
mov dword [esi + 0x9c], 0
fld dword [ebx + 0x48]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x41e93e
fld dword [ebx + 0x48]
call fcn.004eaa58
inc eax
push eax
call fcn.0049bcb0
movzx edx, ax
mov dword [esp + 0x48], edx
fild dword [esp + 0x48]
fstp dword [esp + 0x3c]
fld dword [ebx + 0x48]
call fcn.004eaa58
inc eax
push eax
call fcn.0049bcb0
movzx eax, ax
mov dword [esp + 0x4c], eax
add esp, 8
fild dword [esp + 0x44]
fsubr dword [esp + 0x38]
fstp dword [esi + 0x9c]
fld dword [ebx + 0x24]
fadd dword [esi + 0x9c]
fst dword [esi + 0x44]
fmul dword [edi + 0x1c4]
fst dword [esi + 0x44]
mov eax, dword [edi + 0x6c]
test eax, eax
je 0x41e96b
mov ecx, dword [edi + 0x178]
fmul dword [ecx + 0xdc]
fstp dword [esi + 0x44]
jmp 0x41e96d
fstp st(0)
fld dword [esi + 0x88]
mov edx, dword [esi + 0x44]
fmul dword [esi + 0x44]
mov dword [esi + 0x64], edx
fst dword [esi + 0x44]
fmul dword [ebp + 8]
fsubr dword [esi + 0xa8]
fstp dword [esi + 0xa8]
fld dword [ebx + 0x44]
fmul dword [0x550ed0]
call fcn.004eaa58
mov ecx, 1
sub ecx, eax
push ecx
call fcn.0049bcb0
movzx edx, ax
mov dword [esp + 0x48], edx
add esp, 4
fild dword [esp + 0x44]
fmul dword [0x550234]
fadd dword [ebx + 0x20]
fld dword [ebx + 0x44]
fmul dword [0x54fb3c]
fsubp st(1)
fst dword [esi + 0xc]
fcomp dword [0x54fb38]
fnstsw ax
test ah, 5
jp 0x41e9e2
mov dword [esi + 0xc], 0
fld dword [edi + 0x1cc]
fmul dword [esi + 0xc]
fst dword [esi + 0xc]
mov eax, dword [edi + 0x6c]
test eax, eax
je 0x41ea06
mov eax, dword [edi + 0x178]
fmul dword [eax + 0xd8]
fstp dword [esi + 0xc]
jmp 0x41ea08
fstp st(0)
fld dword [esi + 0x84]
mov ecx, dword [esi + 0xc]
fmul dword [esi + 0xc]
mov dword [esi + 0x6c], ecx
fstp dword [esi + 0xc]
fld dword [ebx + 0x40]
fmul dword [0x550ed0]
call fcn.004eaa58
mov edx, 1
sub edx, eax
push edx
call fcn.0049bcb0
movzx eax, ax
mov dword [esp + 0x48], eax
add esp, 4
fild dword [esp + 0x44]
fmul dword [0x550234]
fadd dword [ebx + 0x1c]
fld dword [ebx + 0x40]
fmul dword [0x54fb3c]
fsubp st(1)
fst dword [esi + 8]
fcomp dword [0x54fb38]
fnstsw ax
test ah, 5
jp 0x41ea6e
mov dword [esi + 8], 0
fld dword [edi + 0x1c8]
fmul dword [edi + 0x1bc]
fmul dword [esi + 8]
fst dword [esi + 8]
mov eax, dword [edi + 0x6c]
test eax, eax
je 0x41eaa4
mov eax, dword [edi + 0x178]
fld dword [eax + 0xe0]
fmul dword [eax + 0xd4]
fmul dword [edi + 0xb0]
fmul st(1)
fstp dword [esi + 8]
mov ecx, dword [esi + 8]
fstp st(0)
fld dword [esi + 0x80]
mov dword [esi + 0x68], ecx
fmul dword [esi + 8]
fstp dword [esi + 8]
fld dword [ebx + 0x3c]
fmul dword [0x550ed0]
call fcn.004eaa58
mov edx, 1
sub edx, eax
push edx
call fcn.0049bcb0
movzx eax, ax
mov dword [esp + 0x48], eax
add esp, 4
fild dword [esp + 0x44]
fmul dword [0x550234]
fadd dword [ebx + 0x18]
fld dword [ebx + 0x3c]
fmul dword [0x54fb3c]
fsubp st(1)
fst dword [esi + 4]
fmul dword [edi + 0x1c0]
fmul dword [edi + 0x1bc]
fst dword [esi + 4]
mov eax, dword [edi + 0x6c]
test eax, eax
je 0x41eb2b
mov eax, dword [edi + 0x178]
fld dword [eax + 0xe0]
fmul dword [eax + 0xd0]
fmul dword [edi + 0xb0]
fmul st(1)
fstp dword [esi + 4]
mov ecx, dword [esi + 4]
fstp st(0)
fld dword [esi + 0x7c]
mov eax, dword [esi + 0xe4]
fmul dword [esi + 4]
mov dword [esi + 0x60], ecx
fstp dword [esi + 4]
mov ecx, dword [eax + 0xcc]
test ecx, ecx
je 0x41eb58
mov ecx, esi
call fcn.00498b70
jmp 0x41ebf5
mov edx, dword [eax + 0xf0]
xor ecx, ecx
test edx, edx
je 0x41ebc3
mov edx, dword [eax + 0xfc]
mov ecx, dword [eax + 0xf8]
inc edx
mov dword [eax + 0xfc], edx
mov eax, dword [esi + 0xe4]
mov edx, dword [eax + 0xfc]
cmp edx, dword [eax + 0xf4]
jl 0x41ebbc
inc dword [eax + 0xf8]
mov eax, dword [esi + 0xe4]
mov edx, dword [eax + 0xf8]
cmp edx, dword [ebx + 0x7c]
jl 0x41ebac
mov dword [eax + 0xf8], 0
mov eax, dword [esi + 0xe4]
mov dword [eax + 0xfc], 0
cmp ecx, dword [ebx + 0x7c]
jl 0x41ebc3
xor ecx, ecx
test ecx, ecx
jl 0x41ef9a
cmp ecx, dword [ebx + 0x7c]
jge 0x41ef9a
mov edx, dword [ebx + 0x78]
mov eax, dword [edx + ecx*4]
mov cl, byte [eax + 4]
mov byte [esi + 0xbc], cl
mov dl, byte [eax + 5]
mov byte [esi + 0xbd], dl
mov al, byte [eax + 6]
mov byte [esi + 0xbe], al
mov byte [esi + 0xe0], 0
mov cl, byte [ebx + 0x7c]
dec cl
mov byte [esi + 0xe1], cl
xor ecx, ecx
mov dword [esi + 0xc8], ecx
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xd0], ecx
mov dword [esi + 0xd8], ecx
mov eax, dword [ebx + 0x60]
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0xe4]
cmp dword [eax + 0xcc], ecx
jne 0x41ec66
cmp dword [eax + 0xf0], ecx
jne 0x41ec47
mov ecx, esi
call fcn.004989d0
mov eax, dword [ebx + 0x90]
test eax, eax
jle 0x41ef9a
mov edx, dword [ebx + 0x8c]
mov eax, dword [edx]
mov cl, byte [eax + 4]
mov byte [esi + 0xbf], cl
mov byte [esi + 0xe2], 0
mov dl, byte [ebx + 0x90]
dec dl
mov byte [esi + 0xe3], dl
mov dword [esi + 0xd4], 0
mov eax, dword [ebx + 0x64]
mov ecx, esi
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], eax
call fcn.00498eb0
cmp dword [edi + 0x3b4], 1
jne 0x41ecb3
mov eax, dword [esi + 0xe4]
mov ecx, dword [eax + 0x360]
mov ebx, 1
cmp ecx, ebx
je 0x41ecb5
xor ebx, ebx
mov eax, dword [esi + 0xe4]
fld dword [eax + 0x54]
mov ecx, dword [eax + 0xd8]
test ecx, ecx
fmul dword [edi + 0x1e8]
mov dword [esp + 0x44], ebx
fstp dword [esp + 0x18]
je 0x41ee53
mov ecx, dword [edi + 0x190]
test ecx, ecx
je 0x41ee53
mov edx, dword [edi + 0x50]
test edx, edx
mov eax, ecx
je 0x41ed02
mov edx, dword [ecx + 0x110]
test edx, edx
jg 0x41ed02
mov ecx, edi
call fcn.00417870
mov edx, dword [esi + 0x38]
lea ecx, [esp + 0xf]
push ecx
mov ecx, dword [esi + 0x3c]
push edx
push ecx
mov ecx, eax
call fcn.00472fa0
mov ecx, eax
mov eax, dword [esi + 0xe4]
mov edx, dword [eax + 0xe8]
test edx, edx
je 0x41ed5a
mov dl, byte [esp + 0xf]
test dl, dl
jne 0x41ed64
mov edx, dword [eax + 0xec]
test edx, edx
jne 0x41ed64
fld dword [esp + 0x18]
fld qword [0x550eb8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x41ed64
test ebx, ebx
je 0x41ed64
mov dword [esi + 0x34], 0
jmp 0x41ed64
mov dl, byte [esi + 0xbf]
mov byte [esp + 0xf], dl
movzx edx, byte [esi + 0xbc]
fld dword [esp + 0x18]
fsubr qword [0x550eb8]
mov eax, ecx
shr eax, 0x10
mov dword [esp + 0x38], eax
mov byte [esi + 0xc2], al
mov al, byte [esp + 0xf]
mov dword [esp + 0x44], edx
mov byte [esi + 0xc3], al
fild dword [esp + 0x44]
movzx eax, cl
fmul st(1)
mov dword [esp + 0x44], eax
mov bx, cx
fild dword [esp + 0x44]
shr bx, 8
mov byte [esi + 0xc0], cl
fmul dword [esp + 0x18]
mov byte [esi + 0xc1], bl
faddp st(1)
call fcn.004eaa58
movzx edx, byte [esi + 0xbd]
movzx ecx, bl
mov dword [esp + 0x44], ecx
mov byte [esi + 0xc4], al
fild dword [esp + 0x44]
mov dword [esp + 0x44], edx
fmul dword [esp + 0x18]
fild dword [esp + 0x44]
fmul st(2)
faddp st(1)
call fcn.004eaa58
movzx ecx, byte [esi + 0xbe]
mov byte [esi + 0xc5], al
movzx eax, byte [esp + 0x38]
mov dword [esp + 0x44], eax
fild dword [esp + 0x44]
mov dword [esp + 0x44], ecx
fmul dword [esp + 0x18]
fild dword [esp + 0x44]
fmul st(2)
faddp st(1)
call fcn.004eaa58
movzx edx, byte [esi + 0xbf]
mov dword [esp + 0x44], edx
mov byte [esi + 0xc6], al
fild dword [esp + 0x44]
movzx eax, byte [esp + 0xf]
fmul st(1)
mov dword [esp + 0x44], eax
fild dword [esp + 0x44]
fmul dword [esp + 0x18]
faddp st(1)
call fcn.004eaa58
fstp st(0)
jmp 0x41ef2b
mov ecx, dword [eax + 0xe8]
test ecx, ecx
jne 0x41ee67
mov dword [esp + 0x18], 0
jmp 0x41eed2
mov ecx, dword [edi + 0x50]
test ecx, ecx
mov eax, dword [edi + 0x190]
je 0x41ee85
mov ecx, dword [eax + 0x110]
test ecx, ecx
jg 0x41ee85
mov ecx, edi
call fcn.00417870
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x3c]
lea ebx, [esi + 0xc3]
push ebx
push ecx
push edx
mov ecx, eax
call fcn.00472fa0
cmp byte [ebx], 0
jne 0x41eed2
mov eax, dword [esi + 0xe4]
mov ecx, dword [eax + 0xec]
test ecx, ecx
jne 0x41eed2
fld dword [esp + 0x18]
fld qword [0x550eb8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x41eed2
mov eax, dword [esp + 0x44]
test eax, eax
je 0x41eed2
mov dword [esi + 0x34], 0
mov cl, byte [esi + 0xbc]
fld dword [esp + 0x18]
fsubr qword [0x550eb8]
mov dl, byte [esi + 0xbd]
mov al, byte [esi + 0xbe]
mov byte [esi + 0xc4], cl
movzx ecx, byte [esi + 0xbf]
mov dword [esp + 0x44], ecx
mov byte [esi + 0xc5], dl
fild dword [esp + 0x44]
movzx edx, byte [esi + 0xc3]
mov dword [esp + 0x44], edx
fmulp st(1)
mov byte [esi + 0xc6], al
fild dword [esp + 0x44]
fmul dword [esp + 0x18]
faddp st(1)
call fcn.004eaa58
mov ecx, dword [esp + 0x1c]
mov byte [esi + 0xc7], al
mov eax, dword [esp + 0x2c]
inc eax
cmp eax, ecx
mov dword [esp + 0x2c], eax
jl 0x41d961
mov eax, dword [esp + 0x24]
mov ecx, dword [edi + 0x178]
mov edx, dword [ecx + 0x24]
inc eax
cmp eax, edx
mov dword [esp + 0x24], eax
jl 0x41d5ab
mov ecx, dword [esp + 0x74]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0
push 0
push 0x550e3c
call fcn.00515e6f
mov ecx, dword [esp + 0x74]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4
fstp st(0)
fstp st(0)
call fcn.004fd76e
nop
add al, 0xe4
inc ecx
add byte [ecx + 0x530041e4], bl
in eax, 0x41
add byte [esp], al
inc ecx
add byte [ebx + 0x56], dl
push ebx
push esi