Function at 0x4156ef
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45f619
mov eax, dword fs:[0]
push eax
sub esp, 0x36c
mov eax, dword [0x471840]
xor eax, ebp
mov dword [ebp - 0x28], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x23c], ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
test ecx, ecx
jne 0x413654
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x23c]
push ecx
fld dword [edx + 0x6b0]
fstp dword [esp]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x318]
call fcn.0044a150
push 0x14
mov ecx, dword [ebp - 0x23c]
push ecx
fld dword [ecx + 0x6b0]
fstp dword [esp]
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0xe4]
call fcn.0044d8b0
mov eax, dword [ebp - 0x23c]
push ecx
fld dword [eax + 0x6b0]
fstp dword [esp]
mov ecx, dword [ebp - 0x23c]
mov ecx, dword [ecx + 0x11c]
call fcn.0044c850
mov edx, dword [ebp - 0x23c]
push ecx
fld dword [edx + 0x6b0]
fstp dword [esp]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x120]
call fcn.0044c850
mov ecx, dword [ebp - 0x23c]
push ecx
fld dword [ecx + 0x6b0]
fstp dword [esp]
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0x124]
call fcn.0044c850
mov eax, dword [ebp - 0x23c]
push ecx
fld dword [eax + 0x6b0]
fstp dword [esp]
mov ecx, dword [ebp - 0x23c]
mov ecx, dword [ecx + 0x128]
call fcn.0044c850
mov edx, dword [ebp - 0x23c]
push ecx
fld dword [edx + 0x6b0]
fstp dword [esp]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x12c]
call fcn.0044c850
mov ecx, dword [ebp - 0x23c]
push ecx
fld dword [ecx + 0x6b0]
fstp dword [esp]
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0x118]
call fcn.0044e390
mov eax, dword [ebp - 0x23c]
movzx ecx, byte [eax + 0x132]
test ecx, ecx
je 0x4137d3
mov edx, dword [ebp - 0x23c]
cmp dword [edx + 0x134], 0xc
jge 0x4137b7
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x134]
add ecx, 1
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0x134], ecx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0xec]
push ecx
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0x108]
call fcn.004497e0
mov eax, dword [ebp - 0x23c]
cmp dword [eax + 0x134], 0xa
jne 0x4137d3
mov ecx, dword [ebp - 0x23c]
mov byte [ecx + 0x132], 0
mov edx, dword [ebp - 0x23c]
movzx eax, byte [edx + 0x132]
test eax, eax
jne 0x413810
mov ecx, dword [ebp - 0x23c]
cmp dword [ecx + 0x134], 0
je 0x413810
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x134]
sub eax, 1
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x134], eax
jmp 0x41383b
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xf0]
push eax
mov ecx, dword [ebp - 0x23c]
mov ecx, dword [ecx + 0x108]
call fcn.004497e0
mov edx, dword [ebp - 0x23c]
mov byte [edx + 0x132], 1
mov eax, dword [ebp - 0x23c]
movzx ecx, byte [eax + 0x6b4]
test ecx, ecx
je 0x413a44
mov dword [ebp - 0x18], 0
jmp 0x413862
mov edx, dword [ebp - 0x18]
add edx, 1
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], 8
jge 0x413896
mov eax, dword [ebp - 0x18]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.004248e0
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x23c]
mov dword [eax + edx*4 + 0x674], 0
jmp 0x413859
call fcn.0044e740
and eax, 0x80000001
jns 0x4138a7
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x4138ba
mov ecx, dword [ebp - 0x23c]
mov byte [ecx + 0x6b5], 1
jmp 0x4138c7
mov edx, dword [ebp - 0x23c]
mov byte [edx + 0x6b5], 0
mov eax, dword [ebp - 0x23c]
cmp dword [eax + 0x698], 0
jne 0x4138e6
mov ecx, dword [ebp - 0x23c]
call fcn.00418590
jmp 0x413a0b
mov ecx, dword [ebp - 0x23c]
cmp dword [ecx + 0x698], 1
jne 0x413905
mov ecx, dword [ebp - 0x23c]
call fcn.00418760
jmp 0x413a0b
mov edx, dword [ebp - 0x23c]
cmp dword [edx + 0x698], 2
jne 0x413924
mov ecx, dword [ebp - 0x23c]
call fcn.004191d0
jmp 0x413a0b
mov eax, dword [ebp - 0x23c]
cmp dword [eax + 0x698], 3
jne 0x413943
mov ecx, dword [ebp - 0x23c]
call fcn.0041a3c0
jmp 0x413a0b
mov ecx, dword [ebp - 0x23c]
cmp dword [ecx + 0x698], 4
jne 0x413962
mov ecx, dword [ebp - 0x23c]
call fcn.0041c120
jmp 0x413a0b
mov edx, dword [ebp - 0x23c]
cmp dword [edx + 0x698], 5
jne 0x413981
mov ecx, dword [ebp - 0x23c]
call fcn.0041cbc0
jmp 0x413a0b
mov eax, dword [ebp - 0x23c]
cmp dword [eax + 0x698], 6
jne 0x41399d
mov ecx, dword [ebp - 0x23c]
call fcn.0041f640
jmp 0x413a0b
mov ecx, dword [ebp - 0x23c]
cmp dword [ecx + 0x698], 7
jne 0x4139b9
mov ecx, dword [ebp - 0x23c]
call fcn.00420ce0
jmp 0x413a0b
mov edx, dword [ebp - 0x23c]
cmp dword [edx + 0x698], 8
jne 0x4139d5
mov ecx, dword [ebp - 0x23c]
call fcn.004215e0
jmp 0x413a0b
mov eax, dword [ebp - 0x23c]
cmp dword [eax + 0x698], 9
jne 0x4139f1
mov ecx, dword [ebp - 0x23c]
call fcn.004229c0
jmp 0x413a0b
mov ecx, dword [ebp - 0x23c]
cmp dword [ecx + 0x698], 0xa
jne 0x413a0b
mov ecx, dword [ebp - 0x23c]
call fcn.00423430
mov edx, dword [ebp - 0x23c]
mov byte [edx + 0x6b4], 0
mov eax, dword [ebp - 0x23c]
mov dword [eax + 0x694], 0
mov ecx, dword [0x472c14]
mov edx, dword [ecx + 4]
mov eax, dword [0x472c14]
mov ecx, dword [eax + 4]
mov edx, dword [edx]
push ecx
mov eax, dword [edx + 0xf8]
call eax
mov ecx, dword [ebp - 0x23c]
cmp dword [ecx + 0x698], 0
jne 0x413b0e
mov dword [ebp - 0x1c], 1
mov byte [ebp - 0x1d], 0
jmp 0x413a6d
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 5
jge 0x413a9a
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x23c]
call fcn.00418430
movzx ecx, al
test ecx, ecx
je 0x413a98
mov edx, dword [ebp - 0x1c]
push edx
mov ecx, dword [ebp - 0x23c]
call fcn.00417660
jmp 0x413a64
mov dword [ebp - 0x1c], 5
jmp 0x413aac
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 8
jge 0x413b0e
push 0x3e8
push 1
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax]
mov edx, dword [edx]
push ecx
mov eax, dword [edx + 0x84]
call eax
xor ecx, ecx
cmp eax, 0x32
setl cl
mov byte [ebp - 0x1d], cl
movzx edx, byte [ebp - 0x1d]
test edx, edx
je 0x413b0c
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x23c]
call fcn.004184d0
movzx ecx, al
test ecx, ecx
je 0x413b0c
mov edx, dword [ebp - 0x1c]
push edx
mov ecx, dword [ebp - 0x23c]
call fcn.00417cc0
jmp 0x413aa3
mov eax, dword [ebp - 0x23c]
cmp dword [eax + 0x698], 0
jne 0x413c98
mov ecx, dword [ebp - 0x23c]
cmp dword [ecx + 0x674], 0x3c
jge 0x413c98
cmp dword [0x472ba4], 5
jne 0x413c89
mov dword [ebp - 0x24], 0
jmp 0x413b53
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 1
jge 0x413c7f
push 8
push 0
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx]
mov ecx, dword [ecx]
push eax
mov edx, dword [ecx + 0x84]
call edx
mov eax, dword [eax*4 + 0x461778]
imul eax, eax, 0x1c
mov ecx, dword [ebp - 0x23c]
lea edx, [ecx + eax + 0x31c]
push edx
mov eax, dword [ebp - 0x23c]
add eax, 0x13c
push eax
lea ecx, [ebp - 0xbc]
call fcn.00401630
mov dword [ebp - 4], 0
lea ecx, [ebp - 0xbc]
push ecx
mov ecx, dword [ebp - 0x23c]
add ecx, 0x5f4
call fcn.00424760
push ecx
fld dword [0x461c38]
fstp dword [esp]
push ecx
fld dword [0x461c38]
fstp dword [esp]
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x674]
push eax
mov ecx, dword [ebp - 0x23c]
add ecx, 0x5f4
call fcn.00404620
push ecx
fld dword [eax + 0x5c]
fstp dword [esp]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x674]
push edx
mov ecx, dword [ebp - 0x23c]
add ecx, 0x5f4
call fcn.00404620
push ecx
fld dword [eax + 0x58]
fstp dword [esp]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x674]
push ecx
mov ecx, dword [ebp - 0x23c]
add ecx, 0x5f4
call fcn.00404620
mov ecx, eax
call fcn.00401d20
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x674]
add eax, 1
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x674], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xbc]
call fcn.00401bc0
jmp 0x413b4a
mov dword [0x472ba4], 0
mov edx, dword [0x472ba4]
add edx, 1
mov dword [0x472ba4], edx
mov dword [ebp - 0x10], 1
mov dword [ebp - 0xc0], 0
jmp 0x413cba
mov eax, dword [ebp - 0xc0]
add eax, 1
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 8
jge 0x417502
mov dword [ebp - 0xc4], 0
jmp 0x413ce2
mov ecx, dword [ebp - 0xc4]
add ecx, 1
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0xc4]
cmp ecx, dword [eax + edx*4 + 0x674]
jge 0x4174fd
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
movsx edx, byte [eax + 0x20]
mov dword [ebp - 0x240], edx
cmp dword [ebp - 0x240], 3
ja case.default.0x413d47
mov eax, dword [ebp - 0x240]
jmp dword [eax*4 + 0x417624]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
test edx, edx
je 0x413dbd
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov ecx, dword [ebp + 8]
fld dword [ecx + 4]
fsub qword [0x461600]
fld dword [eax + 0x4c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x413dbd
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 2
jmp case.default.0x413de2
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x698]
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0xa
ja case.default.0x413de2
mov ecx, dword [ebp - 0x244]
jmp dword [ecx*4 + 0x417634]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
cmp dword [eax + 0x88], 1
jne 0x413f10
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
add eax, 0x8c
mov dword [ebp - 0x248], eax
mov edx, dword [ebp - 0x248]
fld dword [edx]
fadd qword [0x461c30]
mov eax, dword [ebp - 0x248]
fstp dword [eax]
push ecx
fld dword [0x472c30]
fstp dword [esp]
push ecx
fld dword [0x472c30]
fstp dword [esp]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
fld dword [eax + 0x8c]
fadd qword [0x461218]
fstp dword [ebp - 0x24c]
fld dword [ebp - 0x24c]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x50]
fstp dword [esp]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x4c]
fstp dword [esp]
mov ecx, dword [ebp - 0x23c]
mov ecx, dword [ecx + 0x1a4]
call fcn.004494f0
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
cmp dword [eax + 0x88], 2
jne 0x414211
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
add eax, 0x8c
mov dword [ebp - 0x250], eax
mov edx, dword [ebp - 0x250]
fld dword [edx]
fsub qword [0x461c30]
mov eax, dword [ebp - 0x250]
fstp dword [eax]
push ecx
fld dword [0x472c30]
fstp dword [esp]
push ecx
fld dword [0x472c30]
fstp dword [esp]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
fld dword [eax + 0x8c]
fadd qword [0x461218]
fstp dword [ebp - 0x254]
fld dword [ebp - 0x254]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x50]
fstp dword [esp]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x4c]
fstp dword [esp]
mov ecx, dword [ebp - 0x23c]
mov ecx, dword [ecx + 0x1a8]
call fcn.004494f0
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov esi, eax
fld dword [0x472c2c]
fmul qword [0x4611c8]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
fstp qword [ebp - 0x25c]
call fcn.00404620
mov edx, dword [eax + 8]
fld dword [edx + 0xc]
fmul qword [0x461280]
fadd qword [ebp - 0x25c]
fld dword [esi + 0x4c]
fcompp
fnstsw ax
test ah, 0x41
je 0x4141eb
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov esi, eax
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov eax, dword [eax + 8]
fld dword [eax + 0xc]
fchs
fmul qword [0x461280]
fld dword [esi + 0x4c]
fcompp
fnstsw ax
test ah, 5
jnp 0x4141eb
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov esi, eax
fld dword [0x472c30]
fmul qword [0x4611c0]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
fstp qword [ebp - 0x264]
call fcn.00404620
mov ecx, dword [eax + 8]
fld dword [ecx + 0xc]
fmul qword [0x461280]
fadd qword [ebp - 0x264]
fld dword [esi + 0x50]
fcompp
fnstsw ax
test ah, 0x41
je 0x4141eb
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov esi, eax
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov edx, dword [eax + 8]
fld dword [edx + 0xc]
fchs
fmul qword [0x461280]
fld dword [esi + 0x50]
fcompp
fnstsw ax
test ah, 5
jp 0x414211
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 2
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov ecx, eax
call fcn.00401d00
jmp case.default.0x413de2
mov eax, dword [ebp - 0x23c]
movzx ecx, byte [eax + 0x6b5]
test ecx, ecx
je 0x4144ab
push ecx
fld dword [0x472c30]
fstp dword [esp]
push ecx
fld dword [0x472c30]
fstp dword [esp]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
fld dword [eax + 0x74]
fadd qword [0x461218]
fstp dword [ebp - 0x268]
fld dword [ebp - 0x268]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x50]
fstp dword [esp]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x4c]
fstp dword [esp]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov esi, eax
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov edx, dword [eax + 8]
movsx ecx, byte [edx + 1]
mov eax, dword [0x472c28]
xor edx, edx
div ecx
mov eax, dword [esi]
mov ecx, dword [eax + edx*4]
call fcn.004494f0
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
add eax, 0x4c
mov dword [ebp - 0x26c], eax
mov ecx, dword [ebp - 0x26c]
fld dword [ecx]
fadd qword [0x4611e8]
mov edx, dword [ebp - 0x26c]
fstp dword [edx]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov esi, eax
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x4c]
fld dword [eax + 0x54]
fcompp
fnstsw ax
test ah, 5
jp 0x4144a6
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + eax*4 + 0x674]
sub edx, 1
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + eax*4 + 0x674], edx
lea ecx, [ebp - 0xc8]
call fcn.00424930
lea edx, [ebp - 0x194]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00448510
mov edx, dword [eax]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0xc4]
push eax
lea ecx, [ebp - 0x19c]
push ecx
lea ecx, [ebp - 0xc8]
call fcn.00424950
mov edx, dword [eax]
mov dword [ebp - 0x198], edx
mov eax, dword [ebp - 0x198]
push eax
lea ecx, [ebp - 0x1a0]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00424870
mov ecx, dword [ebp - 0xc4]
sub ecx, 1
mov dword [ebp - 0xc4], ecx
jmp 0x4146fd
push ecx
fld dword [0x472c30]
fstp dword [esp]
push ecx
fld dword [0x472c30]
fstp dword [esp]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
fld dword [eax + 0x74]
fsub qword [0x461218]
fstp dword [ebp - 0x270]
fld dword [ebp - 0x270]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x50]
fstp dword [esp]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x4c]
fstp dword [esp]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov esi, eax
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov edx, dword [eax + 8]
movsx ecx, byte [edx + 1]
mov eax, dword [0x472c28]
xor edx, edx
div ecx
mov eax, dword [esi]
mov ecx, dword [eax + edx*4]
call fcn.004494f0
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
add eax, 0x4c
mov dword [ebp - 0x274], eax
mov ecx, dword [ebp - 0x274]
fld dword [ecx]
fsub qword [0x4611e8]
mov edx, dword [ebp - 0x274]
fstp dword [edx]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov esi, eax
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x4c]
fld dword [eax + 0x54]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4146fd
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + eax*4 + 0x674]
sub edx, 1
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + eax*4 + 0x674], edx
lea ecx, [ebp - 0xcc]
call fcn.00424930
lea edx, [ebp - 0x1a4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00448510
mov edx, dword [eax]
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xc4]
push eax
lea ecx, [ebp - 0x1ac]
push ecx
lea ecx, [ebp - 0xcc]
call fcn.00424950
mov edx, dword [eax]
mov dword [ebp - 0x1a8], edx
mov eax, dword [ebp - 0x1a8]
push eax
lea ecx, [ebp - 0x1b0]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00424870
mov ecx, dword [ebp - 0xc4]
sub ecx, 1
mov dword [ebp - 0xc4], ecx
jmp case.default.0x413de2
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov ecx, eax
call fcn.00401c40
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov edx, dword [eax + 8]
movsx eax, byte [edx]
cmp eax, 0xd
jne 0x414d71
cmp dword [ebp - 0xc4], 0xc8
jge 0x414d71
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0x23c]
cmp dword [edx + ecx*4 + 0x674], 0xc8
jne 0x414ac7
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov esi, eax
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x58]
fsub dword [eax + 0x4c]
fstp dword [ebp - 0x278]
fld dword [ebp - 0x278]
push ecx
fstp dword [esp]
call fcn.00404450
add esp, 4
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
fstp qword [ebp - 0x280]
call fcn.00404620
push ecx
fld dword [eax + 0x6c]
fstp dword [esp]
call fcn.00404450
add esp, 4
fcomp qword [ebp - 0x280]
fnstsw ax
test ah, 1
jne 0x4149b0
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov esi, eax
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x5c]
fsub dword [eax + 0x50]
fstp dword [ebp - 0x284]
fld dword [ebp - 0x284]
push ecx
fstp dword [esp]
call fcn.00404450
add esp, 4
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
fstp qword [ebp - 0x28c]
call fcn.00404620
push ecx
fld dword [eax + 0x70]
fstp dword [esp]
call fcn.00404450
add esp, 4
fcomp qword [ebp - 0x28c]
fnstsw ax
test ah, 1
jne 0x4149b0
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov byte [eax + 0x21], 1
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov esi, eax
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x4c]
fstp dword [eax + 0x58]
mov eax, dword [ebp - 0xc4]
cdq
mov ecx, 0x64
idiv ecx
mov dword [ebp - 0x290], eax
fild dword [ebp - 0x290]
fmul qword [0x461300]
fsubr qword [0x461c28]
fmul dword [0x472c30]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
fstp qword [ebp - 0x298]
call fcn.00404620
fld qword [ebp - 0x298]
fstp dword [eax + 0x5c]
push ecx
fld dword [0x461694]
fstp dword [esp]
push ecx
fld dword [0x461c38]
fstp dword [esp]
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx]
mov eax, dword [eax]
push edx
mov ecx, dword [eax + 0x88]
call ecx
push ecx
fstp dword [esp]
push ecx
fld dword [0x461694]
fstp dword [esp]
push ecx
fld dword [0x461c38]
fstp dword [esp]
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx]
mov eax, dword [eax]
push edx
mov ecx, dword [eax + 0x88]
call ecx
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x5c]
fstp dword [esp]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x58]
fstp dword [esp]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov ecx, eax
call fcn.00401d20
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x23c]
fild dword [eax + edx*4 + 0x674]
fdivr qword [0x461c20]
mov ecx, dword [ebp - 0x23c]
fadd dword [ecx + 0x6a8]
mov edx, dword [ebp - 0x23c]
fstp dword [edx + 0x6a8]
jmp 0x414d6c
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov esi, eax
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x58]
fsub dword [eax + 0x4c]
fstp dword [ebp - 0x29c]
fld dword [ebp - 0x29c]
push ecx
fstp dword [esp]
call fcn.00404450
add esp, 4
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
fstp qword [ebp - 0x2a4]
call fcn.00404620
push ecx
fld dword [eax + 0x6c]
fstp dword [esp]
call fcn.00404450
add esp, 4
fcomp qword [ebp - 0x2a4]
fnstsw ax
test ah, 1
jne 0x414cdd
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov esi, eax
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x5c]
fsub dword [eax + 0x50]
fstp dword [ebp - 0x2a8]
fld dword [ebp - 0x2a8]
push ecx
fstp dword [esp]
call fcn.00404450
add esp, 4
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
fstp qword [ebp - 0x2b0]
call fcn.00404620
push ecx
fld dword [eax + 0x70]
fstp dword [esp]
call fcn.00404450
add esp, 4
fcomp qword [ebp - 0x2b0]
fnstsw ax
test ah, 1
jne 0x414cdd
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov byte [eax + 0x21], 1
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov esi, eax
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x4c]
fstp dword [eax + 0x58]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov esi, eax
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x50]
fstp dword [eax + 0x5c]
push ecx
fld dword [0x461694]
fstp dword [esp]
push ecx
fld dword [0x461c38]
fstp dword [esp]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x50]
fstp dword [esp]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x4c]
fstp dword [esp]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov ecx, eax
call fcn.00401d20
jmp 0x414f42
cmp dword [ebp - 0xc4], 0xc8
jl 0x414f42
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
movzx eax, byte [eax + 0x23]
test eax, eax
jne 0x414e04
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov esi, eax
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x4c]
fld dword [eax + 0x54]
fcompp
fnstsw ax
test ah, 0x41
je 0x414e8b
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
movzx ecx, byte [eax + 0x23]
test ecx, ecx
je 0x414f42
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov esi, eax
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
fld dword [esi + 0x4c]
fld dword [eax + 0x54]
fcompp
fnstsw ax
test ah, 5
jp 0x414f42
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + edx*4 + 0x674]
sub ecx, 1
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x23c]
mov dword [eax + edx*4 + 0x674], ecx
lea ecx, [ebp - 0xd0]
call fcn.00424930
lea ecx, [ebp - 0x1b4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00448510
mov ecx, dword [eax]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 0xc4]
push edx
lea eax, [ebp - 0x1bc]
push eax
lea ecx, [ebp - 0xd0]
call fcn.00424950
mov ecx, dword [eax]
mov dword [ebp - 0x1b8], ecx
mov edx, dword [ebp - 0x1b8]
push edx
lea eax, [ebp - 0x1c0]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00424870
mov eax, dword [ebp - 0xc4]
sub eax, 1
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0x23c]
fld dword [ecx + 0x6a8]
fcomp qword [0x461c18]
fnstsw ax
test ah, 0x41
jne 0x414f91
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x23c]
cmp dword [eax + edx*4 + 0x674], 0xc8
jne 0x414f91
mov ecx, dword [ebp - 0x23c]
mov byte [ecx + 0x6b4], 1
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0x698], 0
jmp case.default.0x413de2
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov eax, dword [eax + 0x1c]
push eax
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov ecx, eax
call fcn.00403eb0
jmp case.default.0x413de2
push ecx
fld dword [0x472c30]
fstp dword [esp]
push ecx
fld dword [0x472c30]
fstp dword [esp]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
fld dword [eax + 0x74]
fadd qword [0x461218]
fstp dword [ebp - 0x2b4]
fld dword [ebp - 0x2b4]
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x50]
fstp dword [esp]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x4c]
fstp dword [esp]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov esi, eax
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov ecx, dword [eax + 8]
movsx ecx, byte [ecx + 1]
mov eax, dword [0x472c28]
xor edx, edx
div ecx
mov eax, dword [esi]
mov ecx, dword [eax + edx*4]
call fcn.004494f0
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
add eax, 0x4c
mov dword [ebp - 0x2b8], eax
mov ecx, dword [ebp - 0x2b8]
fld dword [ecx]
fadd qword [0x4611e8]
mov edx, dword [ebp - 0x2b8]
fstp dword [edx]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov esi, eax
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x4c]
fld dword [eax + 0x54]
fcompp
fnstsw ax
test ah, 5
jp 0x41523c
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + eax*4 + 0x674]
sub edx, 1
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + eax*4 + 0x674], edx
lea ecx, [ebp - 0xd4]
call fcn.00424930
lea edx, [ebp - 0x1c4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00448510
mov edx, dword [eax]
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0xc4]
push eax
lea ecx, [ebp - 0x1cc]
push ecx
lea ecx, [ebp - 0xd4]
call fcn.00424950
mov edx, dword [eax]
mov dword [ebp - 0x1c8], edx
mov eax, dword [ebp - 0x1c8]
push eax
lea ecx, [ebp - 0x1d0]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00424870
mov ecx, dword [ebp - 0xc4]
sub ecx, 1
mov dword [ebp - 0xc4], ecx
jmp case.default.0x413de2
push ecx
fld dword [0x472c30]
fstp dword [esp]
push ecx
fld dword [0x472c30]
fstp dword [esp]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
fld dword [eax + 0x74]
fadd qword [0x461218]
fstp dword [ebp - 0x2bc]
fld dword [ebp - 0x2bc]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x50]
fstp dword [esp]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x4c]
fstp dword [esp]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov esi, eax
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov edx, dword [eax + 8]
movsx ecx, byte [edx + 1]
mov eax, dword [0x472c28]
xor edx, edx
div ecx
mov eax, dword [esi]
mov ecx, dword [eax + edx*4]
call fcn.004494f0
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
add eax, 0x4c
mov dword [ebp - 0x2c0], eax
mov ecx, dword [ebp - 0x2c0]
fld dword [ecx]
fadd qword [0x4611e8]
mov edx, dword [ebp - 0x2c0]
fstp dword [edx]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov esi, eax
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x4c]
fld dword [eax + 0x54]
fcompp
fnstsw ax
test ah, 5
jp 0x415493
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + eax*4 + 0x674]
sub edx, 1
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + eax*4 + 0x674], edx
lea ecx, [ebp - 0xd8]
call fcn.00424930
lea edx, [ebp - 0x1d4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00448510
mov edx, dword [eax]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xc4]
push eax
lea ecx, [ebp - 0x1dc]
push ecx
lea ecx, [ebp - 0xd8]
call fcn.00424950
mov edx, dword [eax]
mov dword [ebp - 0x1d8], edx
mov eax, dword [ebp - 0x1d8]
push eax
lea ecx, [ebp - 0x1e0]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00424870
mov ecx, dword [ebp - 0xc4]
sub ecx, 1
mov dword [ebp - 0xc4], ecx
jmp case.default.0x413de2
push ecx
fld dword [0x472c30]
fstp dword [esp]
push ecx
fld dword [0x472c30]
fstp dword [esp]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
fld dword [eax + 0x74]
fadd qword [0x461218]
fstp dword [ebp - 0x2c4]
fld dword [ebp - 0x2c4]
push ecx
fstp dword [esp]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x50]
fstp dword [esp]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x4c]
fstp dword [esp]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov esi, eax
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov edx, dword [eax + 8]
movsx ecx, byte [edx + 1]
mov eax, dword [0x472c28]
xor edx, edx
div ecx
mov eax, dword [esi]
mov ecx, dword [eax + edx*4]
call fcn.004494f0
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
add eax, 0x4c
mov dword [ebp - 0x2c8], eax
mov ecx, dword [ebp - 0x2c8]
fld dword [ecx]
fadd qword [0x4611e8]
mov edx, dword [ebp - 0x2c8]
fstp dword [edx]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov esi, eax
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x4c]
fld dword [eax + 0x54]
fcompp
fnstsw ax
test ah, 5
jp 0x4156ea
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + eax*4 + 0x674]
sub edx, 1
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + eax*4 + 0x674], edx
lea ecx, [ebp - 0xdc]
call fcn.00424930
lea edx, [ebp - 0x1e4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00448510
mov edx, dword [eax]
mov dword [ebp - 0xdc], edx
mov eax, dword [ebp - 0xc4]
push eax
lea ecx, [ebp - 0x1ec]
push ecx
lea ecx, [ebp - 0xdc]
call fcn.00424950
mov edx, dword [eax]
mov dword [ebp - 0x1e8], edx
mov eax, dword [ebp - 0x1e8]
push eax
lea ecx, [ebp - 0x1f0]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00424870
mov ecx, dword [ebp - 0xc4]
sub ecx, 1
mov dword [ebp - 0xc4], ecx
jmp case.default.0x413de2
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov edx, dword [eax + 8]
movsx eax, byte [edx]
cmp eax, 0x10
jne 0x415831
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x50]
fstp dword [esp]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x4c]
fstp dword [esp]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov esi, eax
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov ecx, dword [eax + 8]
movsx ecx, byte [ecx + 1]
mov eax, dword [0x472c28]
xor edx, edx
div ecx
mov eax, dword [esi]
mov ecx, dword [eax + edx*4]
call fcn.00449470
mov ecx, dword [ebp - 0x23c]
fld dword [ecx + 0x6ac]
fadd qword [0x461c20]
mov edx, dword [ebp - 0x23c]
fstp dword [edx + 0x6ac]
mov eax, dword [ebp - 0x23c]
fld dword [eax + 0x6ac]
fcomp qword [0x4611c0]
fnstsw ax
test ah, 0x41
jne 0x41582f
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 2
jmp 0x41585a
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov ecx, eax
call fcn.00401d00
jmp case.default.0x413de2
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
movzx ecx, byte [eax + 0x23]
test ecx, ecx
je 0x415a16
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
add eax, 0x4c
mov dword [ebp - 0x2cc], eax
mov edx, dword [ebp - 0x2cc]
fld dword [edx]
fadd qword [0x4611e8]
mov eax, dword [ebp - 0x2cc]
fstp dword [eax]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov esi, eax
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x4c]
fld dword [eax + 0x54]
fcompp
fnstsw ax
test ah, 5
jp 0x415949
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 2
push ecx
fldz
fstp dword [esp]
push ecx
fld1
fstp dword [esp]
push ecx
fld dword [0x46120c]
fstp dword [esp]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x50]
fstp dword [esp]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x4c]
fstp dword [esp]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov esi, eax
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov ecx, dword [eax + 8]
movsx ecx, byte [ecx + 1]
mov eax, dword [0x472c28]
xor edx, edx
div ecx
mov eax, dword [esi]
mov ecx, dword [eax + edx*4]
call fcn.004494f0
jmp case.default.0x413de2
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
add eax, 0x4c
mov dword [ebp - 0x2d0], eax
mov ecx, dword [ebp - 0x2d0]
fld dword [ecx]
fsub qword [0x4611e8]
mov edx, dword [ebp - 0x2d0]
fstp dword [edx]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov esi, eax
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x4c]
fld dword [eax + 0x54]
fcompp
fnstsw ax
test ah, 0x41
jne 0x415ad2
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 2
push ecx
fldz
fstp dword [esp]
push ecx
fld1
fstp dword [esp]
push ecx
fld dword [0x461230]
fstp dword [esp]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x50]
fstp dword [esp]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x4c]
fstp dword [esp]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov esi, eax
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov eax, dword [eax + 8]
movsx ecx, byte [eax + 1]
mov eax, dword [0x472c28]
xor edx, edx
div ecx
mov eax, dword [esi]
mov ecx, dword [eax + edx*4]
call fcn.004494f0
jmp case.default.0x413d47
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov ecx, eax
call fcn.00403990
jmp case.default.0x413d47
mov ecx, dword [ebp - 0x23c]
cmp dword [ecx + 0x698], 0
jne 0x41604c
push 0x3e7
push 0
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx]
mov eax, dword [eax]
push edx
mov ecx, dword [eax + 0x84]
call ecx
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 0x12
jge 0x415c3e
push 5
push 0
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx]
mov eax, dword [eax]
push edx
mov ecx, dword [eax + 0x84]
call ecx
add eax, 0x13
mov dword [ebp - 0xe4], eax
jmp 0x415ccc
cmp dword [ebp - 0xe0], 0x43
jge 0x415c71
push 4
push 0
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx]
mov eax, dword [eax]
push edx
mov ecx, dword [eax + 0x84]
call ecx
add eax, 0xf
mov dword [ebp - 0xe4], eax
jmp 0x415ccc
cmp dword [ebp - 0xe0], 0x140
jge 0x415ca7
push 5
push 0
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx]
mov eax, dword [eax]
push edx
mov ecx, dword [eax + 0x84]
call ecx
add eax, 9
mov dword [ebp - 0xe4], eax
jmp 0x415ccc
push 8
push 0
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx]
mov eax, dword [eax]
push edx
mov ecx, dword [eax + 0x84]
call ecx
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xc0], 0
jne 0x415f95
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx*4 + 0x461778]
imul eax, eax, 0x1c
mov ecx, dword [ebp - 0x23c]
lea edx, [ecx + eax + 0x31c]
push edx
mov eax, dword [ebp - 0x23c]
add eax, 0x13c
push eax
lea ecx, [ebp - 0x174]
call fcn.00401630
mov dword [ebp - 4], 1
call fcn.0044e740
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 5
jge 0x415dfe
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx*4 + 0x461778]
push eax
mov ecx, dword [ebp - 0x23c]
call fcn.00424600
movzx ecx, al
test ecx, ecx
je 0x415dfe
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0x6c4], 0
mov dword [ebp - 0x178], 0
jmp 0x415d7a
mov eax, dword [ebp - 0x178]
add eax, 1
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00424720
cmp dword [ebp - 0x178], eax
jae 0x415de5
mov eax, dword [ebp - 0x178]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
cmp dword [eax + 0x88], 1
jne 0x415de3
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x6c4]
add ecx, 1
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0x6c4], ecx
jmp 0x415d6b
mov eax, dword [ebp - 0x23c]
cmp dword [eax + 0x6c4], 3
jge 0x415dfe
mov dword [ebp - 0xec], 1
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov ecx, 0x24
lea esi, [ebp - 0x174]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x16c]
movsx edx, byte [ecx]
cmp edx, 0x18
je 0x415e5b
mov eax, dword [ebp - 0x16c]
movsx ecx, byte [eax]
cmp ecx, 0x19
je 0x415e5b
mov edx, dword [ebp - 0x16c]
cmp dword [edx + 0x18], 0
je 0x415eef
push ecx
fld dword [0x461698]
fstp dword [esp]
push ecx
fld dword [0x461698]
fstp dword [esp]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x5c]
fstp dword [esp]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x58]
fstp dword [esp]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov ecx, eax
call fcn.00401d20
jmp 0x415f7e
push ecx
fld dword [0x461c38]
fstp dword [esp]
push ecx
fld dword [0x461c38]
fstp dword [esp]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x5c]
fstp dword [esp]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
push ecx
fld dword [eax + 0x58]
fstp dword [esp]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov ecx, eax
call fcn.00401d20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x174]
call fcn.00401bc0
jmp 0x416047
cmp dword [ebp - 0xc0], 5
jge 0x416047
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + eax*4 + 0x674]
sub edx, 1
cmp dword [ebp - 0xc4], edx
jge 0x416047
mov eax, dword [ebp - 0xc4]
add eax, 1
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov dword [eax + 0xc], 0
mov eax, dword [ebp - 0xc4]
add eax, 1
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
movsx eax, byte [eax + 0x20]
cmp eax, 3
jne 0x416047
mov ecx, dword [ebp - 0xc4]
add ecx, 1
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
jmp 0x41679b
mov ecx, dword [ebp - 0x23c]
cmp dword [ecx + 0x698], 3
jne 0x416219
push 0
mov ecx, dword [ebp - 0x23c]
add ecx, 0x5f4
call fcn.00404620
movsx edx, byte [eax + 0x20]
cmp edx, 2
jne 0x41615f
push 0
mov ecx, dword [ebp - 0x23c]
add ecx, 0x604
call fcn.00404620
movsx eax, byte [eax + 0x20]
cmp eax, 2
jne 0x41615f
mov ecx, dword [ebp - 0x23c]
mov byte [ecx + 0x6b4], 1
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0x698], 0
mov eax, dword [ebp - 0x23c]
mov dword [eax + 0x674], 0
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x678], 0
lea edx, [ebp - 0x1f8]
push edx
mov ecx, dword [ebp - 0x23c]
add ecx, 0x5f4
call fcn.00448510
mov eax, dword [eax]
mov dword [ebp - 0x1f4], eax
mov ecx, dword [ebp - 0x1f4]
push ecx
lea edx, [ebp - 0x1fc]
push edx
mov ecx, dword [ebp - 0x23c]
add ecx, 0x5f4
call fcn.00424870
lea eax, [ebp - 0x204]
push eax
mov ecx, dword [ebp - 0x23c]
add ecx, 0x604
call fcn.00448510
mov ecx, dword [eax]
mov dword [ebp - 0x200], ecx
mov edx, dword [ebp - 0x200]
push edx
lea eax, [ebp - 0x208]
push eax
mov ecx, dword [ebp - 0x23c]
add ecx, 0x604
call fcn.00424870
jmp 0x416214
cmp dword [ebp - 0xc4], 0
je 0x416214
lea ecx, [ebp - 0x17c]
call fcn.00424930
lea ecx, [ebp - 0x20c]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00448510
mov ecx, dword [eax]
mov dword [ebp - 0x17c], ecx
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + edx*4 + 0x674]
sub ecx, 1
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x23c]
mov dword [eax + edx*4 + 0x674], ecx
mov ecx, dword [ebp - 0xc4]
push ecx
lea edx, [ebp - 0x214]
push edx
lea ecx, [ebp - 0x17c]
call fcn.00424950
mov eax, dword [eax]
mov dword [ebp - 0x210], eax
mov ecx, dword [ebp - 0x210]
push ecx
lea edx, [ebp - 0x218]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00424870
jmp 0x41679b
mov edx, dword [ebp - 0x23c]
cmp dword [edx + 0x698], 7
jne 0x416646
cmp dword [ebp - 0xc4], 0
jne 0x416646
push 0x1c5
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
movsx edx, byte [eax + 0x20]
cmp edx, 2
jne 0x416344
lea ecx, [ebp - 0x180]
call fcn.00424930
lea eax, [ebp - 0x21c]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00448510
mov eax, dword [eax]
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x184], 0x1c5
jmp 0x4162b6
mov ecx, dword [ebp - 0x184]
sub ecx, 1
mov dword [ebp - 0x184], ecx
cmp dword [ebp - 0x184], 0
jle 0x41630b
mov edx, dword [ebp - 0x184]
push edx
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x180]
call fcn.00424950
mov ecx, dword [eax]
mov dword [ebp - 0x220], ecx
mov edx, dword [ebp - 0x220]
push edx
lea eax, [ebp - 0x228]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00424870
jmp 0x4162a7
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + eax*4 + 0x674], 0
mov edx, dword [ebp - 0x23c]
mov byte [edx + 0x6b4], 1
mov eax, dword [ebp - 0x23c]
mov dword [eax + 0x698], 0
jmp 0x417607
push 0x121
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
movsx eax, byte [eax + 0x20]
cmp eax, 2
jne 0x416449
push 0x130
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
push 0x149
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
push 0x162
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
push 0x17b
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
push 0x194
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
push 0x1ad
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
push 0x8b
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
movsx eax, byte [eax + 0x20]
cmp eax, 2
jne 0x41654e
push 0x9a
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
push 0xb3
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
push 0xcc
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
push 0xe5
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
push 0xfe
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
push 0x117
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
push 0
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
movsx eax, byte [eax + 0x20]
cmp eax, 2
jne 0x416641
push 4
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
push 0x1d
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
push 0x36
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
push 0x4f
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
push 0x68
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
push 0x81
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
jmp 0x41679b
mov ecx, dword [ebp - 0x23c]
cmp dword [ecx + 0x698], 7
je 0x41679b
mov edx, dword [ebp - 0x23c]
cmp dword [edx + 0x698], 3
je 0x41679b
mov eax, dword [ebp - 0x23c]
cmp dword [eax + 0x698], 2
jne 0x41668b
cmp dword [ebp - 0xc4], 0xc8
jl 0x416742
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + ecx*4 + 0x674]
sub eax, 1
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0x23c]
mov dword [edx + ecx*4 + 0x674], eax
lea ecx, [ebp - 0x188]
call fcn.00424930
lea eax, [ebp - 0x22c]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00448510
mov eax, dword [eax]
mov dword [ebp - 0x188], eax
mov ecx, dword [ebp - 0xc4]
push ecx
lea edx, [ebp - 0x234]
push edx
lea ecx, [ebp - 0x188]
call fcn.00424950
mov eax, dword [eax]
mov dword [ebp - 0x230], eax
mov ecx, dword [ebp - 0x230]
push ecx
lea edx, [ebp - 0x238]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00424870
mov edx, dword [ebp - 0xc4]
sub edx, 1
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0x23c]
cmp dword [eax + 0x698], 2
jne 0x41679b
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0x23c]
cmp dword [edx + ecx*4 + 0x674], 0xc8
jne 0x41679b
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x23c]
fild dword [ecx + eax*4 + 0x674]
fdivr qword [0x461c20]
mov edx, dword [ebp - 0x23c]
fadd dword [edx + 0x6a8]
mov eax, dword [ebp - 0x23c]
fstp dword [eax + 0x6a8]
jmp case.default.0x413d47
mov ecx, dword [ebp - 0x23c]
cmp dword [ecx + 0x698], 0
jne 0x416cf5
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
cmp dword [eax + 0xc], 0
je 0x416cf5
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov edx, dword [eax + 8]
movsx eax, byte [edx]
cmp eax, 0xe
jne 0x4169ec
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov esi, dword [eax + 0xc]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x4c]
fsub dword [eax + 0x4c]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
fstp qword [ebp - 0x2d8]
call fcn.00404620
mov esi, dword [eax + 0xc]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x4c]
fsub dword [eax + 0x4c]
fmul qword [ebp - 0x2d8]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
fstp qword [ebp - 0x2e0]
call fcn.00404620
mov esi, dword [eax + 0xc]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x50]
fsub dword [eax + 0x50]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
fstp qword [ebp - 0x2e8]
call fcn.00404620
mov esi, dword [eax + 0xc]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x50]
fsub dword [eax + 0x50]
fmul qword [ebp - 0x2e8]
fadd qword [ebp - 0x2e0]
fstp dword [ebp - 0x2ec]
fld dword [ebp - 0x2ec]
push ecx
fstp dword [esp]
call fcn.00404550
add esp, 4
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
fstp qword [ebp - 0x2f4]
call fcn.00404620
mov ecx, dword [eax + 8]
fld dword [ecx + 0xc]
fmul qword [0x461ab8]
fcomp qword [ebp - 0x2f4]
fnstsw ax
test ah, 5
jp 0x4169e7
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
jmp 0x416cf0
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov edx, dword [eax + 8]
movsx eax, byte [edx]
cmp eax, 0xd
jne 0x416b1f
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov ecx, dword [eax + 0xc]
push ecx
fld dword [ecx + 0x70]
fstp dword [esp]
call fcn.00404450
fld dword [0x4614b0]
fstp dword [esp]
push ecx
fld dword [0x4614c4]
fstp dword [esp]
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx]
mov eax, dword [eax]
push edx
mov ecx, dword [eax + 0x88]
fstp qword [ebp - 0x2fc]
call ecx
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
fstp qword [ebp - 0x304]
call fcn.00404620
mov edx, dword [eax + 8]
fld dword [edx + 0xc]
fmul qword [ebp - 0x304]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
fstp qword [ebp - 0x30c]
call fcn.00404620
fld dword [eax + 0x68]
fdivr qword [ebp - 0x30c]
fcomp qword [ebp - 0x2fc]
fnstsw ax
test ah, 0x41
jp 0x416b1a
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
jmp 0x416cf0
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov esi, dword [eax + 0xc]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x4c]
fsub dword [eax + 0x4c]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
fstp qword [ebp - 0x314]
call fcn.00404620
mov esi, dword [eax + 0xc]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x4c]
fsub dword [eax + 0x4c]
fmul qword [ebp - 0x314]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
fstp qword [ebp - 0x31c]
call fcn.00404620
mov esi, dword [eax + 0xc]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x50]
fsub dword [eax + 0x50]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
fstp qword [ebp - 0x324]
call fcn.00404620
mov esi, dword [eax + 0xc]
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x50]
fsub dword [eax + 0x50]
fmul qword [ebp - 0x324]
fadd qword [ebp - 0x31c]
fstp dword [ebp - 0x328]
fld dword [ebp - 0x328]
push ecx
fstp dword [esp]
call fcn.00404550
add esp, 4
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
fstp qword [ebp - 0x330]
call fcn.00404620
mov eax, dword [eax + 8]
fld dword [eax + 0xc]
fcomp qword [ebp - 0x330]
fnstsw ax
test ah, 5
jp 0x416cf0
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
jmp case.default.0x413d47
mov ecx, dword [ebp - 0x23c]
cmp dword [ecx + 0x698], 0
jne 0x416f1e
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
cmp dword [eax + 0x10], 0
je 0x416f1e
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov esi, dword [eax + 0x10]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
fld dword [esi + 0x4c]
fsub dword [eax + 0x4c]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
fstp qword [ebp - 0x338]
call fcn.00404620
mov esi, dword [eax + 0x10]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
fld dword [esi + 0x4c]
fsub dword [eax + 0x4c]
fmul qword [ebp - 0x338]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
fstp qword [ebp - 0x340]
call fcn.00404620
mov esi, dword [eax + 0x10]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
fld dword [esi + 0x50]
fsub dword [eax + 0x50]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
fstp qword [ebp - 0x348]
call fcn.00404620
mov esi, dword [eax + 0x10]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
fld dword [esi + 0x50]
fsub dword [eax + 0x50]
fmul qword [ebp - 0x348]
fadd qword [ebp - 0x340]
fstp dword [ebp - 0x34c]
fld dword [ebp - 0x34c]
push ecx
fstp dword [esp]
call fcn.00404550
add esp, 4
fstp dword [ebp - 0x18c]
fld dword [ebp - 0x18c]
fadd qword [0x4611e0]
fstp dword [ebp - 0x18c]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov edx, dword [eax + 8]
fld dword [ebp - 0x18c]
fld dword [edx + 8]
fcompp
fnstsw ax
test ah, 5
jp 0x416f19
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
jmp case.default.0x413d47
mov eax, dword [ebp - 0x23c]
cmp dword [eax + 0x698], 3
jne 0x417109
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov ecx, dword [eax + 0xc]
fld dword [ecx + 0x70]
fcomp qword [0x461c10]
fnstsw ax
test ah, 1
jne 0x416fbe
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov edx, dword [eax + 8]
movsx eax, byte [edx]
cmp eax, 0xb
jne 0x416fbe
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
jmp 0x417104
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov ecx, dword [eax + 0xc]
fld dword [ecx + 0x70]
fcomp qword [0x461c08]
fnstsw ax
test ah, 1
jne 0x41704b
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov edx, dword [eax + 8]
movsx eax, byte [edx]
cmp eax, 0xe
jne 0x41704b
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
jmp 0x417104
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov ecx, dword [eax + 0xc]
fld dword [ecx + 0x70]
fcomp qword [0x461c00]
fnstsw ax
test ah, 1
jne 0x417104
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov edx, dword [eax + 8]
movsx eax, byte [edx]
cmp eax, 8
je 0x4170de
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov ecx, dword [eax + 8]
movsx edx, byte [ecx]
cmp edx, 0xd
jne 0x417104
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
jmp case.default.0x413d47
mov eax, dword [ebp - 0x23c]
cmp dword [eax + 0x698], 7
jne 0x4173ed
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
cmp dword [eax + 0xc], 0
je 0x4173ed
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov esi, dword [eax + 0xc]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x4c]
fsub dword [eax + 0x4c]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
fstp qword [ebp - 0x354]
call fcn.00404620
mov esi, dword [eax + 0xc]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x4c]
fsub dword [eax + 0x4c]
fmul qword [ebp - 0x354]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
fstp qword [ebp - 0x35c]
call fcn.00404620
mov esi, dword [eax + 0xc]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x50]
fsub dword [eax + 0x50]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
fstp qword [ebp - 0x364]
call fcn.00404620
mov esi, dword [eax + 0xc]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
fld dword [esi + 0x50]
fsub dword [eax + 0x50]
fmul qword [ebp - 0x364]
fadd qword [ebp - 0x35c]
fstp dword [ebp - 0x368]
fld dword [ebp - 0x368]
push ecx
fstp dword [esp]
call fcn.00404550
add esp, 4
fstp dword [ebp - 0x190]
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0xc0]
shl edx, 4
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0x5f4]
call fcn.00404620
mov ecx, dword [eax + 8]
movsx edx, byte [ecx]
cmp edx, 0xe
jne 0x417357
fld dword [ebp - 0x190]
fcomp qword [0x4611e0]
fnstsw ax
test ah, 0x41
je 0x41732c
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov eax, dword [eax + 0xc]
movsx ecx, byte [eax + 0x20]
cmp ecx, 2
jne 0x417352
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
jmp 0x4173e8
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov edx, dword [eax + 8]
fld dword [edx + 0xc]
fdiv qword [0x461280]
fld dword [ebp - 0x190]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4173e8
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc0]
shl ecx, 4
mov edx, dword [ebp - 0x23c]
lea ecx, [edx + ecx + 0x5f4]
call fcn.00404620
mov eax, dword [eax + 0xc]
movsx ecx, byte [eax + 0x20]
cmp ecx, 3
je 0x4173e8
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
jmp case.default.0x413d47
mov edx, dword [ebp - 0x23c]
cmp dword [edx + 0x698], 5
je 0x41741e
mov eax, dword [ebp - 0x23c]
cmp dword [eax + 0x698], 4
je 0x41741e
mov ecx, dword [ebp - 0x23c]
cmp dword [ecx + 0x698], 6
jne case.default.0x413d47
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov esi, eax
fld dword [0x472c2c]
fmul qword [0x4611c8]
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
fstp qword [ebp - 0x370]
call fcn.00404620
fld dword [eax + 0x54]
fmul dword [0x472c2c]
fsubr qword [ebp - 0x370]
fld dword [esi + 0x4c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4174b7
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
mov byte [eax + 0x20], 0
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0xc0]
shl eax, 4
mov ecx, dword [ebp - 0x23c]
lea ecx, [ecx + eax + 0x5f4]
call fcn.00404620
add eax, 0x4c
mov dword [ebp - 0x374], eax
mov edx, dword [ebp - 0x374]
fld dword [edx]
fadd qword [0x4611e8]
mov eax, dword [ebp - 0x374]
fstp dword [eax]
jmp 0x413cd3
jmp 0x413cab
cmp dword [ebp - 0x10], 0
je 0x417525
mov ecx, dword [ebp - 0x23c]
mov byte [ecx + 0x6b4], 1
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0x698], 0
push ecx
fld dword [0x461760]
fstp dword [esp]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x11c]
call fcn.0044aab0
push ecx
fld dword [0x461760]
fstp dword [esp]
mov ecx, dword [ebp - 0x23c]
mov ecx, dword [ecx + 0x120]
call fcn.0044aab0
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0x124]
call fcn.0044a980
push ecx
fld dword [0x461760]
fstp dword [esp]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x128]
call fcn.0044aab0
push ecx
fld dword [0x461760]
fstp dword [esp]
mov ecx, dword [ebp - 0x23c]
mov ecx, dword [ecx + 0x12c]
call fcn.0044aab0
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0x118]
call fcn.00424680
movzx eax, al
test eax, eax
je 0x417607
push ecx
fldz
fstp dword [esp]
fld dword [0x472c34]
fmul qword [0x461bf8]
fstp dword [ebp - 0x378]
fld dword [ebp - 0x378]
push ecx
fstp dword [esp]
push ecx
fldz
fstp dword [esp]
push ecx
fld dword [0x472b94]
fstp dword [esp]
push ecx
fld dword [0x472ba0]
fstp dword [esp]
mov ecx, dword [ebp - 0x23c]
mov ecx, dword [ecx + 0x118]
call fcn.004494f0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x28]
xor ecx, ebp
call fcn.0044f061
mov esp, ebp
pop ebp
ret 4