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

Disassembly:
jmp 0x426060
sub esp, 0x58
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 4]
fild dword [eax + 0x2e0]
mov ebp, dword [esp + 0x70]
fdivr dword [0x4b24c4]
fimul dword [esp + 0x6c]
fstp dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 0x200]
test ecx, ecx
je 0x4260a8
test ebp, ebp
jne 0x4260a8
fld dword [esp + 0x10]
fmul dword [0x4b24b4]
fstp dword [esp + 0x10]
mov eax, dword [edi + 0x68]
test eax, eax
je 0x4260e3
mov eax, dword [edi + 0x19c]
xor esi, esi
test eax, eax
jle 0x426f09
mov ebx, dword [esp + 0x6c]
mov edx, dword [edi + 0x198]
mov ecx, dword [edx + esi*4]
push ebp
push ebx
call fcn.00401154
mov eax, dword [edi + 0x19c]
inc esi
cmp esi, eax
jl 0x4260c3
jmp 0x426f09
mov eax, dword [edi + 0x6c]
test eax, eax
je 0x42643f
fld dword [edi + 0x80]
fcomp dword [0x4b24c8]
fnstsw ax
test ah, 0x41
jne 0x426424
mov eax, dword [edi + 8]
mov ecx, dword [edi + 0xc]
mov dword [edi + 0x10], eax
mov eax, dword [edi + 0x190]
test eax, eax
mov dword [edi + 0x14], ecx
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
je 0x42618d
mov ecx, dword [eax + 0x50]
xor esi, esi
test ecx, ecx
jle 0x42618d
mov edx, dword [edi + 0x190]
mov eax, dword [edx + 0x4c]
mov ecx, dword [eax + esi*4]
lea edx, [esp + 0x20]
push edx
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x28]
push eax
mov eax, dword [edi + 8]
push edx
push eax
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
call fcn.00402347
fld dword [esp + 0x24]
fadd dword [esp + 0x6c]
mov ecx, dword [edi + 0x190]
mov eax, dword [ecx + 0x50]
inc esi
cmp esi, eax
fstp dword [esp + 0x6c]
fld dword [esp + 0x20]
fadd dword [esp + 0x70]
fstp dword [esp + 0x70]
jl 0x426134
fld dword [esp + 0x6c]
mov eax, dword [edi + 0x190]
fadd dword [edi + 0x98]
xor ebx, ebx
cmp eax, ebx
fstp dword [edi + 0x98]
fld dword [esp + 0x70]
fadd dword [edi + 0x9c]
fstp dword [edi + 0x9c]
fld dword [esp + 0x10]
fmul dword [edi + 0x78]
fadd dword [edi + 8]
fstp dword [edi + 8]
fld dword [esp + 0x10]
fmul dword [edi + 0x74]
fadd dword [edi + 0xc]
fstp dword [edi + 0xc]
je 0x426218
cmp dword [edi + 0x120], ebx
je 0x4261e3
mov dword [edi + 0x120], ebx
jmp 0x426218
mov ecx, dword [eax + 0x28]
xor esi, esi
cmp ecx, ebx
jle 0x426218
lea esp, [esp]
mov edx, dword [edi + 0x14]
mov ecx, dword [edi + 0x190]
mov eax, dword [edi + 0x10]
push edx
mov edx, dword [ecx + 0x24]
mov ecx, dword [edx + esi*4]
push eax
push edi
call fcn.0040125d
mov eax, dword [edi + 0x190]
mov ecx, dword [eax + 0x28]
inc esi
cmp esi, ecx
jl 0x4261f0
mov ecx, dword [edi + 0x178]
mov edx, dword [ecx + 0x24]
xor eax, eax
cmp edx, ebx
jle 0x426275
mov ecx, dword [ecx + 0x20]
lea ebx, [ebx]
mov edx, dword [ecx]
cmp dword [edx + 0xb4], ebx
jne 0x42624d
mov edx, dword [edi + 0x178]
mov esi, dword [edx + 0x24]
inc eax
add ecx, 4
cmp eax, esi
jl 0x426230
jmp 0x426275
fld dword [edi + 0x80]
xor ecx, ecx
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jp 0x426265
mov ecx, 1
mov eax, dword [edi + 0x14]
push ecx
mov ecx, dword [edi + 0x10]
push eax
push ecx
mov ecx, edi
call fcn.00401708
fld dword [edi + 0x80]
fsub dword [esp + 0x10]
fst dword [edi + 0x80]
fcomp dword [0x4b24c8]
fnstsw ax
test ah, 0x41
jp 0x4262ac
mov eax, dword [edi + 0x70]
dec dword [eax + 0x124]
mov eax, dword [edi + 0x70]
cmp dword [eax + 0x124], ebx
jge 0x4262ac
mov dword [eax + 0x124], ebx
mov ecx, edi
call fcn.00402036
fld dword [edi + 0x98]
fmul dword [edi + 0xd8]
mov edx, dword [edi + 0x88]
mov eax, dword [edi + 0x8c]
mov dword [edi + 0xfc], eax
fstp dword [edi + 0x78]
mov dword [edi + 0xf8], edx
fld dword [edi + 0x9c]
fmul dword [edi + 0xd8]
fstp dword [edi + 0x74]
fld dword [edi + 0xd0]
fmul dword [edi + 0x90]
fstp dword [edi + 0x88]
fld dword [edi + 0xd4]
fmul dword [edi + 0x94]
fstp dword [edi + 0x8c]
fld dword [edi + 0xdc]
fmul dword [edi + 0xa0]
fst dword [edi + 0xc0]
fld dword [edi + 0xe8]
fmul dword [edi + 0xa4]
fstp dword [edi + 0x84]
fld dword [edi + 0xe4]
fmul dword [edi + 0xac]
fstp dword [edi + 0xc8]
fld dword [edi + 0xe0]
fmul dword [edi + 0xa8]
fst dword [esp + 0x6c]
fstp dword [edi + 0xc4]
fld dword [edi + 0xec]
fmul dword [edi + 0xb4]
fstp dword [edi + 0xb0]
fld dword [edi + 0xcc]
fmul dword [edi + 0xbc]
fstp dword [edi + 0xb8]
fmul dword [esp + 0x10]
fmul dword [0x4b2c3c]
fadd dword [edi + 0x9c]
fstp dword [edi + 0x9c]
fld dword [esp + 0x6c]
fcomp dword [0x4b24c8]
fnstsw ax
test ah, 0x41
jne 0x426414
fld dword [esp + 0x6c]
fmul dword [0x4b24b4]
fstp dword [esp + 0x70]
call fcn.00451ff5
mov dword [esp + 0x6c], eax
fild dword [esp + 0x6c]
fmul dword [edi + 0xc4]
fmul dword [0x4b2c44]
fsubr dword [esp + 0x70]
fadd dword [edi + 0x98]
fstp dword [edi + 0x98]
fld dword [edi + 0xc4]
fmul dword [0x4b24b4]
fstp dword [esp + 0x70]
call fcn.00451ff5
mov dword [esp + 0x6c], eax
fild dword [esp + 0x6c]
fmul dword [edi + 0xc4]
fmul dword [0x4b2c44]
fsubr dword [esp + 0x70]
fadd dword [edi + 0x9c]
fstp dword [edi + 0x9c]
fld dword [esp + 0x10]
fmul dword [edi + 0x84]
fadd dword [edi + 0x28]
fstp dword [edi + 0x28]
mov ecx, dword [edi + 0x178]
fld dword [ecx + 0xf4]
mov edx, dword [edi + 0x70]
fmul dword [edx + 0x1e4]
fstp dword [edi + 0x1e4]
mov eax, dword [edi + 0x40]
test eax, eax
mov dword [esp + 0x24], 0
jle 0x426f09
mov eax, dword [edi + 0x3c]
mov ecx, dword [esp + 0x24]
mov esi, dword [eax + ecx*4]
fld dword [esi + 0x34]
fcomp dword [0x4b24c8]
fnstsw ax
test ah, 0x41
jne 0x426ef5
mov eax, dword [esi + 0xec]
mov edx, dword [esi + 0x40]
xor ebp, ebp
cmp eax, ebp
mov dword [esi + 0xa8], edx
jne 0x4264a3
cmp dword [esi + 0xe8], ebp
jne 0x42649f
mov ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0x38]
mov dword [esi + 0xa0], ecx
mov dword [esi + 0xa4], edx
cmp eax, ebp
je 0x426503
cmp dword [esi + 0xf0], ebp
jne 0x426503
fld dword [esi + 0x3c]
mov edx, dword [esi + 0xe4]
fsub dword [edi + 8]
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x40]
fstp dword [esi + 0x3c]
push ecx
fld dword [esi + 0x38]
push ecx
fsub dword [edi + 0xc]
mov ecx, dword [esi + 0x3c]
fst dword [esp + 0x7c]
mov eax, dword [esp + 0x7c]
fstp dword [esi + 0x38]
fld dword [edx + 0xb8]
fmul dword [edi + 0x2c]
fstp dword [esp]
push eax
push ecx
call fcn.00401415
fld dword [esp + 0x50]
fadd dword [edi + 8]
add esp, 0x14
fstp dword [esi + 0x3c]
fld dword [esp + 0x40]
fadd dword [edi + 0xc]
fstp dword [esi + 0x38]
mov eax, dword [esi + 0x38]
mov edx, dword [esi + 0x3c]
mov dword [esp + 0x58], eax
cmp dword [esi + 0xe8], ebp
mov dword [esp + 0x54], edx
je 0x4267ad
cmp dword [edi + 0x1fc], ebp
je 0x42652d
cmp dword [edi + 0x218], ebp
jne 0x426539
mov ecx, dword [edi + 8]
mov dword [esi + 0x3c], ecx
mov edx, dword [edi + 0xc]
mov dword [esi + 0x38], edx
mov eax, dword [edi + 0x1fc]
cmp eax, 1
jne 0x42658c
fld dword [esi + 0x3c]
lea eax, [esp + 0x48]
fsub dword [edi + 8]
push eax
lea ecx, [esp + 0x48]
push ecx
fstp dword [esi + 0x3c]
mov ecx, dword [esi + 0x3c]
fld dword [esi + 0x38]
fsub dword [edi + 0xc]
fst dword [esp + 0x78]
mov eax, dword [esp + 0x78]
fstp dword [esi + 0x38]
mov edx, dword [edi + 0x2c]
push edx
push eax
push ecx
call fcn.00401415
fld dword [esp + 0x58]
fadd dword [edi + 8]
add esp, 0x14
fstp dword [esi + 0x3c]
fld dword [esp + 0x48]
jmp 0x42665d
cmp eax, 2
jne 0x426663
mov ebx, dword [edi + 0x218]
cmp ebx, ebp
jle 0x426663
mov eax, dword [esi + 0x24]
cmp eax, 0xffffffff
je 0x4265ba
imul eax, eax, 0x168
cdq
idiv ebx
mov dword [esp + 0x70], eax
jmp 0x4265e6
mov ecx, dword [edi + 0x144]
mov eax, ecx
imul eax, eax, 0x168
cdq
idiv ebx
mov dword [esi + 0x24], ecx
mov dword [esp + 0x70], eax
mov eax, dword [edi + 0x144]
inc eax
cdq
idiv dword [edi + 0x218]
mov dword [edi + 0x144], edx
fild dword [esp + 0x70]
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x2c]
push eax
fstp dword [esp + 0x78]
mov eax, dword [esp + 0x78]
fld dword [edi + 0x1e0]
fadd dword [0x4b24b4]
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0x5c]
push edx
push eax
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [edi + 0x1dc]
fadd dword [0x4b24b4]
fstp dword [esp]
call fcn.00402360
mov edx, dword [edi + 0x28]
lea eax, [esp + 0x4c]
push eax
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x78]
push edx
push eax
push ecx
call fcn.00401415
fld dword [esp + 0x5c]
fadd dword [edi + 8]
add esp, 0x34
fstp dword [esi + 0x3c]
fld dword [esp + 0x2c]
fadd dword [edi + 0xc]
fstp dword [esi + 0x38]
mov edx, dword [esi + 0x48]
mov dword [esi + 0xac], edx
mov edx, dword [esi + 0xe4]
fld dword [edx + 4]
fadd dword [esi + 0x94]
fst dword [esi + 0x48]
fcomp dword [0x4b24c8]
fnstsw ax
test ah, 5
jp 0x42668e
mov dword [esi + 0x48], ebp
fld dword [edi + 0x1ac]
fmul dword [edi + 0x1bc]
fmul dword [esi + 0x48]
fst dword [esi + 0x48]
mov eax, dword [edi + 0x6c]
cmp eax, ebp
je 0x4266cd
mov eax, dword [edi + 0x178]
mov ecx, dword [edi + 0x70]
fld dword [eax + 0xe0]
fmul dword [ecx + 0x1ac]
fmul dword [edi + 0xb0]
fmul dword [edi + 0x88]
fmul st(1)
fstp dword [esi + 0x48]
mov eax, dword [esi + 0x48]
fstp st(0)
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x4c], eax
mov dword [esi + 0xb0], ecx
fld dword [edx + 8]
cmp dword [edx + 0x118], ebp
je 0x4266f1
fadd dword [esi + 0x94]
jmp 0x4266f7
fadd dword [esi + 0x98]
fstp dword [esi + 0x50]
fld dword [esi + 0x50]
fcomp dword [0x4b24c8]
fnstsw ax
test ah, 5
jp 0x42670d
mov dword [esi + 0x50], ebp
fld dword [edi + 0x1b0]
fmul dword [edi + 0x1bc]
fmul dword [esi + 0x50]
fst dword [esi + 0x50]
mov eax, dword [edi + 0x6c]
cmp eax, ebp
je 0x426774
mov ecx, dword [edi + 0x178]
fld dword [edi + 0x8c]
cmp dword [ecx + 0x18], ebp
je 0x42673f
fstp st(0)
fld dword [edi + 0x88]
mov eax, dword [edi + 0x70]
mov ebx, dword [eax + 0x178]
fld dword [eax + 0x1b0]
cmp dword [ebx + 0x18], ebp
je 0x42675b
fstp st(0)
fld dword [eax + 0x1ac]
fld dword [ecx + 0xe0]
fmul dword [edi + 0xb0]
fmul st(3)
fmul st(1)
fmul st(2)
fstp dword [esi + 0x50]
fstp st(0)
fstp st(0)
mov eax, dword [esi + 0x50]
fstp st(0)
mov dword [esi + 0x54], eax
fld dword [edx + 0x24]
fadd dword [esi + 0x9c]
fmul dword [edi + 0x1c4]
fst dword [esi + 0x44]
mov eax, dword [edi + 0x6c]
cmp eax, ebp
je 0x426859
mov ecx, dword [edi + 0x178]
fmul dword [ecx + 0xdc]
fstp dword [esi + 0x44]
jmp 0x42685b
mov eax, dword [edi + 0x190]
cmp eax, ebp
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
je 0x426829
mov ecx, dword [eax + 0x50]
xor ebx, ebx
test ecx, ecx
jle 0x426829
mov edx, dword [edi + 0x190]
mov eax, dword [edx + 0x4c]
mov ecx, dword [eax + ebx*4]
lea edx, [esp + 0x34]
push edx
mov edx, dword [esi + 0x38]
lea eax, [esp + 0x34]
push eax
mov eax, dword [esi + 0x3c]
push edx
push eax
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
call fcn.00402347
fld dword [esp + 0x30]
fadd dword [esp + 0x14]
mov ecx, dword [edi + 0x190]
mov eax, dword [ecx + 0x50]
inc ebx
cmp ebx, eax
fstp dword [esp + 0x14]
fld dword [esp + 0x34]
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
jl 0x4267d0
fld dword [esp + 0x10]
fmul dword [esi + 0x2c]
fadd dword [esi + 0x3c]
fstp dword [esi + 0x3c]
fld dword [esp + 0x10]
fmul dword [esi + 0x28]
fadd dword [esi + 0x38]
fstp dword [esi + 0x38]
fld dword [esp + 0x14]
fadd dword [esi + 0x58]
fstp dword [esi + 0x58]
fld dword [esp + 0x18]
fadd dword [esi + 0x5c]
fstp dword [esi + 0x5c]
jmp 0x42685b
fstp st(0)
mov eax, dword [edi + 0x190]
test eax, eax
je 0x4268a8
mov ecx, dword [esi + 0xf4]
xor ebx, ebx
cmp ecx, ebx
je 0x426879
mov dword [esi + 0xf4], ebx
jmp 0x4268a8
cmp dword [eax + 0x28], ebx
jle 0x4268a8
mov ebp, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov eax, dword [edi + 0x190]
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx + ebx*4]
push edx
push ebp
push esi
call fcn.004015be
mov edx, dword [edi + 0x190]
mov eax, dword [edx + 0x28]
inc ebx
cmp ebx, eax
jl 0x426882
fld dword [esi + 0x34]
mov ecx, esi
fsub dword [esp + 0x10]
fstp dword [esi + 0x34]
call fcn.00401195
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0xec]
test eax, eax
mov dword [esp + 0x20], ecx
je 0x426906
fld dword [edi + 0x28]
mov ecx, dword [esi + 0xe4]
fsub dword [esi + 0x8c]
lea edx, [esp + 0x20]
push edx
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x24]
fmul dword [ecx + 0xb8]
push ecx
fstp dword [esp]
push edx
push eax
call fcn.00401415
add esp, 0x14
fld dword [esp + 0x1c]
mov eax, dword [esi + 0xe8]
test eax, eax
fmul dword [esi + 0x78]
fstp dword [esi + 0x2c]
fld dword [esp + 0x20]
fmul dword [esi + 0x78]
fstp dword [esi + 0x28]
jne 0x426936
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x50]
mov dword [esi + 0xac], ecx
mov dword [esi + 0xb0], edx
fld dword [esi + 0x70]
fmul dword [esi + 0x4c]
fstp dword [esi + 0x48]
fld dword [esi + 0x74]
fmul dword [esi + 0x54]
fstp dword [esi + 0x50]
fld dword [esi + 0x7c]
fmul dword [esi + 0x60]
fst dword [esi + 4]
fld dword [esi + 0x88]
fmul dword [esi + 0x64]
fstp dword [esi + 0x44]
fld dword [esi + 0x84]
fmul dword [esi + 0x6c]
fstp dword [esi + 0xc]
fld dword [esi + 0x80]
fmul dword [esi + 0x68]
fst dword [esp + 0x70]
fstp dword [esi + 8]
fmul dword [esp + 0x10]
fmul dword [0x4b2c3c]
fadd dword [esi + 0x5c]
fst dword [esi + 0x5c]
fld dword [esp + 0x70]
fcomp dword [0x4b24c8]
fnstsw ax
test ah, 0x41
jne 0x426a4a
mov eax, dword [esi + 0x58]
fstp dword [esp + 0x64]
fld dword [esp + 0x70]
mov dword [esp + 0x60], eax
fmul dword [0x4b24b4]
fstp dword [esp + 0x5c]
call fcn.00451ff5
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
fmul dword [esi + 8]
fmul dword [0x4b2c44]
fsubr dword [esp + 0x5c]
fadd dword [esi + 0x58]
fstp dword [esi + 0x58]
fld dword [esi + 8]
fmul dword [0x4b24b4]
fstp dword [esp + 0x5c]
call fcn.00451ff5
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
mov eax, dword [esi + 0xe4]
fmul dword [esi + 8]
fmul dword [0x4b2c44]
fsubr dword [esp + 0x5c]
fadd dword [esi + 0x5c]
fst dword [esi + 0x5c]
mov ecx, dword [eax + 0xa8]
test ecx, ecx
je 0x426a4a
fld dword [esi + 0x58]
fpatan
fmul qword [0x4b2ba0]
fiadd dword [eax + 0xb0]
fsub dword [esi + 0xa8]
fabs
fcomp qword [0x4b2ce8]
fnstsw ax
test ah, 0x41
jne 0x426a4c
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov dword [esi + 0x58], ecx
mov dword [esi + 0x5c], edx
jmp 0x426a4c
fstp st(0)
mov eax, dword [esi + 0xe4]
mov ecx, dword [eax + 0xcc]
test ecx, ecx
jne 0x426b67
mov ecx, dword [eax + 0xf0]
test ecx, ecx
jne 0x426b67
fld dword [esi + 0x34]
fcomp dword [esi + 0xd8]
fnstsw ax
test ah, 0x41
jp 0x426a85
mov ecx, esi
call fcn.00401569
movzx eax, byte [esi + 0xbc]
fld dword [esp + 0x10]
fmul dword [esi + 0xc8]
movzx ecx, byte [esi + 0xbd]
movzx edx, byte [esi + 0xbe]
mov dword [esp + 0x70], eax
fiadd dword [esp + 0x70]
mov dword [esp + 0x70], ecx
fadd dword [0x4b24b4]
fld dword [esp + 0x10]
fmul dword [esi + 0xcc]
fiadd dword [esp + 0x70]
mov dword [esp + 0x70], edx
fadd dword [0x4b24b4]
fstp dword [esp + 0x64]
fld dword [esp + 0x10]
fmul dword [esi + 0xd0]
fiadd dword [esp + 0x70]
fadd dword [0x4b24b4]
fstp dword [esp + 0x70]
call fcn.00451684
test eax, eax
jl 0x426afa
cmp eax, 0xff
jge 0x426b06
xor ecx, ecx
test eax, eax
setl cl
dec ecx
and ecx, eax
jmp 0x426b0b
mov ecx, 0xff
fld dword [esp + 0x64]
mov byte [esi + 0xbc], cl
call fcn.00451684
test eax, eax
jl 0x426b25
cmp eax, 0xff
jge 0x426b31
xor ecx, ecx
test eax, eax
setl cl
dec ecx
and ecx, eax
jmp 0x426b36
mov ecx, 0xff
fld dword [esp + 0x70]
mov byte [esi + 0xbd], cl
call fcn.00451684
test eax, eax
jl 0x426b50
cmp eax, 0xff
jge 0x426b5c
xor ecx, ecx
test eax, eax
setl cl
dec ecx
and ecx, eax
jmp 0x426b61
mov ecx, 0xff
mov byte [esi + 0xbe], cl
fld dword [esi + 0x34]
fcomp dword [esi + 0xdc]
fnstsw ax
test ah, 0x41
jp 0x426b7e
mov ecx, esi
call fcn.00401a9b
movzx eax, byte [esi + 0xbf]
fld dword [esp + 0x10]
fmul dword [esi + 0xd4]
mov dword [esp + 0x70], eax
fiadd dword [esp + 0x70]
fadd dword [0x4b24b4]
call fcn.00451684
test eax, eax
jl 0x426bad
cmp eax, 0xff
jge 0x426bb9
xor ecx, ecx
test eax, eax
setl cl
dec ecx
and ecx, eax
jmp 0x426bbe
mov ecx, 0xff
mov eax, dword [esi + 0xe4]
mov byte [esi + 0xbf], cl
fld dword [eax + 0x54]
fmul dword [edi + 0x1e8]
mov ecx, dword [eax + 0xdc]
test ecx, ecx
fstp dword [esp + 0x70]
je 0x426cbe
mov ecx, dword [edi + 0x190]
test ecx, ecx
je 0x426cbe
mov edx, dword [edi + 0x50]
test edx, edx
mov eax, ecx
je 0x426c0d
mov edx, dword [ecx + 0x110]
test edx, edx
jg 0x426c0d
mov ecx, edi
call fcn.00402590
mov edx, dword [esi + 0x38]
lea ecx, [esp + 0x6c]
push ecx
mov ecx, dword [esi + 0x3c]
push edx
push ecx
mov ecx, eax
call fcn.00402400
fld dword [esp + 0x70]
fsubr qword [0x4b2c58]
mov ebx, eax
movzx eax, byte [esi + 0xbc]
movzx edx, bl
mov dword [esp + 0x64], edx
fild dword [esp + 0x64]
mov dword [esp + 0x64], eax
fmul dword [esp + 0x70]
fild dword [esp + 0x64]
fmul st(2)
faddp st(1)
call fcn.00451684
movzx edx, byte [esi + 0xbd]
movzx ecx, bh
mov dword [esp + 0x64], ecx
mov byte [esi + 0xc4], al
fild dword [esp + 0x64]
mov dword [esp + 0x64], edx
fmul dword [esp + 0x70]
fild dword [esp + 0x64]
fmul st(2)
faddp st(1)
call fcn.00451684
movzx ecx, byte [esi + 0xbe]
shr ebx, 0x10
mov byte [esi + 0xc5], al
movzx eax, bl
mov dword [esp + 0x64], eax
fild dword [esp + 0x64]
fmul dword [esp + 0x70]
mov dword [esp + 0x70], ecx
fild dword [esp + 0x70]
fmul st(2)
faddp st(1)
call fcn.00451684
fstp st(0)
mov byte [esi + 0xc6], al
jmp 0x426d83
mov ecx, dword [eax + 0xd8]
test ecx, ecx
je 0x426d5f
movzx edx, byte [esi + 0xc0]
fld dword [esp + 0x70]
fsubr qword [0x4b2c58]
movzx eax, byte [esi + 0xbc]
mov dword [esp + 0x64], edx
fild dword [esp + 0x64]
mov dword [esp + 0x64], eax
fmul dword [esp + 0x70]
fild dword [esp + 0x64]
fmul st(2)
faddp st(1)
call fcn.00451684
movzx ecx, byte [esi + 0xc1]
movzx edx, byte [esi + 0xbd]
mov dword [esp + 0x64], ecx
mov byte [esi + 0xc4], al
fild dword [esp + 0x64]
mov dword [esp + 0x64], edx
fmul dword [esp + 0x70]
fild dword [esp + 0x64]
fmul st(2)
faddp st(1)
call fcn.00451684
movzx ecx, byte [esi + 0xbe]
mov byte [esi + 0xc5], al
movzx eax, byte [esi + 0xc2]
mov dword [esp + 0x64], eax
fild dword [esp + 0x64]
fmul dword [esp + 0x70]
mov dword [esp + 0x70], ecx
fild dword [esp + 0x70]
jmp 0x426ca8
mov dl, byte [esi + 0xbc]
mov al, byte [esi + 0xbd]
mov cl, byte [esi + 0xbe]
mov byte [esi + 0xc4], dl
mov byte [esi + 0xc5], al
mov byte [esi + 0xc6], cl
mov eax, dword [esi + 0xe4]
mov ecx, dword [eax + 0xec]
test ecx, ecx
je 0x426df0
mov ecx, dword [edi + 0x50]
test ecx, ecx
mov eax, dword [edi + 0x190]
je 0x426db1
mov ecx, dword [eax + 0x110]
test ecx, ecx
jg 0x426db1
mov ecx, edi
call fcn.00402590
mov edx, dword [esi + 0x38]
mov ecx, dword [esi + 0x3c]
lea ebx, [esi + 0xc3]
push ebx
push edx
push ecx
mov ecx, eax
call fcn.00402400
movzx edx, byte [esi + 0xbf]
movzx eax, byte [ebx]
mov dword [esp + 0x70], edx
fild dword [esp + 0x70]
mov dword [esp + 0x70], eax
fmul qword [0x4b2cd8]
fild dword [esp + 0x70]
faddp st(1)
call fcn.00451684
jmp 0x426e2d
mov ecx, dword [eax + 0xe8]
test ecx, ecx
je 0x426e27
movzx ecx, byte [esi + 0xc3]
movzx edx, byte [esi + 0xbf]
mov dword [esp + 0x70], ecx
fild dword [esp + 0x70]
mov dword [esp + 0x70], edx
fild dword [esp + 0x70]
fmul qword [0x4b2cd8]
faddp st(1)
call fcn.00451684
jmp 0x426e2d
mov al, byte [esi + 0xbf]
mov byte [esi + 0xc7], al
mov eax, dword [esi + 0xec]
test eax, eax
je 0x426e52
mov ecx, dword [esi + 0xe4]
fld dword [ecx + 0xb8]
fmul dword [edi + 0x2c]
fsubr dword [esi + 0x40]
fstp dword [esi + 0x40]
mov ecx, dword [esi + 0xe8]
test ecx, ecx
je 0x426e65
fld dword [esi + 0x40]
fsub dword [edi + 0x2c]
fstp dword [esi + 0x40]
mov eax, dword [esi + 0xe4]
mov edx, dword [eax + 0xa8]
test edx, edx
je 0x426e99
test ecx, ecx
jne 0x426ea6
fld dword [esi + 0x28]
fld dword [esi + 0x2c]
fpatan
fmul qword [0x4b2ba0]
fst dword [esi + 0x40]
fild dword [eax + 0xb0]
fadd st(1)
fstp dword [esi + 0x40]
fstp st(0)
jmp 0x426ea6
fld dword [esp + 0x10]
fmul dword [esi + 0x44]
fadd dword [esi + 0x40]
fstp dword [esi + 0x40]
mov edx, dword [eax + 0x9c]
mov edx, dword [edx + 0xc]
cmp edx, 1
jle 0x426ef5
mov ecx, dword [esi + 0xfc]
cmp ecx, 0xffffffff
je 0x426ef5
test ecx, ecx
je 0x426ecc
dec ecx
mov dword [esi + 0xfc], ecx
jmp 0x426ef5
mov eax, dword [eax + 0xbc]
mov ecx, dword [esi + 0xf8]
inc ecx
mov dword [esi + 0xfc], eax
mov eax, ecx
cmp eax, edx
mov dword [esi + 0xf8], ecx
jl 0x426ef5
mov dword [esi + 0xf8], 0
mov eax, dword [esp + 0x24]
mov ecx, dword [edi + 0x40]
inc eax
cmp eax, ecx
mov dword [esp + 0x24], eax
jl 0x426452
mov eax, dword [edi + 0x4c]
test eax, eax
jne 0x426f3c
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 0x1fc]
test eax, eax
jne 0x426f3c
mov eax, dword [edi + 0x68]
test eax, eax
mov ecx, edi
jne 0x426f32
mov edx, dword [esp + 0x38]
push edx
call fcn.004019dd
jmp 0x426f3c
mov eax, dword [esp + 0x38]
push eax
call fcn.00402351
mov ecx, dword [edi + 8]
mov edx, dword [edi + 0xc]
mov dword [edi + 0x10], ecx
mov dword [edi + 0x14], edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret 8