Function at 0x4049c0
Capabilities:
Check http status code
Resolve function by parsing pe exports

Disassembly:
mov eax, dword [0x5d5a00]
test eax, eax
je 0x404a08
mov ecx, dword [0x5d5a0c]
test ecx, ecx
je 0x404a08
mov eax, dword [esp + 4]
test eax, eax
jne 0x4049e3
mov eax, dword [ecx + 0x6c8]
jmp 0x4049f0
push eax
call fcn.00410b30
add esp, 4
test eax, eax
je 0x404a08
mov ecx, dword [0x5c4308]
mov dword [esp + 4], eax
test ecx, ecx
je 0x404a03
jmp 0x415dc0
jmp 0x421da0
ret
mov eax, dword [0x5d5a0c]
sub esp, 0x108
push ebp
xor ebp, ebp
cmp eax, ebp
push esi
mov dword [0x7e3340], ebp
mov dword [0x7e32a4], ebp
mov dword [0x7e333c], ebp
mov dword [0x7e28ac], ebp
mov dword [0x7e3344], ebp
mov dword [0x7e0eb0], ebp
je 0x417847
mov ecx, dword [eax + 0x760]
push ebx
push edi
mov edi, dword [esp + 0x11c]
mov dword [0x5d5ab4], ecx
mov ecx, dword [edi + 0x30]
mov dword [eax + 0x480], ebp
mov eax, dword [0x5d5ab4]
push ecx
push eax
mov dword [esp + 0x54], ecx
mov edx, dword [eax]
call dword [edx + 0x30]
mov dword [0x7e2768], eax
mov eax, dword [0x5d5a0c]
mov ecx, dword [eax + 0x69c]
cmp dword [ecx], ebp
jne 0x415e52
mov edx, dword [esp + 0x124]
mov eax, dword [esp + 0x120]
push edx
push eax
jmp 0x4177b7
mov ecx, dword [edi + 0x14]
cmp ecx, ebp
jne 0x415e6e
mov ecx, dword [esp + 0x124]
mov edx, dword [esp + 0x120]
push ecx
push edx
jmp 0x4177b7
cmp dword [ecx + 0x88], ebp
je 0x4177a7
cmp dword [ecx + 0x9c], ebp
je 0x4177a7
mov ecx, dword [eax + 0x718]
mov dword [eax + 0x71c], ecx
mov edx, dword [0x5d5a0c]
mov eax, dword [edx + 0x718]
push eax
push edi
call fcn.0041a9b0
mov ecx, dword [esp + 0x12c]
mov edx, dword [esp + 0x128]
push ecx
push edx
push edi
call fcn.0041a400
mov eax, dword [edi + 0x14]
lea edx, [esp + 0x6c]
push edx
mov ecx, dword [eax + 0x9c]
mov dword [esp + 0x5c], ecx
call fcn.00430c20
mov esi, dword [edi + 0x14]
add esp, 0x18
cmp esi, ebp
je 0x415f04
cmp dword [esi + 0x88], ebp
je 0x415efa
lea eax, [esi + 8]
lea ecx, [esp + 0x58]
push eax
lea edx, [esp + 0x5c]
push ecx
push edx
call fcn.00431180
add esp, 0xc
mov esi, dword [esi + 0x124]
cmp esi, ebp
jne 0x415edc
mov eax, dword [edi + 0x14]
lea ecx, [esp + 0x58]
add eax, 0x38
push eax
push ecx
call fcn.00431520
mov eax, dword [edi + 0x14]
lea edx, [esp + 0xa0]
add eax, 0x38
push edx
push eax
call fcn.004315e0
mov ecx, dword [0x5d5a0c]
add esp, 0x10
mov esi, dword [ecx + 0x6d4]
cmp esi, ebp
je 0x415f58
cmp dword [esi], ebp
je 0x415f51
lea edx, [esp + 0x98]
push edx
push esi
call fcn.00417850
add esp, 8
mov esi, dword [esi + 0x18]
cmp esi, ebp
jne 0x415f3c
mov eax, dword [0x5d5a0c]
mov esi, dword [eax + 0x6dc]
cmp esi, ebp
je 0x415f84
cmp dword [esi + 4], ebp
je 0x415f7d
lea ecx, [esp + 0x98]
push ecx
push esi
call fcn.00417960
add esp, 8
mov esi, dword [esi + 0x1c]
cmp esi, ebp
jne 0x415f67
mov edx, dword [edi + 0x14]
mov eax, dword [0x5d5ab4]
mov ecx, dword [edx + 0x9c]
mov edx, dword [eax]
add ecx, 0x24
push ecx
push 3
push eax
mov dword [esp + 0x60], ecx
call dword [edx + 0x64]
mov eax, dword [0x7e5bc0]
xor ebx, ebx
cmp eax, ebp
jle 0x41626a
mov edi, dword [ebx*4 + 0x7ead80]
cmp edi, ebp
je 0x41625c
cmp dword [edi + 0x8c], ebp
je 0x41625c
mov eax, dword [edi + 4]
cmp eax, 4
je 0x41625c
cmp eax, 6
jne 0x415fed
mov eax, dword [edi + 0x9c]
test byte [eax + 4], 0x10
jne 0x41625c
cmp dword [edi + 0x124], ebp
jne 0x41600f
lea ecx, [esp + 0x98]
lea edx, [edi + 8]
push ecx
lea eax, [edi + 0x38]
push edx
push eax
call fcn.00430fb0
add esp, 0xc
jmp 0x41607b
lea ecx, [esp + 0x58]
mov esi, edi
push ecx
call fcn.00430c20
add esp, 4
cmp dword [esi + 0x88], ebp
je 0x416051
cmp dword [esi + 0x7c], ebp
je 0x416032
mov dword [edi + 0x7c], 1
cmp dword [esi + 0x78], ebp
jne 0x4160c1
lea edx, [esi + 8]
lea eax, [esp + 0x58]
push edx
lea ecx, [esp + 0x5c]
push eax
push ecx
call fcn.00431180
add esp, 0xc
mov esi, dword [esi + 0x124]
cmp esi, ebp
jne 0x41601e
lea esi, [edi + 0x38]
lea ecx, [esp + 0x58]
push esi
push ecx
call fcn.00431520
lea edx, [esp + 0xa0]
push edx
push esi
push esi
call fcn.004312e0
add esp, 0x14
mov eax, dword [edi + 4]
mov dword [edi + 0x78], 1
cmp eax, 3
jne 0x41625c
call fcn.00415d80
cmp eax, ebp
jl 0x41625c
mov ebp, dword [edi + 0x9c]
lea esi, [eax*4 + 0x484]
mov ecx, dword [ebp + 4]
cmp ecx, 1
jne 0x4160d8
mov eax, dword [0x5d5a0c]
mov ecx, dword [esi + eax]
mov dword [ecx + 0xc], 3
jmp 0x416115
add esi, 0x38
lea edx, [esp + 0x58]
push esi
lea eax, [edi + 0x38]
push edx
push eax
call fcn.00430fb0
add esp, 0xc
jmp 0x41607b
cmp ecx, 2
jne 0x4160ef
mov edx, dword [0x5d5a0c]
mov eax, dword [esi + edx]
mov dword [eax + 0xc], 1
jmp 0x416115
cmp ecx, 3
jne 0x416106
mov ecx, dword [0x5d5a0c]
mov edx, dword [esi + ecx]
mov dword [edx + 0xc], 2
jmp 0x416115
mov eax, dword [0x5d5a0c]
mov ecx, dword [esi + eax]
mov dword [ecx + 0xc], 4
fld dword [ebp + 8]
mov edx, dword [0x5d5a0c]
fmul dword [ebp + 0x14]
mov eax, dword [esi + edx]
fstp dword [eax + 0x10]
fld dword [ebp + 0xc]
mov ecx, dword [0x5d5a0c]
fmul dword [ebp + 0x14]
mov edx, dword [esi + ecx]
fstp dword [edx + 0x14]
fld dword [ebp + 0x10]
mov eax, dword [0x5d5a0c]
fmul dword [ebp + 0x14]
mov ecx, dword [esi + eax]
fstp dword [ecx + 0x18]
mov edx, dword [0x5d5a0c]
mov ecx, dword [edi + 0x68]
mov eax, dword [esi + edx]
mov dword [eax + 0x20], ecx
mov edx, dword [0x5d5a0c]
mov ecx, dword [edi + 0x6c]
mov eax, dword [esi + edx]
mov dword [eax + 0x24], ecx
mov edx, dword [0x5d5a0c]
mov ecx, dword [edi + 0x70]
mov eax, dword [esi + edx]
lea edx, [esp + 0x34]
push edx
mov dword [eax + 0x28], ecx
fld dword [edi + 0x58]
fchs
fstp dword [esp + 0x38]
fld dword [edi + 0x5c]
fchs
fstp dword [esp + 0x3c]
fld dword [edi + 0x60]
fchs
fstp dword [esp + 0x40]
call fcn.00431a20
mov eax, dword [0x5d5a0c]
mov edx, dword [esp + 0x38]
add esp, 4
mov ecx, dword [esi + eax]
mov dword [ecx + 0x2c], edx
mov eax, dword [0x5d5a0c]
mov edx, dword [esp + 0x38]
mov ecx, dword [esi + eax]
mov dword [ecx + 0x30], edx
mov eax, dword [0x5d5a0c]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esi + eax]
mov dword [ecx + 0x34], edx
mov eax, dword [ebp + 4]
cmp eax, 3
jne 0x41620c
fld dword [ebp + 0x1c]
mov eax, dword [0x5d5a0c]
fmul dword [0x5a8420]
mov ecx, dword [esi + eax]
fstp dword [ecx + 0x4c]
fld dword [ebp + 0x20]
mov edx, dword [0x5d5a0c]
fmul dword [0x5a8420]
mov eax, dword [esi + edx]
fstp dword [eax + 0x50]
mov ecx, dword [0x5d5a0c]
mov eax, dword [ebp + 0x24]
mov edx, dword [esi + ecx]
mov dword [edx + 0x3c], eax
mov ecx, dword [0x5d5a0c]
mov eax, dword [ebp + 0x18]
mov edx, dword [esi + ecx]
mov dword [edx + 0x38], eax
mov ecx, dword [0x5d5a0c]
mov eax, dword [esi + ecx]
mov ecx, dword [eax + 4]
add eax, 8
push eax
push ecx
mov edx, dword [ecx]
call dword [edx + 0x10]
mov edx, dword [0x5d5a0c]
mov eax, dword [esp + 0x4c]
mov edx, dword [esi + edx]
mov ecx, dword [eax]
mov edx, dword [edx + 4]
push edx
push eax
call dword [ecx + 0x34]
mov eax, dword [0x5d5a0c]
mov ecx, dword [eax + 0x480]
inc ecx
xor ebp, ebp
mov dword [eax + 0x480], ecx
mov eax, dword [0x7e5bc0]
inc ebx
cmp ebx, eax
jl 0x415fb1
mov eax, dword [0x5c45ac]
xor ebx, ebx
cmp eax, ebp
je 0x4171a0
mov eax, dword [0x5d5a0c]
xor ebp, ebp
xor esi, esi
mov ecx, dword [eax + 0x69c]
mov dword [esp + 0x48], esi
mov ecx, dword [ecx]
cmp ecx, ebx
je 0x4170c7
mov edi, dword [esp + 0x44]
mov eax, dword [ecx + 0x118]
xor edx, edx
cmp eax, 0xff
mov eax, dword [ecx + 0x8c]
setl dl
cmp eax, ebx
je 0x41704d
mov eax, dword [ecx + 4]
cmp eax, 7
je 0x41704d
cmp eax, 6
jne 0x41704d
mov eax, dword [esp + 0x11c]
cmp dword [eax + 0x18], ebx
jne 0x41632a
cmp edx, ebx
jne 0x41632a
mov dword [ecx + 0x140], ebx
inc esi
mov ecx, dword [ecx + 0x130]
cmp ecx, ebx
jne 0x41629a
cmp ebp, 1
mov dword [esp + 0x48], esi
jle 0x4170c7
cmp esi, ebx
je 0x417064
mov ecx, dword [0x5d5a0c]
lea eax, [esi - 1]
cmp eax, ebx
mov edx, dword [ecx + 0x69c]
mov edi, dword [edx]
je 0x417066
mov edi, dword [edi + 0x130]
dec eax
jne 0x41631c
jmp 0x417066
mov eax, dword [ecx + 0x9c]
test byte [eax + 4], 0x10
mov eax, dword [ecx + 0xa0]
je 0x416353
fld dword [edi + 0x1c]
fsub dword [edi + 0x18]
fmul dword [eax + 8]
fadd dword [edi + 0x18]
fstp dword [ecx + 0x140]
jmp 0x417056
fld dword [eax + 0x28]
fmul dword [ecx + 0x40]
fld st(0)
fmul dword [eax + 0x10]
fxch st(1)
fmul dword [eax + 0x14]
fld dword [eax + 0x2c]
fmul dword [ecx + 0x50]
fld st(0)
fmul dword [eax + 0x18]
fxch st(1)
fmul dword [eax + 0x1c]
fld dword [eax + 0x30]
fmul dword [ecx + 0x60]
fld st(0)
fmul dword [eax + 0x20]
fadd dword [ecx + 0x70]
fstp dword [esp + 0x40]
fmul dword [eax + 0x24]
fadd dword [ecx + 0x70]
fst dword [esp + 0x30]
fadd st(1)
fst dword [esp + 0x50]
fadd st(3)
fstp dword [esp + 0x10]
fld dword [esp + 0x40]
fadd st(1)
fstp dword [esp + 0x48]
fstp st(0)
fld dword [esp + 0x48]
fadd st(2)
fstp dword [esp + 0x14]
fld dword [esp + 0x30]
fadd st(1)
fst dword [esp + 0x30]
fadd st(2)
fstp dword [esp + 0x18]
fld dword [esp + 0x40]
fadd st(1)
fstp dword [esp + 0x40]
fstp st(0)
fld dword [esp + 0x40]
fadd st(1)
fstp dword [esp + 0x1c]
fstp st(0)
fld dword [esp + 0x50]
fadd st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x48]
fadd st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x30]
fadd st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x40]
fadd st(1)
fstp dword [esp + 0x2c]
fstp st(0)
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x41641a
fld dword [esp + 0x28]
jmp 0x41641e
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416433
fld dword [esp + 0x24]
jmp 0x41644e
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x41644a
fld dword [esp + 0x28]
jmp 0x41644e
fld dword [esp + 0x2c]
fld dword [esp + 0x20]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416463
fld dword [esp + 0x20]
jmp 0x4164ae
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x41647a
fld dword [esp + 0x28]
jmp 0x41647e
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416493
fld dword [esp + 0x24]
jmp 0x4164ae
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x4164aa
fld dword [esp + 0x28]
jmp 0x4164ae
fld dword [esp + 0x2c]
fld dword [esp + 0x1c]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x4164c6
fld dword [esp + 0x1c]
jmp 0x416571
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x4164dd
fld dword [esp + 0x28]
jmp 0x4164e1
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x4164f6
fld dword [esp + 0x24]
jmp 0x416511
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x41650d
fld dword [esp + 0x28]
jmp 0x416511
fld dword [esp + 0x2c]
fld dword [esp + 0x20]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416526
fld dword [esp + 0x20]
jmp 0x416571
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x41653d
fld dword [esp + 0x28]
jmp 0x416541
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416556
fld dword [esp + 0x24]
jmp 0x416571
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x41656d
fld dword [esp + 0x28]
jmp 0x416571
fld dword [esp + 0x2c]
fld dword [esp + 0x18]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416589
fld dword [esp + 0x18]
jmp 0x4166f7
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x4165a0
fld dword [esp + 0x28]
jmp 0x4165a4
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x4165b9
fld dword [esp + 0x24]
jmp 0x4165d4
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x4165d0
fld dword [esp + 0x28]
jmp 0x4165d4
fld dword [esp + 0x2c]
fld dword [esp + 0x20]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x4165e9
fld dword [esp + 0x20]
jmp 0x416634
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416600
fld dword [esp + 0x28]
jmp 0x416604
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416619
fld dword [esp + 0x24]
jmp 0x416634
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416630
fld dword [esp + 0x28]
jmp 0x416634
fld dword [esp + 0x2c]
fld dword [esp + 0x1c]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x41664c
fld dword [esp + 0x1c]
jmp 0x4166f7
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416663
fld dword [esp + 0x28]
jmp 0x416667
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x41667c
fld dword [esp + 0x24]
jmp 0x416697
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416693
fld dword [esp + 0x28]
jmp 0x416697
fld dword [esp + 0x2c]
fld dword [esp + 0x20]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x4166ac
fld dword [esp + 0x20]
jmp 0x4166f7
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x4166c3
fld dword [esp + 0x28]
jmp 0x4166c7
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x4166dc
fld dword [esp + 0x24]
jmp 0x4166f7
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x4166f3
fld dword [esp + 0x28]
jmp 0x4166f7
fld dword [esp + 0x2c]
fld dword [esp + 0x14]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x41670f
fld dword [esp + 0x14]
jmp 0x416a03
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416726
fld dword [esp + 0x28]
jmp 0x41672a
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x41673f
fld dword [esp + 0x24]
jmp 0x41675a
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416756
fld dword [esp + 0x28]
jmp 0x41675a
fld dword [esp + 0x2c]
fld dword [esp + 0x20]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x41676f
fld dword [esp + 0x20]
jmp 0x4167ba
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416786
fld dword [esp + 0x28]
jmp 0x41678a
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x41679f
fld dword [esp + 0x24]
jmp 0x4167ba
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x4167b6
fld dword [esp + 0x28]
jmp 0x4167ba
fld dword [esp + 0x2c]
fld dword [esp + 0x1c]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x4167d2
fld dword [esp + 0x1c]
jmp 0x41687d
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x4167e9
fld dword [esp + 0x28]
jmp 0x4167ed
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416802
fld dword [esp + 0x24]
jmp 0x41681d
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416819
fld dword [esp + 0x28]
jmp 0x41681d
fld dword [esp + 0x2c]
fld dword [esp + 0x20]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416832
fld dword [esp + 0x20]
jmp 0x41687d
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416849
fld dword [esp + 0x28]
jmp 0x41684d
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416862
fld dword [esp + 0x24]
jmp 0x41687d
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416879
fld dword [esp + 0x28]
jmp 0x41687d
fld dword [esp + 0x2c]
fld dword [esp + 0x18]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416895
fld dword [esp + 0x18]
jmp 0x416a03
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x4168ac
fld dword [esp + 0x28]
jmp 0x4168b0
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x4168c5
fld dword [esp + 0x24]
jmp 0x4168e0
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x4168dc
fld dword [esp + 0x28]
jmp 0x4168e0
fld dword [esp + 0x2c]
fld dword [esp + 0x20]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x4168f5
fld dword [esp + 0x20]
jmp 0x416940
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x41690c
fld dword [esp + 0x28]
jmp 0x416910
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416925
fld dword [esp + 0x24]
jmp 0x416940
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x41693c
fld dword [esp + 0x28]
jmp 0x416940
fld dword [esp + 0x2c]
fld dword [esp + 0x1c]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416958
fld dword [esp + 0x1c]
jmp 0x416a03
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x41696f
fld dword [esp + 0x28]
jmp 0x416973
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416988
fld dword [esp + 0x24]
jmp 0x4169a3
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x41699f
fld dword [esp + 0x28]
jmp 0x4169a3
fld dword [esp + 0x2c]
fld dword [esp + 0x20]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x4169b8
fld dword [esp + 0x20]
jmp 0x416a03
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x4169cf
fld dword [esp + 0x28]
jmp 0x4169d3
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x4169e8
fld dword [esp + 0x24]
jmp 0x416a03
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x4169ff
fld dword [esp + 0x28]
jmp 0x416a03
fld dword [esp + 0x2c]
fld dword [esp + 0x10]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416a21
fld dword [esp + 0x10]
fstp dword [ecx + 0x140]
jmp 0x417056
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416a38
fld dword [esp + 0x28]
jmp 0x416a3c
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416a51
fld dword [esp + 0x24]
jmp 0x416a6c
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416a68
fld dword [esp + 0x28]
jmp 0x416a6c
fld dword [esp + 0x2c]
fld dword [esp + 0x20]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416a81
fld dword [esp + 0x20]
jmp 0x416acc
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416a98
fld dword [esp + 0x28]
jmp 0x416a9c
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416ab1
fld dword [esp + 0x24]
jmp 0x416acc
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416ac8
fld dword [esp + 0x28]
jmp 0x416acc
fld dword [esp + 0x2c]
fld dword [esp + 0x1c]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416ae4
fld dword [esp + 0x1c]
jmp 0x416b8f
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416afb
fld dword [esp + 0x28]
jmp 0x416aff
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416b14
fld dword [esp + 0x24]
jmp 0x416b2f
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416b2b
fld dword [esp + 0x28]
jmp 0x416b2f
fld dword [esp + 0x2c]
fld dword [esp + 0x20]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416b44
fld dword [esp + 0x20]
jmp 0x416b8f
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416b5b
fld dword [esp + 0x28]
jmp 0x416b5f
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416b74
fld dword [esp + 0x24]
jmp 0x416b8f
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416b8b
fld dword [esp + 0x28]
jmp 0x416b8f
fld dword [esp + 0x2c]
fld dword [esp + 0x18]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416ba7
fld dword [esp + 0x18]
jmp 0x416d15
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416bbe
fld dword [esp + 0x28]
jmp 0x416bc2
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416bd7
fld dword [esp + 0x24]
jmp 0x416bf2
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416bee
fld dword [esp + 0x28]
jmp 0x416bf2
fld dword [esp + 0x2c]
fld dword [esp + 0x20]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416c07
fld dword [esp + 0x20]
jmp 0x416c52
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416c1e
fld dword [esp + 0x28]
jmp 0x416c22
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416c37
fld dword [esp + 0x24]
jmp 0x416c52
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416c4e
fld dword [esp + 0x28]
jmp 0x416c52
fld dword [esp + 0x2c]
fld dword [esp + 0x1c]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416c6a
fld dword [esp + 0x1c]
jmp 0x416d15
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416c81
fld dword [esp + 0x28]
jmp 0x416c85
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416c9a
fld dword [esp + 0x24]
jmp 0x416cb5
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416cb1
fld dword [esp + 0x28]
jmp 0x416cb5
fld dword [esp + 0x2c]
fld dword [esp + 0x20]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416cca
fld dword [esp + 0x20]
jmp 0x416d15
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416ce1
fld dword [esp + 0x28]
jmp 0x416ce5
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416cfa
fld dword [esp + 0x24]
jmp 0x416d15
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416d11
fld dword [esp + 0x28]
jmp 0x416d15
fld dword [esp + 0x2c]
fld dword [esp + 0x14]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416d33
fld dword [esp + 0x14]
fstp dword [ecx + 0x140]
jmp 0x417056
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416d4a
fld dword [esp + 0x28]
jmp 0x416d4e
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416d63
fld dword [esp + 0x24]
jmp 0x416d7e
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416d7a
fld dword [esp + 0x28]
jmp 0x416d7e
fld dword [esp + 0x2c]
fld dword [esp + 0x20]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416d93
fld dword [esp + 0x20]
jmp 0x416dde
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416daa
fld dword [esp + 0x28]
jmp 0x416dae
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416dc3
fld dword [esp + 0x24]
jmp 0x416dde
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416dda
fld dword [esp + 0x28]
jmp 0x416dde
fld dword [esp + 0x2c]
fld dword [esp + 0x1c]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416df6
fld dword [esp + 0x1c]
jmp 0x416ea1
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416e0d
fld dword [esp + 0x28]
jmp 0x416e11
fld dword [esp + 0x2c]
fld dword [esp + 0x24]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416e26
fld dword [esp + 0x24]
jmp 0x416e41
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416e3d
fld dword [esp + 0x18]
fcompp
fnstsw ax
and eax, 0x4100
jne 0x416ebf
fld dword [esp + 0x18]
fstp dword [ecx + 0x140]
jmp 0x417056
fld dword [esp + 0x28]
fcomp dword [esp + 0x2c]
fnstsw ax
and eax, 0x4100
jne 0x416ed6
mov eax, dword [ecx + 0x70]
mov dword [ecx + 0x140], eax
cmp edx, ebx
je 0x4162e3
inc ebp
jmp 0x4162e4
xor edi, edi
dec ebp
cmp ebp, ebx
jle 0x4170c7
test edi, edi
mov edx, 1
je 0x41707c
mov esi, dword [edi + 0x130]
jmp 0x417089
mov eax, dword [0x5d5a0c]
mov ecx, dword [eax + 0x69c]
mov esi, dword [ecx]
test ebp, ebp
jle 0x4170c7
mov ebx, ebp
mov ecx, dword [esi + 0x130]
fld dword [esi + 0x140]
fcomp dword [ecx + 0x140]
fnstsw ax
and eax, 0x4100
jne 0x4170b9
push 1
push esi
call fcn.0040aee0
add esp, 8
xor edx, edx
jmp 0x4170bb
mov esi, ecx
dec ebx
jne 0x41708f
test edx, edx
jne 0x4170c7
dec ebp
test ebp, ebp
jg 0x41706b
mov eax, dword [esp + 0x11c]
xor ebx, ebx
cmp dword [eax + 0x18], ebx
je 0x4171a0
mov edi, dword [esp + 0x48]
cmp edi, 1
jle 0x4171a0
mov ecx, dword [eax + 0x1c]
dec edi
cmp ecx, ebx
jne 0x41714b
cmp edi, ebx
jle 0x4171a0
mov edx, dword [0x5d5a0c]
cmp edi, ebx
mov ecx, 1
mov eax, dword [edx + 0x69c]
mov esi, dword [eax]
jle 0x4171a0
mov ebp, edi
mov edx, dword [esi + 0x130]
fld dword [esi + 0x140]
fcomp dword [edx + 0x140]
fnstsw ax
test ah, 5
jp 0x41713b
push 1
push esi
call fcn.0040aee0
add esp, 8
xor ecx, ecx
jmp 0x41713d
mov esi, edx
dec ebp
jne 0x417113
cmp ecx, ebx
jne 0x4171a0
dec edi
cmp edi, ebx
jg 0x4170f6
jmp 0x4171a0
cmp edi, ebx
jle 0x4171a0
mov edx, dword [0x5d5a0c]
cmp edi, ebx
mov ecx, 1
mov eax, dword [edx + 0x69c]
mov esi, dword [eax]
jle 0x4171a0
mov ebp, edi
mov edx, dword [esi + 0x130]
fld dword [esi + 0x140]
fcomp dword [edx + 0x140]
fnstsw ax
and eax, 0x4100
jne 0x417192
push 1
push esi
call fcn.0040aee0
add esp, 8
xor ecx, ecx
jmp 0x417194
mov esi, edx
dec ebp
jne 0x417168
cmp ecx, ebx
jne 0x4171a0
dec edi
cmp edi, ebx
jg 0x41714f
mov ecx, dword [0x5d5a0c]
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x30], ebx
mov edx, dword [ecx + 0x69c]
mov esi, dword [edx]
mov dword [0x7e28a4], eax
call fcn.00524060
mov eax, dword [0x5d5ab4]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
cmp eax, ebx
mov dword [0x7e2768], eax
je 0x4171e7
mov eax, dword [0x5d5ab4]
push eax
mov edx, dword [eax]
call dword [edx + 0x28]
jmp 0x4177c0
cmp esi, ebx
je 0x417784
mov ebp, dword [esp + 0x54]
mov eax, dword [esi + 0x88]
mov dword [esi + 0x11c], ebx
cmp eax, ebx
je 0x417776
cmp dword [esi + 0x8c], ebx
je 0x417776
mov eax, dword [esi + 0x9c]
cmp eax, ebx
je 0x417776
cmp dword [esi + 4], 6
jne 0x417239
cmp dword [eax + 0x1c], ebx
je 0x417776
cmp dword [eax + 0x18], ebx
je 0x417776
mov eax, dword [0x5c4620]
mov ecx, dword [esi + 0x118]
cmp eax, ecx
je 0x41725e
mov eax, dword [esi + 0x114]
mov dword [0x5c461c], eax
mov eax, dword [esi + 0x118]
mov dword [0x5c4620], eax
cmp eax, 0xff
jge 0x417286
cmp dword [esp + 0x30], ebx
jne 0x417286
mov ecx, dword [0x5d5ab4]
push 1
push 0x1b
push ecx
call fcn.0041a970
add esp, 0xc
mov dword [esp + 0x30], 1
mov eax, dword [esi + 0x10c]
mov ecx, dword [0x7e0eb4]
cmp ecx, eax
je 0x4172ad
mov edx, dword [0x5d5ab4]
push eax
push 0x13
push edx
mov dword [0x7e0eb4], eax
call fcn.0041a970
add esp, 0xc
mov eax, dword [esi + 0x110]
mov ecx, dword [0x7e0404]
cmp ecx, eax
je 0x4172d3
mov dword [0x7e0404], eax
push eax
mov eax, dword [0x5d5ab4]
push 0x14
push eax
call fcn.0041a970
add esp, 0xc
mov ecx, dword [esp + 0x11c]
mov edx, dword [0x5d5ab4]
push esi
push ecx
push edx
call fcn.0041a230
mov eax, dword [esi + 4]
add esp, 0xc
cmp eax, 6
jne 0x41750e
mov edi, dword [esi + 0x9c]
test byte [edi + 4], 0x10
jne 0x417347
cmp dword [esi + 0x90], ebx
je 0x417347
mov eax, dword [esp + 0x54]
lea ecx, [esi + 0x38]
push eax
lea edx, [esp + 0xdc]
push ecx
push edx
call fcn.004312e0
lea eax, [esp + 0xe4]
push eax
push esi
call fcn.00523960
add esp, 0x14
cmp eax, 1
je 0x417347
cmp eax, 2
jne 0x4176d0
mov ebp, 4
jmp 0x417349
xor ebp, ebp
cmp dword [esi + 0x104], ebx
jne 0x417354
or ebp, 0x10
mov eax, dword [esi + 0xbc]
cmp eax, ebx
je 0x417360
call eax
mov dword [esi + 0x11c], 1
mov eax, dword [edi + 4]
test al, 1
je 0x417445
test al, 0x10
je 0x4173c5
cmp dword [edi + 0x3c], ebx
je 0x4174e7
mov eax, dword [esi + 0x94]
push ebp
cmp eax, 2
jne 0x41739e
mov ecx, dword [0x5d5ab4]
push eax
push edi
push ecx
call fcn.00417a70
jmp 0x4173ac
mov edx, dword [0x5d5ab4]
push eax
push edi
push edx
call fcn.00417c20
mov eax, dword [edi + 0x38]
mov ecx, dword [0x7e32a4]
add esp, 0x10
add ecx, eax
mov dword [0x7e32a4], ecx
jmp 0x4174e7
mov eax, dword [0x5d5ab4]
lea edx, [esi + 0x38]
push edx
push 1
mov ecx, dword [eax]
push eax
call dword [ecx + 0x64]
cmp dword [edi + 0x3c], ebx
je 0x4174e7
mov eax, dword [esi + 0x94]
push ebp
cmp eax, 2
jne 0x4173ff
mov eax, dword [0x5d5ab4]
push edi
push eax
call fcn.00419580
add esp, 0xc
jmp 0x4174d8
mov ecx, dword [edi + 8]
cmp ecx, ebx
jne 0x417419
mov ecx, dword [0x5d5ab4]
push eax
push edi
push ecx
call fcn.004184c0
jmp 0x4174d5
cmp ecx, 1
jne 0x417433
mov edx, dword [0x5d5ab4]
push edi
push edx
call fcn.00419720
add esp, 0xc
jmp 0x4174d8
push eax
mov eax, dword [0x5d5ab4]
push edi
push eax
call fcn.00418e00
jmp 0x4174d5
mov eax, dword [0x5d5ab4]
lea ecx, [esi + 0x38]
push ecx
push 1
mov edx, dword [eax]
push eax
call dword [edx + 0x64]
cmp dword [edi + 0x3c], ebx
je 0x4174e7
mov eax, dword [esi + 0x94]
cmp eax, 2
jne 0x41747d
mov edx, dword [0x5d5ab4]
push ebp
push edi
push edx
call fcn.004193e0
add esp, 0xc
jmp 0x4174d8
mov ecx, dword [edi + 8]
cmp ecx, ebx
jne 0x4174b0
cmp dword [edi + 0x50], ebx
je 0x41749f
cmp eax, ebx
jne 0x41749f
mov eax, dword [0x5d5ab4]
push ebp
push edi
push eax
call fcn.004198e0
add esp, 0xc
jmp 0x4174d8
mov ecx, dword [0x5d5ab4]
push ebp
push eax
push edi
push ecx
call fcn.00418070
jmp 0x4174d5
cmp ecx, 1
push ebp
jne 0x4174c8
mov edx, dword [0x5d5ab4]
push edi
push edx
call fcn.00419260
add esp, 0xc
jmp 0x4174d8
push eax
mov eax, dword [0x5d5ab4]
push edi
push eax
call fcn.00418900
add esp, 0x10
mov eax, dword [0x7e32a4]
mov ecx, dword [edi + 0x38]
add eax, ecx
mov dword [0x7e32a4], eax
cmp dword [esi + 0xb0], ebx
je 0x41775d
mov edx, dword [esi + 0x9c]
mov eax, dword [0x5d5ab4]
push ebp
push edx
push eax
call fcn.00419b70
add esp, 0xc
jmp 0x41775d
cmp eax, 7
jne 0x4176db
mov eax, dword [0x7e32a4]
mov ecx, dword [esi + 0x70]
mov edx, dword [esp + 0x44]
mov edi, dword [esi + 0x9c]
add eax, 2
mov dword [esp + 0x3c], ecx
mov dword [0x7e32a4], eax
fld dword [edx + 0x18]
fchs
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jnp 0x417776
mov eax, edx
fld dword [eax + 0x1c]
fchs
fcomp dword [esp + 0x3c]
fnstsw ax
and eax, 0x100
je 0x417776
mov ecx, dword [esi + 0x68]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x34], ecx
mov edx, dword [esi + 0x6c]
fld dword [esp + 0x34]
mov dword [esp + 0x38], edx
mov ecx, eax
fadd dword [edi + 8]
mov edx, eax
fstp dword [0x7e2820]
fld dword [esp + 0x38]
fadd dword [edi + 0xc]
mov dword [0x7e2828], eax
fstp dword [0x7e2824]
fld dword [esp + 0x34]
fsub dword [edi + 8]
fstp dword [0x7e2840]
fld dword [esp + 0x38]
fadd dword [edi + 0xc]
mov dword [0x7e2848], ecx
mov ecx, dword [esp + 0x44]
fstp dword [0x7e2844]
fld dword [esp + 0x34]
fsub dword [edi + 8]
fstp dword [0x7e2860]
fld dword [esp + 0x38]
fsub dword [edi + 0xc]
mov dword [0x7e2868], edx
fstp dword [0x7e2864]
fld dword [esp + 0x34]
fadd dword [edi + 8]
fstp dword [0x7e2880]
fld dword [esp + 0x38]
fsub dword [edi + 0xc]
mov dword [0x7e2888], eax
fstp dword [0x7e2884]
cmp dword [ecx + 4], 2
je 0x417618
mov edx, ecx
push edx
call fcn.0041a0d0
add esp, 4
cmp eax, 1
je 0x417618
cmp eax, 2
jne 0x4176d0
mov eax, dword [esi + 0xbc]
xor ebp, ebp
cmp eax, ebx
je 0x417626
call eax
cmp dword [esi + 0x104], ebx
jne 0x417633
mov ebp, 0x10
mov eax, dword [0x5d5ab4]
push 0x5c45d8
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x64]
mov edx, dword [edi + 4]
mov ecx, dword [0x5d5ab4]
mov dword [0x5c4618], edx
mov eax, dword [esi + 0x94]
push eax
push ecx
call fcn.0041a490
mov edx, dword [0x5d5adc]
mov eax, 2
add esp, 8
mov word [edx], bx
mov ecx, dword [0x5d5adc]
push ebp
push 6
mov word [ecx + 2], ax
mov edx, dword [0x5d5adc]
mov word [edx + 4], 1
mov ecx, dword [0x5d5adc]
mov word [ecx + 6], bx
mov edx, dword [0x5d5adc]
mov word [edx + 8], 3
mov ecx, dword [0x5d5adc]
mov word [ecx + 0xa], ax
mov ecx, dword [0x5d5adc]
mov eax, dword [0x5d5ab4]
push ecx
push 4
push 0x7e2820
mov edx, dword [eax]
push 0x112
push 4
push eax
call dword [edx + 0x74]
jmp 0x41775d
inc dword [0x7e0eb0]
jmp 0x417776
cmp eax, 8
jne 0x41774c
cmp dword [0x5d5a20], ebx
je 0x41775d
mov eax, dword [esi + 0x9c]
cmp dword [eax + 0x24], ebx
je 0x41775d
cmp dword [eax + 0x28], ebx
je 0x41775d
mov eax, dword [esi + 0xbc]
cmp eax, ebx
je 0x417704
call eax
mov edx, dword [0x5d5ab4]
push 1
push edx
mov dword [0x5c4618], 0xffffffff
call fcn.0041a490
mov eax, dword [0x5d5ab4]
add esp, 8
lea edx, [esp + 0x98]
mov ecx, dword [eax]
push edx
push 1
push eax
call dword [ecx + 0x64]
mov eax, dword [esi + 0x9c]
mov ecx, dword [0x5d5ab4]
push eax
push ecx
call fcn.00419830
add esp, 8
jmp 0x41775d
cmp eax, 5
jne 0x41775d
mov eax, dword [esi + 0xbc]
cmp eax, ebx
je 0x41775d
call eax
cmp dword [esi + 0xac], ebx
je 0x417776
mov edx, dword [0x5d5ab4]
push ebp
push esi
push edx
call fcn.00419e30
add esp, 0xc
mov esi, dword [esi + 0x130]
cmp esi, ebx
jne 0x4171f3
mov eax, dword [0x5d5ab4]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
cmp dword [esp + 0x30], ebx
je 0x4177c0
mov edx, dword [0x5d5ab4]
push 0
push 0x1b
push edx
call fcn.0041a970
jmp 0x4177bd
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x120]
push eax
push ecx
push edi
call fcn.0041a400
add esp, 0xc
mov eax, dword [0x5d5a0c]
xor ebp, ebp
xor edi, edi
cmp dword [eax + 0x480], ebp
jle 0x417803
mov ebx, dword [esp + 0x4c]
mov esi, 0x484
mov eax, dword [esi + eax]
mov edx, dword [ebx]
mov ecx, dword [eax + 4]
push ecx
push ebx
call dword [edx + 0x38]
mov edx, dword [0x5d5a0c]
inc edi
mov eax, dword [esi + edx]
add esi, 4
mov dword [eax], ebp
mov eax, dword [0x5d5a0c]
cmp edi, dword [eax + 0x480]
jl 0x4177da
mov dword [eax + 0x480], ebp
mov ecx, dword [0x7e5bc0]
xor eax, eax
cmp ecx, ebp
pop edi
pop ebx
jle 0x417847
mov edx, 1
mov ecx, dword [eax*4 + 0x7ead80]
cmp ecx, ebp
je 0x41783c
cmp dword [ecx + 0x7c], ebp
je 0x417832
mov dword [ecx + 0x170], edx
mov ecx, dword [eax*4 + 0x7ead80]
mov dword [ecx + 0x7c], ebp
mov ecx, dword [0x7e5bc0]
inc eax
cmp eax, ecx
jl 0x41781c
pop esi
pop ebp
add esp, 0x108
ret
mov eax, dword [0x5d5a0c]
sub esp, 0x234
push ebx
push ebp
xor ebp, ebp
push esi
cmp eax, ebp
push edi
je 0x423320
mov eax, dword [eax + 0x6f0]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x60]
cmp eax, 0x887601c2
je 0x423320
mov edx, dword [0x5d5a0c]
mov eax, dword [edx + 0x6f4]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x60]
cmp eax, 0x887601c2
je 0x423320
mov eax, dword [esp + 0x248]
mov edi, dword [0x5d5a0c]
mov edx, dword [eax + 4]
mov ecx, dword [edi + 0x68c]
cmp edx, ecx
jge 0x423320
mov ecx, dword [eax + 8]
mov esi, dword [edi + 0x690]
cmp ecx, esi
jge 0x423320
mov esi, dword [eax + 0xc]
add edx, esi
test edx, edx
jl 0x423320
mov edx, dword [eax + 0x10]
add ecx, edx
test ecx, ecx
jl 0x423320
cmp esi, ebp
je 0x423320
cmp edx, ebp
je 0x423320
mov ecx, eax
mov dword [0x7e3340], ebp
mov dword [0x7e32a4], ebp
mov dword [0x7e333c], ebp
mov dword [0x7e28ac], ebp
mov dword [0x7e3344], ebp
mov dword [0x7e0eb0], ebp
mov dword [0x7e28a4], ecx
mov eax, dword [eax + 0x14]
cmp eax, ebp
jne 0x421e95
cmp dword [esp + 0x24c], ebp
je 0x423320
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x234
jmp fcn.00423330
cmp dword [eax + 0x88], ebp
je 0x423320
mov eax, dword [eax + 0x9c]
cmp eax, ebp
mov dword [esp + 0x2c], eax
je 0x423320
mov edx, dword [edi + 0x69c]
cmp dword [edx], ebp
jne 0x421f04
cmp dword [esp + 0x24c], ebp
je 0x421ed1
call fcn.00423330
mov ecx, dword [0x7e28a4]
xor edi, edi
mov esi, 0x98
cmp dword [esi + ecx], ebp
je 0x421eed
push edi
push ecx
call fcn.0041ae90
mov ecx, dword [0x7e28a4]
add esp, 8
add esi, 4
inc edi
cmp esi, 0xc8
jl 0x421ed8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x234
ret
lea eax, [esp + 0x84]
push eax
call fcn.00430c20
mov ecx, dword [0x7e28a4]
add esp, 4
mov esi, dword [ecx + 0x14]
cmp esi, ebp
je 0x421f4f
cmp dword [esi + 0x88], ebp
je 0x421f45
lea edx, [esi + 8]
lea eax, [esp + 0x84]
push edx
lea ecx, [esp + 0x88]
push eax
push ecx
call fcn.00431180
add esp, 0xc
mov esi, dword [esi + 0x124]
cmp esi, ebp
jne 0x421f21
lea edx, [esp + 0x184]
lea eax, [esp + 0x84]
push edx
push eax
call fcn.00431520
lea ecx, [esp + 0xd0]
lea edx, [esp + 0x18c]
push ecx
push edx
call fcn.004315e0
mov eax, dword [0x5d5a0c]
add esp, 0x10
mov esi, dword [eax + 0x6d4]
cmp esi, ebp
je 0x421fa7
cmp dword [esi], ebp
je 0x421fa0
lea ecx, [esp + 0xc8]
push ecx
push esi
call fcn.00417850
add esp, 8
mov esi, dword [esi + 0x18]
cmp esi, ebp
jne 0x421f8b
mov edx, dword [0x5d5a0c]
mov esi, dword [edx + 0x6dc]
cmp esi, ebp
je 0x421fd4
cmp dword [esi + 4], ebp
je 0x421fcd
lea eax, [esp + 0xc8]
push eax
push esi
call fcn.00417960
add esp, 8
mov esi, dword [esi + 0x1c]
cmp esi, ebp
jne 0x421fb7
mov ecx, dword [0x7e28a4]
mov edx, dword [ecx + 0x14]
lea ecx, [esp + 0x204]
mov eax, dword [edx + 0x9c]
add eax, 0x24
mov dword [0x7e0e94], eax
push eax
lea eax, [esp + 0xcc]
push eax
push ecx
call fcn.004312e0
mov eax, dword [0x7e5bc0]
add esp, 0xc
xor ebx, ebx
cmp eax, ebp
mov dword [esp + 0x5c], ebp
jle 0x422189
mov edi, 0x584
mov esi, dword [ebx*4 + 0x7ead80]
cmp esi, ebp
je 0x42217b
cmp dword [esi + 4], 4
je 0x42217b
cmp dword [esi + 0x124], ebp
jne 0x422057
lea edx, [esp + 0xc8]
lea eax, [esi + 8]
push edx
lea ecx, [esi + 0x38]
push eax
push ecx
call fcn.00430fb0
add esp, 0xc
jmp 0x4220bf
lea edx, [esp + 0x84]
mov ebp, esi
push edx
call fcn.00430c20
add esp, 4
mov eax, dword [ebp + 0x78]
test eax, eax
jne 0x4221d5
lea eax, [ebp + 8]
lea ecx, [esp + 0x84]
push eax
lea edx, [esp + 0x88]
push ecx
push edx
call fcn.00431180
mov ebp, dword [ebp + 0x124]
add esp, 0xc
test ebp, ebp
jne 0x422069
lea ebp, [esi + 0x38]
lea edx, [esp + 0x84]
push ebp
push edx
call fcn.00431520
lea eax, [esp + 0xd0]
push eax
push ebp
push ebp
call fcn.004312e0
add esp, 0x14
xor ebp, ebp
mov eax, dword [esi + 4]
mov dword [esi + 0x78], 1
cmp eax, 3
jne 0x42217b
cmp dword [esi + 0x8c], ebp
je 0x42217b
cmp edi, 0x684
je 0x42217b
mov ecx, dword [0x5d5a0c]
mov eax, dword [esi + 0x9c]
mov edx, dword [edi + ecx]
mov dword [edx], eax
mov ecx, dword [0x5d5a0c]
mov eax, dword [esi + 0x68]
mov edx, dword [edi + ecx]
mov dword [edx + 4], eax
mov ecx, dword [0x5d5a0c]
mov eax, dword [esi + 0x6c]
mov edx, dword [edi + ecx]
mov dword [edx + 8], eax
mov ecx, dword [0x5d5a0c]
mov eax, dword [esi + 0x70]
mov edx, dword [edi + ecx]
mov dword [edx + 0xc], eax
mov ecx, dword [0x5d5a0c]
fld dword [esi + 0x58]
mov edx, dword [edi + ecx]
fchs
fstp dword [edx + 0x10]
mov eax, dword [0x5d5a0c]
fld dword [esi + 0x5c]
mov ecx, dword [edi + eax]
fchs
fstp dword [ecx + 0x14]
mov edx, dword [0x5d5a0c]
fld dword [esi + 0x60]
mov eax, dword [edi + edx]
fchs
fstp dword [eax + 0x18]
mov ecx, dword [0x5d5a0c]
mov edx, dword [edi + ecx]
add edx, 0x10
push edx
call fcn.00431a20
mov ecx, dword [esp + 0x60]
add esp, 4
inc ecx
add edi, 4
mov dword [esp + 0x5c], ecx
mov eax, dword [0x7e5bc0]
inc ebx
cmp ebx, eax
jl 0x42201c
cmp dword [0x5c45ac], ebp
je 0x422331
mov eax, dword [0x7e28a4]
cmp dword [eax + 0x18], ebp
je 0x422331
mov ecx, dword [0x5d5a0c]
xor esi, esi
mov edx, dword [ecx + 0x69c]
mov ecx, dword [edx]
cmp ecx, ebp
je 0x422331
mov edx, dword [esp + 0x2c]
cmp dword [ecx + 0x8c], ebp
jne 0x4221f2
mov eax, dword [ecx + 0x70]
mov dword [ecx + 0x140], eax
jmp 0x4222c3
add ebp, 0x38
lea eax, [esp + 0x84]
push ebp
lea ecx, [esi + 0x38]
push eax
push ecx
call fcn.00430fb0
add esp, 0xc
jmp 0x4220bd
mov eax, dword [ecx + 4]
cmp eax, 7
jne 0x422208
mov eax, dword [ecx + 0x70]
mov dword [ecx + 0x140], eax
jmp 0x4222c3
cmp eax, 6
jne 0x4222bd
mov eax, dword [ecx + 0x9c]
test byte [eax + 4], 0x10
je 0x42223a
fld dword [edx + 0x1c]
fsub dword [edx + 0x18]
mov eax, dword [ecx + 0xa0]
fmul dword [eax + 8]
fadd dword [edx + 0x18]
fstp dword [ecx + 0x140]
jmp 0x4222c3
mov edx, dword [ecx + 0xa0]
fld dword [edx + 0x10]
fmul dword [ecx + 0x40]
fstp dword [esp + 0x14]
fld dword [edx + 0x14]
fmul dword [ecx + 0x40]
fcom dword [esp + 0x14]
fnstsw ax
test ah, 5
jp 0x422261
fstp st(0)
fld dword [esp + 0x14]
fld dword [edx + 0x18]
fmul dword [ecx + 0x50]
fstp dword [esp + 0x14]
fld dword [edx + 0x1c]
fmul dword [ecx + 0x50]
fcom dword [esp + 0x14]
fnstsw ax
test ah, 5
jp 0x422282
fstp st(0)
fld dword [esp + 0x14]
fld dword [edx + 0x20]
fmul dword [ecx + 0x60]
fadd dword [ecx + 0x70]
fstp dword [esp + 0x14]
fld dword [edx + 0x24]
fmul dword [ecx + 0x60]
fadd dword [ecx + 0x70]
fcom dword [esp + 0x14]
fnstsw ax
test ah, 5
jp 0x4222a9
fstp st(0)
fld dword [esp + 0x14]
fadd st(1)
mov edx, dword [esp + 0x2c]
fadd st(2)
fstp dword [ecx + 0x140]
fstp st(0)
fstp st(0)
jmp 0x4222c3
mov dword [ecx + 0x140], ebp
mov ecx, dword [ecx + 0x130]
inc esi
cmp ecx, ebp
jne 0x4221bf
cmp esi, 1
jle 0x422331
lea edi, [esi - 1]
cmp edi, ebp
jle 0x422331
jmp 0x4222e2
xor ebp, ebp
mov edx, dword [0x5d5a0c]
cmp edi, ebp
mov ecx, 1
mov eax, dword [edx + 0x69c]
mov esi, dword [eax]
jle 0x422331
mov ebp, edi
mov edx, dword [esi + 0x130]
fld dword [esi + 0x140]
fcomp dword [edx + 0x140]
fnstsw ax
test ah, 5
jp 0x422323
push 1
push esi
call fcn.0040aee0
add esp, 8
xor ecx, ecx
jmp 0x422325
mov esi, edx
dec ebp
jne 0x4222fb
test ecx, ecx
jne 0x422331
dec edi
test edi, edi
jg 0x4222e0
call fcn.00524120
mov eax, dword [esp + 0x24c]
test eax, eax
je 0x422346
call fcn.00423330
mov eax, dword [0x7e28a4]
xor edi, edi
mov esi, 0x98
cmp dword [esi + eax], 0
je 0x422367
push edi
push eax
call fcn.0041ae90
mov eax, dword [0x7e28a4]
add esp, 8
add esi, 4
inc edi
cmp esi, 0xc8
jl 0x422352
mov eax, dword [esp + 0x250]
test eax, eax
je 0x422393
mov ecx, dword [0x5d5a0c]
mov eax, dword [ecx + 0x730]
test eax, eax
je 0x422393
call fcn.00423410
mov ecx, 0x1f
xor eax, eax
lea edi, [esp + 0x108]
mov dword [0x7e2768], 0x8876021c
rep stosd dword es:[edi], eax
mov dword [esp + 0x108], 0x7c
xor esi, esi
mov edx, dword [0x5d5a0c]
push 0
push 0
mov eax, dword [edx + 0x6f4]
lea edx, [esp + 0x110]
push edx
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x64]
inc esi
mov dword [0x7e2768], eax
cmp esi, 0xbb8
jg 0x4223ef
cmp eax, 0x8876021c
je 0x4223ba
test eax, eax
jne 0x423320
mov eax, dword [0x5c431c]
test eax, eax
je 0x42240e
mov eax, dword [esp + 0x118]
mov dword [0x7e28b0], eax
jmp 0x42241e
mov ecx, dword [esp + 0x118]
lea edx, [ecx + ecx]
mov dword [0x7e28b0], edx
mov eax, dword [esp + 0x12c]
mov edx, dword [0x7e32ac]
mov dword [0x7e2c88], eax
mov eax, dword [0x7e28a4]
mov esi, dword [0x5d5a0c]
or ebp, 0xffffffff
fild dword [eax + 0xc]
mov dword [esp + 0x48], ebp
fmul dword [0x5a83e8]
fstp dword [0x7e24dc]
fild dword [eax + 0x10]
fmul dword [0x5a83e8]
fstp dword [0x7e32a0]
fild dword [0x7e2338]
fadd dword [0x7e24dc]
fadd dword [0x5a83e8]
fstp dword [0x7e0408]
fild dword [0x7e2340]
fadd dword [0x7e32a0]
fadd dword [0x5a83e8]
fstp dword [0x7e040c]
mov eax, dword [edx + 0x3c]
mov ecx, dword [esi + 0x69c]
fld dword [eax]
fmul dword [esi + 0x768]
mov ebx, dword [ecx]
mov dword [esp + 0x1c], ebx
fmul dword [0x5a840c]
call fcn.00509960
test ebx, ebx
mov dword [esp + 0x78], eax
mov dword [0x7e0410], 0
je 0x42330f
mov eax, dword [ebx + 0x88]
mov dword [ebx + 0x11c], 0
test eax, eax
je 0x4232f7
mov eax, dword [ebx + 0x8c]
test eax, eax
je 0x4232f7
fld dword [ebx + 0x114]
fcomp dword [0x5a83e4]
fld dword [ebx + 0x114]
fnstsw ax
and eax, 0x4100
je 0x42250b
fchs
fcomp dword [0x5a8408]
fnstsw ax
test ah, 5
jnp 0x4232f7
mov eax, dword [ebx + 4]
cmp eax, 6
jne 0x422fba
mov edi, dword [ebx + 0x9c]
test edi, edi
mov dword [esp + 0x68], edi
je 0x4232f7
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x4232f7
mov eax, dword [edi + 0x3c]
test eax, eax
je 0x4232f7
mov eax, dword [edi + 0x18]
test eax, eax
je 0x4232f7
mov eax, dword [ebx + 0x90]
mov esi, 1
test eax, eax
mov dword [esp + 0x14], esi
je 0x4225c2
mov eax, dword [edi + 4]
and eax, 0x10
mov dword [esp + 0x60], eax
jne 0x4232f7
mov ecx, dword [0x7e0e94]
lea edx, [ebx + 0x38]
push ecx
lea eax, [esp + 0x1c8]
push edx
push eax
call fcn.004312e0
lea ecx, [esp + 0x1d0]
push ecx
push ebx
call fcn.00523960
add esp, 0x14
cmp eax, esi
jne 0x4225b1
mov dword [esp + 0x14], esi
jmp 0x4225c2
cmp eax, 2
jne 0x422faf
mov dword [esp + 0x14], 0
mov ecx, dword [ebx + 0x178]
mov dword [ebx + 0x11c], esi
mov edx, dword [edi + 0x1c]
mov esi, dword [edi + 0x40]
mov eax, dword [edi + 0x30]
mov dword [esp + 0xb8], edx
test ecx, ecx
mov dword [esp + 0x38], esi
jne 0x422601
mov dword [ebx + 0x174], eax
imul eax, dword [0x5c4318]
shl eax, 2
push eax
call fcn.005095d5
add esp, 4
jmp 0x422623
cmp dword [ebx + 0x174], eax
jge 0x422629
mov dword [ebx + 0x174], eax
imul eax, dword [0x5c4318]
shl eax, 2
push eax
push ecx
call fcn.00509987
add esp, 8
mov dword [ebx + 0x178], eax
mov eax, dword [ebx + 0x178]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x18]
mov edi, dword [eax + 0x48]
add ecx, ecx
xor eax, eax
mov edx, ecx
mov dword [esp + 0x7c], edi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea eax, [esp + 0x84]
lea ecx, [ebx + 0x38]
push eax
push ecx
call fcn.00431590
mov edx, dword [0x5d5a0c]
add esp, 8
mov eax, dword [edx + 0x730]
test eax, eax
je 0x42268e
mov eax, dword [ebx + 0xc4]
mov dword [0x7e24e4], 1
test eax, eax
jne 0x422698
mov dword [0x7e24e4], 0
mov eax, dword [0x5d5a0c]
mov ecx, dword [eax + 0x730]
test ecx, ecx
je 0x4226bb
mov eax, dword [ebx + 0xc8]
mov dword [0x7e276c], 1
test eax, eax
jne 0x4226c5
mov dword [0x7e276c], 0
mov ecx, dword [ebx + 0xd0]
xor edx, edx
mov dword [0x7e2700], ecx
mov eax, dword [ebx + 0x118]
mov edi, dword [0x7e3380]
cmp eax, 0xff
mov eax, dword [esp + 0x68]
setne dl
mov dword [0x7e0410], edx
mov ecx, dword [eax + 0x38]
mov dword [esp + 0x70], ecx
mov eax, dword [esi + 4]
cmp ebp, eax
je 0x422753
mov ebp, eax
cmp ebp, 0x1400
mov dword [esp + 0x48], ebp
jge 0x422721
test ebp, ebp
jl 0x422721
mov eax, dword [ebp*4 + 0x7e5be0]
test eax, eax
mov dword [0x7e32ac], eax
jne 0x422728
mov eax, edi
mov dword [0x7e32ac], eax
mov edx, dword [eax + 0x3c]
mov ecx, dword [edx + 0x10]
mov dword [0x7e22c0], ecx
mov edx, dword [eax + 0x3c]
mov eax, dword [0x5d5a0c]
fld dword [eax + 0x768]
fmul dword [edx]
fmul dword [0x5a840c]
call fcn.00509960
mov dword [esp + 0x78], eax
mov ecx, dword [0x7e32a4]
inc ecx
mov dword [0x7e32a4], ecx
mov eax, dword [esi]
cmp eax, 2
jne 0x422777
mov ecx, dword [esi + 8]
lea esi, [esi + ecx*8 + 0xc]
mov dword [esp + 0x38], esi
jmp 0x422f95
lea edx, [esp + 0xc4]
add esi, 0x14
mov dword [esp + 0x6c], 0
mov dword [esp + 0x80], edx
mov dword [esp + 0x64], esi
mov dword [esp + 0x58], 3
mov eax, dword [esp + 0x64]
mov ecx, dword [0x5c4318]
mov edx, dword [esp + 0xb4]
mov ebp, dword [eax]
xor eax, eax
imul ecx, ebp
mov dword [esp + 0x74], ebp
lea edi, [edx + ecx*4]
mov ecx, dword [esp + 0x7c]
cmp word [ecx + ebp*2], ax
jne 0x422ce4
mov edx, dword [0x7eac64]
mov ecx, dword [esp + 0xb8]
imul edx, ebp
lea esi, [ecx + edx*4]
mov ecx, dword [esp + 0x60]
cmp ecx, eax
je 0x4227f1
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
jmp 0x422889
fld dword [esp + 0x84]
fmul dword [esi]
fld dword [esp + 0x8c]
fmul dword [esi + 8]
faddp st(1)
fld dword [esp + 0x88]
fmul dword [esi + 4]
faddp st(1)
fadd dword [esp + 0x90]
fstp dword [esp + 0x34]
fld dword [esp + 0x94]
fmul dword [esi]
fld dword [esp + 0x9c]
fmul dword [esi + 8]
mov edx, dword [esp + 0x34]
faddp st(1)
fld dword [esp + 0x98]
fmul dword [esi + 4]
faddp st(1)
fadd dword [esp + 0xa0]
fstp dword [esp + 0x30]
fld dword [esp + 0xa4]
fmul dword [esi]
fld dword [esp + 0xac]
fmul dword [esi + 8]
mov ecx, dword [esp + 0x30]
faddp st(1)
fld dword [esp + 0xa8]
fmul dword [esi + 4]
faddp st(1)
fadd dword [esp + 0xb0]
mov dword [edi], edx
mov dword [edi + 4], ecx
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x18]
mov dword [edi + 8], edx
mov ecx, dword [0x7e32ac]
cmp dword [ecx + 0x34], eax
je 0x4228c2
mov edx, dword [esi + 0x18]
mov dword [edi + 0x18], edx
mov eax, dword [esi + 0x1c]
mov dword [edi + 0x1c], eax
fld dword [esi + 0x18]
fmul dword [0x5a840c]
call fcn.00509960
mov dword [edi + 0x20], eax
fld dword [esi + 0x1c]
fmul dword [0x5a840c]
call fcn.00509960
mov dword [edi + 0x24], eax
mov eax, dword [esp + 0x60]
test eax, eax
je 0x4228e7
fld dword [esi]
call fcn.00509960
mov dword [edi + 0xc], eax
fld dword [esi + 4]
call fcn.00509960
mov dword [edi + 0x10], eax
fld dword [esi + 8]
jmp 0x42297f
mov ecx, dword [0x7e0e94]
fld dword [esp + 0x18]
fmul dword [ecx + 0x2c]
fadd dword [ecx + 0x3c]
fcom dword [0x5a83e4]
fnstsw ax
and eax, 0x4100
jne 0x422cbf
fdivr dword [0x5a83f4]
fld dword [esp + 0x18]
fmul dword [ecx + 0x24]
fld dword [esp + 0x30]
fmul dword [ecx + 0x14]
faddp st(1)
fadd dword [ecx + 0x34]
fmul st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x18]
fmul dword [ecx + 0x28]
fadd dword [ecx + 0x38]
fmul st(1)
fstp dword [esp + 0x50]
fld dword [esp + 0x18]
fmul dword [ecx + 0x20]
fld dword [esp + 0x34]
fmul dword [ecx]
faddp st(1)
fadd dword [ecx + 0x30]
fmul st(1)
fmul dword [0x7e24dc]
fadd dword [0x7e0408]
call fcn.00509960
fstp st(0)
fld dword [esp + 0x10]
mov dword [edi + 0xc], eax
fmul dword [0x7e32a0]
fsubr dword [0x7e040c]
call fcn.00509960
fld dword [esp + 0x50]
mov dword [edi + 0x10], eax
fmul dword [0x5a849c]
call fcn.00509960
mov dword [edi + 0x14], eax
mov eax, dword [ebx + 0x104]
test eax, eax
je 0x422cc8
mov ecx, dword [esp + 0x68]
test byte [ecx + 4], 1
jne 0x422cc8
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x5c]
mov dword [edi + 0x28], edx
xor ebx, ebx
fld dword [esp + 0x84]
fmul dword [esi + 0xc]
fld dword [esp + 0x8c]
fmul dword [esi + 0x14]
test eax, eax
mov dword [esp + 0x54], 0
faddp st(1)
fld dword [esp + 0x88]
fmul dword [esi + 0x10]
faddp st(1)
fstp dword [esp + 0x3c]
fld dword [esp + 0x94]
fmul dword [esi + 0xc]
fld dword [esp + 0x9c]
fmul dword [esi + 0x14]
faddp st(1)
fld dword [esp + 0x98]
fmul dword [esi + 0x10]
faddp st(1)
fstp dword [esp + 0x40]
fld dword [esp + 0xa4]
fmul dword [esi + 0xc]
fld dword [esp + 0xac]
fmul dword [esi + 0x14]
faddp st(1)
fld dword [esp + 0xa8]
fmul dword [esi + 0x10]
faddp st(1)
fstp dword [esp + 0x44]
jle 0x422c90
mov ebp, 0x584
mov eax, dword [0x5d5a0c]
mov esi, dword [eax + ebp]
mov ecx, dword [esi]
mov eax, dword [ecx + 4]
cmp eax, 2
jne 0x422afb
fld dword [esi + 4]
fsub dword [esp + 0x34]
fstp dword [esp + 0x20]
fld dword [esi + 8]
fsub dword [esp + 0x30]
fstp dword [esp + 0x24]
fld dword [esi + 0xc]
fsub dword [esp + 0x18]
fst dword [esp + 0x28]
fmul dword [esp + 0x28]
fld dword [esp + 0x24]
fmul dword [esp + 0x24]
faddp st(1)
fld dword [esp + 0x20]
fmul dword [esp + 0x20]
faddp st(1)
fsqrt
fst dword [esp + 0x10]
fcomp dword [0x5a83e4]
fnstsw ax
test ah, 0x44
jnp 0x422c80
fld dword [esp + 0x10]
fcomp dword [ecx + 0x18]
fnstsw ax
and eax, 0x4100
je 0x422c80
fld dword [esp + 0x28]
fmul dword [esp + 0x44]
fld dword [esp + 0x24]
fmul dword [esp + 0x40]
faddp st(1)
fld dword [esp + 0x20]
fmul dword [esp + 0x3c]
faddp st(1)
fcom dword [0x5a83e4]
fnstsw ax
test ah, 0x41
jnp 0x422c7e
fld dword [ecx + 0x18]
fsub dword [esp + 0x10]
fdiv dword [ecx + 0x18]
fxch st(1)
fdiv dword [esp + 0x10]
fmulp st(1)
jmp 0x422c62
cmp eax, 3
jne 0x422c3a
fld dword [esi + 4]
fsub dword [esp + 0x34]
fstp dword [esp + 0x20]
fld dword [esi + 8]
fsub dword [esp + 0x30]
fstp dword [esp + 0x24]
fld dword [esi + 0xc]
fsub dword [esp + 0x18]
fst dword [esp + 0x28]
fmul dword [esp + 0x28]
fld dword [esp + 0x24]
fmul dword [esp + 0x24]
faddp st(1)
fld dword [esp + 0x20]
fmul dword [esp + 0x20]
faddp st(1)
fsqrt
fst dword [esp + 0x10]
fcomp dword [0x5a83e4]
fnstsw ax
test ah, 0x44
jnp 0x422c80
fld dword [esp + 0x10]
fcomp dword [ecx + 0x18]
fnstsw ax
and eax, 0x4100
je 0x422c80
fld dword [0x5a83f4]
fdiv dword [esp + 0x10]
fld dword [esp + 0x28]
fmul dword [esp + 0x44]
fld dword [esp + 0x24]
fmul dword [esp + 0x40]
faddp st(1)
fld dword [esp + 0x20]
fmul dword [esp + 0x3c]
faddp st(1)
fmul st(1)
fst dword [esp + 0x50]
fcomp dword [0x5a83e4]
fnstsw ax
test ah, 0x41
jnp 0x422c7e
fld dword [esp + 0x28]
fmul dword [esi + 0x18]
fld dword [esp + 0x24]
fmul dword [esi + 0x14]
faddp st(1)
fld dword [esp + 0x20]
fmul dword [esi + 0x10]
faddp st(1)
fmul st(1)
fchs
fstp dword [esp + 0x4c]
fstp st(0)
fld dword [esp + 0x4c]
fcomp dword [ecx + 0x20]
fnstsw ax
test ah, 5
jnp 0x422c80
fld dword [esp + 0x4c]
fcomp dword [ecx + 0x1c]
fnstsw ax
and eax, 0x4100
je 0x422c20
fld dword [ecx + 0x24]
fcomp dword [0x5a83e4]
fnstsw ax
test ah, 0x44
jnp 0x422c20
fld dword [esp + 0x4c]
fsub dword [ecx + 0x20]
fld dword [ecx + 0x1c]
fsub dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
fdivp st(1)
push ecx
fstp dword [esp + 0x50]
mov edx, dword [esp + 0x50]
push edx
call fcn.00432000
add esp, 8
jmp 0x422c26
fld dword [0x5a83f4]
mov ecx, dword [esi]
fld dword [ecx + 0x18]
fsub dword [esp + 0x10]
fdiv dword [ecx + 0x18]
fmul dword [esp + 0x50]
fmulp st(1)
jmp 0x422c62
fld dword [esp + 0x3c]
fmul dword [esi + 0x10]
fchs
fld dword [esp + 0x40]
fmul dword [esi + 0x14]
fsubp st(1)
fld dword [esp + 0x44]
fmul dword [esi + 0x18]
fsubp st(1)
fcom dword [0x5a83e4]
fnstsw ax
test ah, 0x41
jnp 0x422c7e
fmul dword [ecx + 0x14]
fadd dword [esp + 0x54]
fst dword [esp + 0x54]
fcomp dword [0x5a83f4]
fnstsw ax
and eax, 0x4100
je 0x422c90
jmp 0x422c80
fstp st(0)
mov eax, dword [esp + 0x5c]
inc ebx
add ebp, 4
cmp ebx, eax
jl 0x422a3d
fld dword [esp + 0x54]
fmul dword [0x5a840c]
call fcn.00509960
mov edx, dword [edi + 0x28]
mov ebp, dword [esp + 0x74]
mov ebx, dword [esp + 0x1c]
add edx, eax
mov eax, 0xff
mov ecx, edx
cmp ecx, eax
mov dword [edi + 0x28], edx
jle 0x422ccf
mov dword [edi + 0x28], eax
jmp 0x422ccf
fstp st(0)
mov dword [edi + 0x14], 0xffffff
mov dword [edi + 0x28], 0xff
mov eax, dword [esp + 0x7c]
mov word [eax + ebp*2], 1
mov eax, dword [0x7e3344]
inc eax
mov dword [0x7e3344], eax
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x6c]
mov ebp, dword [edi + 0x14]
mov esi, dword [esp + 0x64]
mov dword [ecx], edi
sub ecx, 4
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x58]
add eax, ebp
sub esi, 4
dec ecx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x64], esi
mov dword [esp + 0x58], ecx
jne 0x42279c
cmp eax, 0x2fffffd
je 0x422f74
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0xc4]
mov esi, dword [esp + 0xc0]
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0xbc]
test eax, eax
jne 0x422ddc
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x422ddc
fld dword [esi]
fsub dword [ecx]
fld dword [esi + 4]
fsub dword [ecx + 4]
fld dword [esi + 8]
fsub dword [ecx + 8]
fld dword [edx]
fsub dword [ecx]
fstp dword [esp + 0x3c]
fld dword [edx + 4]
fsub dword [ecx + 4]
fstp dword [esp + 0x40]
fld dword [edx + 8]
fsub dword [ecx + 8]
fld st(2)
fmul st(1)
fld st(2)
fmul dword [esp + 0x40]
fsubp st(1)
fstp dword [esp + 0x34]
fxch st(1)
fmul dword [esp + 0x3c]
fld st(3)
fmul st(2)
fsubp st(1)
fstp dword [esp + 0x30]
fstp st(0)
fxch st(1)
fmul dword [esp + 0x40]
fxch st(1)
fmul dword [esp + 0x3c]
fsubp st(1)
fst dword [esp + 0x18]
fmul dword [ecx + 8]
fld dword [esp + 0x34]
fmul dword [ecx]
faddp st(1)
fld dword [esp + 0x30]
fmul dword [ecx + 4]
faddp st(1)
fcomp dword [0x5a83e4]
fnstsw ax
and eax, 0x100
je 0x422f74
mov edi, dword [esp + 0x14]
xor eax, eax
test edi, edi
mov dword [esp + 0x58], eax
je 0x422e8f
mov eax, dword [ecx + 0x14]
cmp eax, 0xffff
jg 0x422e84
test eax, eax
jl 0x422e84
mov eax, dword [esi + 0x14]
cmp eax, 0xffff
jg 0x422e84
test eax, eax
jl 0x422e84
mov eax, dword [edx + 0x14]
cmp eax, 0xffff
jg 0x422e84
test eax, eax
jl 0x422e84
mov eax, dword [ecx + 0xc]
mov ebp, dword [0x7e2338]
cmp eax, ebp
jl 0x422e84
cmp eax, dword [0x7e233c]
jg 0x422e84
mov eax, dword [ecx + 0x10]
mov edi, dword [0x7e2340]
cmp eax, edi
jl 0x422e84
cmp eax, dword [0x7e2328]
jg 0x422e84
mov eax, dword [esi + 0xc]
cmp eax, ebp
jl 0x422e84
cmp eax, dword [0x7e233c]
jg 0x422e84
mov eax, dword [esi + 0x10]
cmp eax, edi
jl 0x422e84
mov ebx, dword [0x7e2328]
cmp eax, ebx
jg 0x422e84
mov eax, dword [edx + 0xc]
cmp eax, ebp
jl 0x422e84
cmp eax, dword [0x7e233c]
jg 0x422e84
mov eax, dword [edx + 0x10]
cmp eax, edi
jl 0x422e84
cmp eax, ebx
jle 0x422e8b
mov eax, 1
jmp 0x422e8f
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x1c]
test eax, eax
mov ebx, dword [edi + 0xc4]
mov eax, dword [0x7e32ac]
mov dword [0x5c4628], ebx
je 0x422ee2
mov ebx, dword [eax + 0x34]
test ebx, ebx
je 0x422ecd
cmp dword [edi + 0x94], 1
je 0x422ecd
push edx
push esi
push ecx
mov ecx, dword [esp + 0x38]
push ecx
call fcn.00423440
add esp, 0x10
jmp 0x422f74
push edx
mov edx, dword [esp + 0x30]
push esi
push ecx
push edx
call fcn.00423910
add esp, 0x10
jmp 0x422f74
mov eax, dword [eax + 0x34]
test eax, eax
je 0x422f59
cmp dword [edi + 0x94], 1
je 0x422f59
mov edi, dword [0x7e2700]
push edx
test edi, edi
mov edi, dword [eax + 0x2c]
mov eax, dword [0x7e0410]
push esi
push ecx
je 0x422f30
cmp edi, 0xffffffff
je 0x422f1e
test eax, eax
je 0x422f17
call fcn.00425200
jmp 0x422f71
call fcn.00424ac0
jmp 0x422f71
test eax, eax
je 0x422f29
call fcn.00424360
jmp 0x422f71
call fcn.00423c30
jmp 0x422f71
cmp edi, 0xffffffff
je 0x422f47
test eax, eax
je 0x422f40
call fcn.00427300
jmp 0x422f71
call fcn.00426a80
jmp 0x422f71
test eax, eax
je 0x422f52
call fcn.004261e0
jmp 0x422f71
call fcn.00425970
jmp 0x422f71
mov eax, dword [0x7e0410]
push edx
push esi
push ecx
test eax, eax
je 0x422f6c
call fcn.00428240
jmp 0x422f71
call fcn.00427bb0
add esp, 0xc
mov ecx, dword [0x5c4314]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x48]
mov edi, dword [0x7e3380]
lea eax, [edx + ecx*4]
mov dword [esp + 0x38], eax
mov esi, eax
mov eax, dword [esp + 0x70]
dec eax
mov dword [esp + 0x70], eax
jne 0x4226f8
inc dword [0x7e333c]
jmp 0x4232f7
inc dword [0x7e0eb0]
jmp 0x4232f7
cmp eax, 7
jne 0x4232f7
mov edi, dword [ebx + 0x9c]
test edi, edi
je 0x4232f7
mov dword [0x7e2700], 0
mov ecx, dword [ebx + 0xc4]
mov dword [0x5c4628], ecx
mov ebp, dword [edi + 4]
cmp ebp, 0x1400
mov dword [esp + 0x48], ebp
jge 0x42300a
test ebp, ebp
jl 0x42300a
mov eax, dword [ebp*4 + 0x7e5be0]
test eax, eax
mov dword [0x7e32ac], eax
jne 0x423014
mov eax, dword [0x7e3380]
mov dword [0x7e32ac], eax
mov edx, dword [eax + 0x3c]
xor ecx, ecx
mov eax, dword [edx + 0x10]
mov dword [0x7e22c0], eax
mov eax, dword [ebx + 0x118]
cmp eax, 0xff
setne cl
mov dword [0x7e0410], ecx
mov ecx, dword [esp + 0x2c]
fld dword [ecx + 0x18]
fchs
fcomp dword [ebx + 0x70]
fnstsw ax
test ah, 0x41
jnp 0x4232f7
fld dword [ecx + 0x1c]
fchs
fcomp dword [ebx + 0x70]
fnstsw ax
and eax, 0x100
je 0x4232f7
mov eax, dword [0x7e0e94]
mov ebx, dword [esp + 0x1c]
fld dword [eax + 0x2c]
fmul dword [ebx + 0x70]
fadd dword [eax + 0x3c]
mov dword [ebx + 0x11c], 1
mov esi, dword [0x7e0e94]
fdivr dword [0x5a83f4]
fld dword [edi + 8]
fadd dword [ebx + 0x68]
fstp dword [0x7e0de0]
fld dword [edi + 0xc]
fadd dword [ebx + 0x6c]
fstp dword [0x7e0de4]
mov edx, dword [ebx + 0x70]
mov dword [0x7e0de8], edx
fld dword [0x7e0de8]
fmul dword [esi + 0x24]
fld dword [0x7e0de4]
fmul dword [esi + 0x14]
faddp st(1)
fadd dword [esi + 0x34]
fmul st(1)
fld dword [0x7e0de0]
fmul dword [esi]
fld dword [0x7e0de8]
fmul dword [esi + 0x20]
faddp st(1)
fadd dword [esi + 0x30]
fmul st(2)
fmul dword [0x7e24dc]
fadd dword [0x7e0408]
call fcn.00509960
fmul dword [0x7e32a0]
mov dword [0x7e0dec], eax
fsubr dword [0x7e040c]
call fcn.00509960
fld dword [0x7e0de8]
mov dword [0x7e0df0], eax
fmul dword [esi + 0x28]
fadd dword [esi + 0x38]
fmul st(1)
fmul dword [0x5a849c]
call fcn.00509960
mov ebp, eax
mov dword [0x7e0df4], ebp
fld dword [ebx + 0x68]
fsub dword [edi + 8]
fstp dword [0x7e0e0c]
fld dword [edi + 0xc]
fadd dword [ebx + 0x6c]
fstp dword [0x7e0e10]
mov eax, dword [ebx + 0x70]
mov dword [0x7e0e14], eax
fld dword [0x7e0e14]
fmul dword [esi + 0x24]
fld dword [0x7e0e10]
fmul dword [esi + 0x14]
faddp st(1)
fadd dword [esi + 0x34]
fmul st(1)
fld dword [0x7e0e0c]
fmul dword [esi]
fld dword [0x7e0e14]
fmul dword [esi + 0x20]
faddp st(1)
fadd dword [esi + 0x30]
fmul st(2)
fmul dword [0x7e24dc]
fadd dword [0x7e0408]
call fcn.00509960
fmul dword [0x7e32a0]
mov dword [0x7e0e18], eax
fsubr dword [0x7e040c]
call fcn.00509960
mov dword [0x7e0e1c], eax
mov dword [0x7e0e20], ebp
fld dword [ebx + 0x68]
fsub dword [edi + 8]
fstp dword [0x7e0e38]
fld dword [ebx + 0x6c]
fsub dword [edi + 0xc]
fstp dword [0x7e0e3c]
mov ecx, dword [ebx + 0x70]
mov dword [0x7e0e40], ecx
fld dword [0x7e0e40]
fmul dword [esi + 0x24]
fld dword [0x7e0e3c]
fmul dword [esi + 0x14]
faddp st(1)
fadd dword [esi + 0x34]
fmul st(1)
fld dword [0x7e0e38]
fmul dword [esi]
fld dword [0x7e0e40]
fmul dword [esi + 0x20]
faddp st(1)
fadd dword [esi + 0x30]
fmul st(2)
fmul dword [0x7e24dc]
fadd dword [0x7e0408]
call fcn.00509960
fmul dword [0x7e32a0]
mov dword [0x7e0e44], eax
fsubr dword [0x7e040c]
call fcn.00509960
mov dword [0x7e0e48], eax
mov dword [0x7e0e4c], ebp
fld dword [edi + 8]
fadd dword [ebx + 0x68]
fstp dword [0x7e0e64]
fld dword [ebx + 0x6c]
fsub dword [edi + 0xc]
fstp dword [0x7e0e68]
mov edx, dword [ebx + 0x70]
mov dword [0x7e0e6c], edx
fld dword [0x7e0e6c]
fmul dword [esi + 0x24]
fld dword [0x7e0e68]
fmul dword [esi + 0x14]
faddp st(1)
fadd dword [esi + 0x34]
fmul st(1)
fstp dword [esp + 0x10]
fld dword [0x7e0e64]
fmul dword [esi]
fld dword [0x7e0e6c]
fmul dword [esi + 0x20]
faddp st(1)
fadd dword [esi + 0x30]
fmul st(1)
fmul dword [0x7e24dc]
fadd dword [0x7e0408]
call fcn.00509960
fstp st(0)
fld dword [esp + 0x10]
fmul dword [0x7e32a0]
mov dword [0x7e0e70], eax
fsubr dword [0x7e040c]
call fcn.00509960
mov esi, dword [esp + 0x2c]
push 0x7e0e38
push 0x7e0e0c
mov dword [0x7e0e74], eax
mov eax, dword [0x7e0410]
push 0x7e0de0
mov dword [0x7e0e78], ebp
push esi
call fcn.00423440
push 0x7e0e64
push 0x7e0e38
push 0x7e0de0
push esi
call fcn.00423440
mov ebp, dword [esp + 0x68]
add esp, 0x20
mov ebx, dword [ebx + 0x130]
test ebx, ebx
mov dword [esp + 0x1c], ebx
jne 0x4224c8
mov esi, dword [0x5d5a0c]
mov eax, dword [esi + 0x6f4]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x80]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x234
ret