Function at 0x4a8440
Capabilities:
Authenticate hmac
Parse pe header

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff78
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 8], ebx
mov byte [ebp - 0x61], cl
mov dword [ebp - 0xc], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4b0901
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
mov word [eax + 8], dx
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4a8486
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, byte [edx + eax*2 + 0x96]
cmp eax, 0x6e
jg 0x4a84bb
je 0x4a84d2
sub eax, 0x4c
je 0x4a8bdb
sub eax, 0x1a
je 0x4a8e91
sub eax, 7
je 0x4a8665
jmp case.0x4aa4a0.32
sub eax, 0x75
je 0x4a8738
sub eax, 5
je 0x4b0897
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4a84df
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
mov ax, word [edx + eax*2 + 1]
dec ax
jne case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0x48]
sub eax, 1
jb 0x4a851b
je 0x4a8555
jmp 0x4a8629
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x35
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a8532
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a853c
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a8562
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a856c
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
cmp byte [edx + eax*2], 0x76
jne 0x4a85bb
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4a8586
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a85ab
call fcn.0040308c
mov edx, 2
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a85c9
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a85d3
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
mov cx, word [edx + eax*2 + 0xb]
push ecx
push dword [edx + eax*2 + 7]
push dword [edx + eax*2 + 3]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4a85f4
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a8619
call fcn.0040308c
mov edx, 2
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x36
push ebp
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4a864c
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a8672
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a867c
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
cmp byte [edx + eax*2], 0x76
jne 0x4a86cb
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4a8696
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a86bb
call fcn.0040308c
mov edx, 1
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a86d9
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a86e3
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
fchs
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4a8703
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a8728
call fcn.0040308c
mov edx, 1
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a8749
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4a8768
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 1]
imul eax, eax, 0x6f
jno 0x4a877d
call fcn.0040308c
mov edx, dword [0x537cd8]
mov edx, dword [edx]
mov eax, dword [edx + eax*4 + 0x21]
call fcn.00405c88
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x4c]
jge 0x4a87da
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x6e
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a87b1
call fcn.0040308c
call fcn.004a837c
pop ecx
imul eax, eax, 0x4d
jno 0x4a87c1
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 0
setg al
cmp dword [ebp - 0x4c], 0
sete dl
and al, dl
je 0x4a8826
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x70
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4a8803
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a880d
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x4c]
setg al
cmp dword [ebp - 0x4c], 0
setg dl
and al, dl
je 0x4a8874
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x6f
push ebp
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4a885b
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4a8881
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
mov ax, word [edx + eax*2 + 1]
mov word [ebp - 0x4e], ax
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4a889d
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x48], 0
jne 0x4a88bd
mov dword [ebp - 0x58], 3
jmp 0x4a88d5
imul eax, dword [ebp - 0x48], 2
jno 0x4a88c8
call fcn.0040308c
add eax, 2
jno 0x4a88d2
call fcn.0040308c
mov dword [ebp - 0x58], eax
movzx eax, word [ebp - 0x4e]
imul eax, eax, 0x6f
jno 0x4a88e3
call fcn.0040308c
mov edx, dword [0x537cd8]
mov edx, dword [edx]
mov eax, dword [edx + eax*4 + 0x29]
call fcn.00405c88
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
add eax, 2
jno 0x4a8904
call fcn.0040308c
cmp eax, dword [ebp - 0x58]
jle 0x4a894a
push ebp
movzx eax, word [ebp - 0x4e]
imul eax, eax, 0x6f
jno 0x4a8918
call fcn.0040308c
mov edx, dword [0x537cd8]
mov edx, dword [edx]
mov eax, dword [edx + eax*4 + 0x29]
call fcn.00405c88
mov edx, eax
sub edx, dword [ebp - 0x58]
jno 0x4a8935
call fcn.0040308c
add edx, 2
jno 0x4a893f
call fcn.0040308c
mov eax, dword [ebp - 0xc]
call fcn.004a78a8
pop ecx
jmp 0x4a899b
mov eax, dword [ebp - 0x5c]
add eax, 2
jno 0x4a8957
call fcn.0040308c
cmp eax, dword [ebp - 0x58]
jge 0x4a899b
push ebp
movzx eax, word [ebp - 0x4e]
imul eax, eax, 0x6f
jno 0x4a896b
call fcn.0040308c
mov edx, dword [0x537cd8]
mov edx, dword [edx]
mov eax, dword [edx + eax*4 + 0x29]
call fcn.00405c88
mov edx, dword [ebp - 0x58]
sub edx, eax
jno 0x4a8988
call fcn.0040308c
sub edx, 2
jno 0x4a8992
call fcn.0040308c
mov eax, dword [ebp - 0xc]
call fcn.004a77e8
pop ecx
mov eax, dword [ebp - 0x5c]
test eax, eax
jle 0x4a8b9e
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x10], 1
movzx eax, word [ebp - 0x4e]
imul eax, eax, 0x6f
jno 0x4a89be
call fcn.0040308c
mov edx, dword [0x537cd8]
mov edx, dword [edx]
mov eax, dword [edx + eax*4 + 0x29]
mov edx, dword [ebp - 0x10]
sub edx, 1
jno 0x4a89d7
call fcn.0040308c
cmp edx, dword [eax - 4]
jb 0x4a89e1
call fcn.00403084
mov al, byte [eax + edx]
sub al, 0x23
je 0x4a8b29
sub al, 0x3e
je 0x4a8a01
dec al
je 0x4a8ad1
sub al, 0x14
je 0x4a8a52
jmp 0x4a8b92
push ebp
movzx eax, word [ebp - 0x4e]
imul eax, eax, 0x6f
jno 0x4a8a10
call fcn.0040308c
mov edx, dword [0x537cd8]
mov edx, dword [edx]
mov eax, dword [edx + eax*4 + 0x25]
mov edx, dword [ebp - 0x10]
sub edx, 1
jno 0x4a8a29
call fcn.0040308c
cmp edx, dword [eax - 4]
jb 0x4a8a33
call fcn.00403084
movzx edx, word [eax + edx*2]
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x10]
jno 0x4a8a44
call fcn.0040308c
mov ecx, dword [ebp - 0x54]
call fcn.004a7c68
pop ecx
jmp 0x4a8b92
movzx eax, word [ebp - 0x4e]
imul eax, eax, 0x6f
jno 0x4a8a60
call fcn.0040308c
mov edx, dword [0x537cd8]
mov edx, dword [edx]
mov eax, dword [edx + eax*4 + 0x25]
mov edx, dword [ebp - 0x10]
sub edx, 1
jno 0x4a8a79
call fcn.0040308c
cmp edx, dword [eax - 4]
jb 0x4a8a83
call fcn.00403084
movzx eax, word [eax + edx*2]
imul eax, eax, 0xb
jno 0x4a8a91
call fcn.0040308c
mov edx, dword [ebp - 8]
mov ecx, dword [edx + eax]
mov dword [ebp - 0x1a], ecx
mov ecx, dword [edx + eax + 4]
mov dword [ebp - 0x16], ecx
mov cx, word [edx + eax + 8]
mov word [ebp - 0x12], cx
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x10]
jno 0x4a8ac3
call fcn.0040308c
mov edx, dword [ebp - 0x54]
call fcn.004a7968
pop ecx
jmp 0x4a8b92
push ebp
lea eax, [ebp - 0x7c]
movzx edx, word [ebp - 0x4e]
imul edx, edx, 0x6f
jno 0x4a8ae3
call fcn.0040308c
mov ecx, dword [0x537cd8]
mov ecx, dword [ecx]
mov edx, dword [ecx + edx*4 + 0x31]
mov ecx, dword [ebp - 0x10]
sub ecx, 1
jno 0x4a8afc
call fcn.0040308c
imul ecx, ecx, 0x41
jno 0x4a8b06
call fcn.0040308c
lea edx, [edx + ecx*2]
call fcn.00404000
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x10]
jno 0x4a8b1e
call fcn.0040308c
mov ecx, dword [ebp - 0x54]
call fcn.004a7ac0
pop ecx
jmp 0x4a8b92
movzx eax, word [ebp - 0x4e]
imul eax, eax, 0x6f
jno 0x4a8b37
call fcn.0040308c
mov edx, dword [0x537cd8]
mov edx, dword [edx]
mov eax, dword [edx + eax*4 + 0x2d]
mov edx, dword [ebp - 0x10]
sub edx, 1
jno 0x4a8b50
call fcn.0040308c
imul edx, edx, 5
jno 0x4a8b5a
call fcn.0040308c
mov ecx, dword [eax + edx*2]
mov dword [ebp - 0x1a], ecx
mov ecx, dword [eax + edx*2 + 4]
mov dword [ebp - 0x16], ecx
mov cx, word [eax + edx*2 + 8]
mov word [ebp - 0x12], cx
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x10]
jno 0x4a8b89
call fcn.0040308c
mov edx, dword [ebp - 0x54]
call fcn.004a7968
pop ecx
inc dword [ebp - 0x10]
dec dword [ebp - 0x60]
jne 0x4a89b0
push ebp
mov ecx, dword [ebp - 0x54]
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004a7c68
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x5c]
jno 0x4a8bbe
call fcn.0040308c
add eax, 1
jno 0x4a8bc8
call fcn.0040308c
mov ecx, dword [ebp - 0x54]
mov edx, 2
call fcn.004a7c68
pop ecx
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4a8be8
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
mov ax, word [edx + eax*2 + 1]
sub ax, 0x34
je 0x4a8c10
dec ax
je 0x4a8cb6
dec ax
je 0x4a8d5c
jmp 0x4a8dfd
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4a8c1d
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a8c27
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
cmp byte [edx + eax*2 + 0xd], 0x80
jbe 0x4a8c7a
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x7c
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4a8c4b
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a8c55
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
add eax, 0x80
jno 0x4a8c6f
call fcn.0040308c
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
lea eax, [ebp - 0x7c]
mov edx, dword [ebp - 0xc]
add edx, 2
jno 0x4a8c8a
call fcn.0040308c
imul edx, edx, 0x4d
jno 0x4a8c94
call fcn.0040308c
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 4]
lea edx, [ecx + edx*2 + 0xd]
call fcn.00404000
mov edx, dword [ebp - 0x7c]
lea ecx, [ebp - 0x70]
mov eax, dword [ebp - 4]
call fcn.004a3c28
jmp 0x4a8dfd
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4a8cc3
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a8ccd
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
cmp byte [edx + eax*2 + 0xd], 0x80
jbe 0x4a8d20
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x7d
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4a8cf1
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a8cfb
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
add eax, 0x80
jno 0x4a8d15
call fcn.0040308c
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
lea eax, [ebp - 0x7c]
mov edx, dword [ebp - 0xc]
add edx, 2
jno 0x4a8d30
call fcn.0040308c
imul edx, edx, 0x4d
jno 0x4a8d3a
call fcn.0040308c
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 4]
lea edx, [ecx + edx*2 + 0xd]
call fcn.00404000
mov edx, dword [ebp - 0x7c]
lea ecx, [ebp - 0x70]
mov eax, dword [ebp - 4]
call fcn.004a3d50
jmp 0x4a8dfd
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4a8d69
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a8d73
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
cmp byte [edx + eax*2 + 0xd], 0x80
jbe 0x4a8dc6
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x7e
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4a8d97
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a8da1
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
add eax, 0x80
jno 0x4a8dbb
call fcn.0040308c
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
lea eax, [ebp - 0x7c]
mov edx, dword [ebp - 0xc]
add edx, 2
jno 0x4a8dd6
call fcn.0040308c
imul edx, edx, 0x4d
jno 0x4a8de0
call fcn.0040308c
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 4]
lea edx, [ecx + edx*2 + 0xd]
call fcn.00404000
mov edx, dword [ebp - 0x7c]
lea ecx, [ebp - 0x70]
mov eax, dword [ebp - 4]
call fcn.004a3e78
cmp dword [ebp - 0x66], 0
jle 0x4a8e43
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x66]
mov dword [eax + 0xa], edx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a8e1a
call fcn.0040308c
call fcn.004a837c
pop ecx
imul eax, eax, 0x4d
jno 0x4a8e2a
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
push ebp
mov ax, word [ebp - 0x68]
push eax
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4a8e5c
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a8e81
call fcn.0040308c
mov edx, 3
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4a8e9e
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
lea eax, [edx + eax*2 + 0x91]
mov edx, 0x4b0914
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.00402ce8
jne 0x4a8f26
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4a8eca
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 1]
dec eax
cmp eax, 0x55
jbe 0x4a8ee0
call fcn.00403084
inc eax
imul eax, eax, 0xbf
jno 0x4a8eee
call fcn.0040308c
mov edx, dword [0x537ccc]
mov cx, word [edx + eax*2 - 6]
push ecx
push dword [edx + eax*2 - 0xa]
push dword [edx + eax*2 - 0xe]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4a8f0f
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4a8f33
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
lea eax, [edx + eax*2 + 0x91]
mov edx, 0x4b0918
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.00402ce8
jne 0x4aa180
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4a8f62
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 1]
add eax, 0xffffffe9
cmp eax, 0x27
ja case.0x4aa4a0.32
mov al, byte [eax + 0x4a8f86]
jmp dword [eax*4 + 0x4a8fae]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a8feb
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a8ff5
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
cmp byte [edx + eax*2 + 0x96], 0x76
sete al
mov edx, dword [ebp - 0xc]
add edx, 1
jno 0x4a9013
call fcn.0040308c
imul edx, edx, 0x4d
jno 0x4a901d
call fcn.0040308c
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 4]
cmp byte [ecx + edx*2 + 0x96], 0x76
sete dl
or al, dl
je 0x4a9070
push ebp
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9040
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a904a
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9065
call fcn.0040308c
call fcn.004a7e8c
pop ecx
jmp 0x4a9153
xor eax, eax
push ebp
push 0x4a90d0
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a908b
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9095
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a90ac
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a90b6
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
faddp st(1)
fstp xword [ebp - 0x1a]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a910f
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9128
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9132
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a914d
call fcn.0040308c
call fcn.004a7968
pop ecx
push ebp
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9174
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a917e
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
cmp byte [edx + eax*2 + 0x96], 0x76
sete al
mov edx, dword [ebp - 0xc]
add edx, 1
jno 0x4a919c
call fcn.0040308c
imul edx, edx, 0x4d
jno 0x4a91a6
call fcn.0040308c
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 4]
cmp byte [ecx + edx*2 + 0x96], 0x76
sete dl
or al, dl
je 0x4a91f9
push ebp
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a91c9
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a91d3
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a91ee
call fcn.0040308c
call fcn.004a7e8c
pop ecx
jmp 0x4a92dc
xor eax, eax
push ebp
push 0x4a9259
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9214
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a921e
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a9235
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a923f
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
fsubp st(1)
fstp xword [ebp - 0x1a]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a9298
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a92b1
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a92bb
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a92d6
call fcn.0040308c
call fcn.004a7968
pop ecx
push ebp
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a92fd
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9307
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
fcomp dword [0x4b091c]
fnstsw ax
sahf
sete al
mov edx, dword [ebp - 0xc]
add edx, 1
jno 0x4a932a
call fcn.0040308c
imul edx, edx, 0x4d
jno 0x4a9334
call fcn.0040308c
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 4]
cmp byte [ecx + edx*2 + 0x96], 0x76
setne dl
and al, dl
je 0x4a9383
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x2e
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a9360
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a936a
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9390
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a939a
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
cmp byte [edx + eax*2 + 0x96], 0x76
sete al
mov edx, dword [ebp - 0xc]
add edx, 1
jno 0x4a93b8
call fcn.0040308c
imul edx, edx, 0x4d
jno 0x4a93c2
call fcn.0040308c
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 4]
cmp byte [ecx + edx*2 + 0x96], 0x76
sete dl
or al, dl
je 0x4a9415
push ebp
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a93e5
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a93ef
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a940a
call fcn.0040308c
call fcn.004a7e8c
pop ecx
jmp 0x4a94fb
xor eax, eax
push ebp
push 0x4a9478
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9430
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a943a
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a9451
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a945b
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
call fcn.00406736
fstp xword [ebp - 0x1a]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a94b7
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a94d0
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a94da
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a94f5
call fcn.0040308c
call fcn.004a7968
pop ecx
push ebp
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a951c
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9526
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
cmp byte [edx + eax*2 + 0x96], 0x76
sete al
mov edx, dword [ebp - 0xc]
add edx, 1
jno 0x4a9544
call fcn.0040308c
imul edx, edx, 0x4d
jno 0x4a954e
call fcn.0040308c
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 4]
cmp byte [ecx + edx*2 + 0x96], 0x76
sete dl
or al, dl
je 0x4a95a1
push ebp
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9571
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a957b
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9596
call fcn.0040308c
call fcn.004a7e8c
pop ecx
jmp 0x4a9684
xor eax, eax
push ebp
push 0x4a9601
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a95bc
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a95c6
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a95dd
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a95e7
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
fmulp st(1)
fstp xword [ebp - 0x1a]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a9640
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9659
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9663
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a967e
call fcn.0040308c
call fcn.004a7968
pop ecx
push ebp
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a96a5
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a96af
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
mov ecx, dword [edx + eax*2 + 3]
mov dword [ebp - 0x24], ecx
mov ecx, dword [edx + eax*2 + 7]
mov dword [ebp - 0x20], ecx
mov cx, word [edx + eax*2 + 0xb]
mov word [ebp - 0x1c], cx
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a96d9
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a96e3
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
mov ecx, dword [edx + eax*2 + 3]
mov dword [ebp - 0x2e], ecx
mov ecx, dword [edx + eax*2 + 7]
mov dword [ebp - 0x2a], ecx
mov cx, word [edx + eax*2 + 0xb]
mov word [ebp - 0x26], cx
fld xword [ebp - 0x24]
fcomp dword [0x4b091c]
fnstsw ax
sahf
sete al
mov edx, dword [ebp - 0xc]
sub edx, 1
jno 0x4a971c
call fcn.0040308c
imul edx, edx, 0x4d
jno 0x4a9726
call fcn.0040308c
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 4]
cmp byte [ecx + edx*2 + 0x96], 0x76
setne dl
and al, dl
je 0x4a97b0
fld xword [ebp - 0x2e]
fcomp dword [0x4b091c]
fnstsw ax
sahf
setb al
mov edx, dword [ebp - 0xc]
add edx, 1
jno 0x4a9757
call fcn.0040308c
imul edx, edx, 0x4d
jno 0x4a9761
call fcn.0040308c
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 4]
cmp byte [ecx + edx*2 + 0x96], 0x76
setne dl
and al, dl
je 0x4a97b0
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x5e
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a978d
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9797
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
fld xword [ebp - 0x24]
fcomp dword [0x4b091c]
fnstsw ax
sahf
setb al
mov edx, dword [ebp - 0xc]
sub edx, 1
jno 0x4a97cc
call fcn.0040308c
imul edx, edx, 0x4d
jno 0x4a97d6
call fcn.0040308c
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 4]
cmp byte [ecx + edx*2 + 0x96], 0x76
setne dl
and al, dl
je 0x4a9864
fld xword [ebp - 0x2e]
call fcn.00402b38
fld xword [ebp - 0x2e]
fcompp
fnstsw ax
sahf
setne al
mov edx, dword [ebp - 0xc]
add edx, 1
jno 0x4a980b
call fcn.0040308c
imul edx, edx, 0x4d
jno 0x4a9815
call fcn.0040308c
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 4]
cmp byte [ecx + edx*2 + 0x96], 0x76
setne dl
and al, dl
je 0x4a9864
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x5f
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a9841
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a984b
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9871
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a987b
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
cmp byte [edx + eax*2 + 0x96], 0x76
sete al
mov edx, dword [ebp - 0xc]
add edx, 1
jno 0x4a9899
call fcn.0040308c
imul edx, edx, 0x4d
jno 0x4a98a3
call fcn.0040308c
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 4]
cmp byte [ecx + edx*2 + 0x96], 0x76
sete dl
or al, dl
je 0x4a98f6
push ebp
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a98c6
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a98d0
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a98eb
call fcn.0040308c
call fcn.004a7e8c
pop ecx
jmp 0x4a99b0
xor eax, eax
push ebp
push 0x4a992d
push dword fs:[eax]
mov dword fs:[eax], esp
mov ax, word [ebp - 0x1c]
push eax
push dword [ebp - 0x20]
push dword [ebp - 0x24]
mov ax, word [ebp - 0x26]
push eax
push dword [ebp - 0x2a]
push dword [ebp - 0x2e]
call fcn.00424844
fstp xword [ebp - 0x1a]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a996c
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9985
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a998f
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a99aa
call fcn.0040308c
call fcn.004a7968
pop ecx
push ebp
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a99d1
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a99db
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
cmp byte [edx + eax*2 + 0x96], 0x76
sete al
mov edx, dword [ebp - 0xc]
add edx, 1
jno 0x4a99f9
call fcn.0040308c
imul edx, edx, 0x4d
jno 0x4a9a03
call fcn.0040308c
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 4]
cmp byte [ecx + edx*2 + 0x96], 0x76
sete dl
or al, dl
je 0x4a9a56
push ebp
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9a26
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9a30
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9a4b
call fcn.0040308c
call fcn.004a7e8c
pop ecx
jmp 0x4a9afa
push ebp
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9a64
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9a6e
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a9a85
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9a8f
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
fcompp
fnstsw ax
sahf
sete al
call fcn.004a80cc
pop ecx
and eax, 0xff
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
fstp xword [ebp - 0x1a]
wait
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9acf
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9ad9
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9af4
call fcn.0040308c
call fcn.004a7968
pop ecx
push ebp
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9b1b
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9b25
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
cmp byte [edx + eax*2 + 0x96], 0x76
sete al
mov edx, dword [ebp - 0xc]
add edx, 1
jno 0x4a9b43
call fcn.0040308c
imul edx, edx, 0x4d
jno 0x4a9b4d
call fcn.0040308c
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 4]
cmp byte [ecx + edx*2 + 0x96], 0x76
sete dl
or al, dl
je 0x4a9ba0
push ebp
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9b70
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9b7a
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9b95
call fcn.0040308c
call fcn.004a7e8c
pop ecx
jmp 0x4a9c44
push ebp
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9bae
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9bb8
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a9bcf
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9bd9
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
fcompp
fnstsw ax
sahf
setne al
call fcn.004a80cc
pop ecx
and eax, 0xff
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
fstp xword [ebp - 0x1a]
wait
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9c19
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9c23
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9c3e
call fcn.0040308c
call fcn.004a7968
pop ecx
push ebp
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9c65
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9c6f
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
cmp byte [edx + eax*2 + 0x96], 0x76
sete al
mov edx, dword [ebp - 0xc]
add edx, 1
jno 0x4a9c8d
call fcn.0040308c
imul edx, edx, 0x4d
jno 0x4a9c97
call fcn.0040308c
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 4]
cmp byte [ecx + edx*2 + 0x96], 0x76
sete dl
or al, dl
je 0x4a9cea
push ebp
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9cba
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9cc4
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9cdf
call fcn.0040308c
call fcn.004a7e8c
pop ecx
jmp 0x4a9d8e
push ebp
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9cf8
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9d02
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a9d19
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9d23
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
fcompp
fnstsw ax
sahf
seta al
call fcn.004a80cc
pop ecx
and eax, 0xff
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
fstp xword [ebp - 0x1a]
wait
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9d63
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9d6d
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9d88
call fcn.0040308c
call fcn.004a7968
pop ecx
push ebp
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9daf
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9db9
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
cmp byte [edx + eax*2 + 0x96], 0x76
sete al
mov edx, dword [ebp - 0xc]
add edx, 1
jno 0x4a9dd7
call fcn.0040308c
imul edx, edx, 0x4d
jno 0x4a9de1
call fcn.0040308c
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 4]
cmp byte [ecx + edx*2 + 0x96], 0x76
sete dl
or al, dl
je 0x4a9e34
push ebp
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9e04
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9e0e
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9e29
call fcn.0040308c
call fcn.004a7e8c
pop ecx
jmp 0x4a9ed8
push ebp
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9e42
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9e4c
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a9e63
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9e6d
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
fcompp
fnstsw ax
sahf
setb al
call fcn.004a80cc
pop ecx
and eax, 0xff
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
fstp xword [ebp - 0x1a]
wait
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9ead
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9eb7
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9ed2
call fcn.0040308c
call fcn.004a7968
pop ecx
push ebp
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9ef9
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9f03
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
cmp byte [edx + eax*2 + 0x96], 0x76
sete al
mov edx, dword [ebp - 0xc]
add edx, 1
jno 0x4a9f21
call fcn.0040308c
imul edx, edx, 0x4d
jno 0x4a9f2b
call fcn.0040308c
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 4]
cmp byte [ecx + edx*2 + 0x96], 0x76
sete dl
or al, dl
je 0x4a9f7e
push ebp
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9f4e
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9f58
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9f73
call fcn.0040308c
call fcn.004a7e8c
pop ecx
jmp 0x4aa022
push ebp
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9f8c
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9f96
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4a9fad
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4a9fb7
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
fcompp
fnstsw ax
sahf
setae al
call fcn.004a80cc
pop ecx
and eax, 0xff
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
fstp xword [ebp - 0x1a]
wait
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4a9ff7
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aa001
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4aa01c
call fcn.0040308c
call fcn.004a7968
pop ecx
push ebp
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4aa043
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aa04d
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
cmp byte [edx + eax*2 + 0x96], 0x76
sete al
mov edx, dword [ebp - 0xc]
add edx, 1
jno 0x4aa06b
call fcn.0040308c
imul edx, edx, 0x4d
jno 0x4aa075
call fcn.0040308c
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 4]
cmp byte [ecx + edx*2 + 0x96], 0x76
sete dl
or al, dl
je 0x4aa0c8
push ebp
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4aa098
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aa0a2
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4aa0bd
call fcn.0040308c
call fcn.004a7e8c
pop ecx
jmp 0x4aa16c
push ebp
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4aa0d6
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aa0e0
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4aa0f7
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aa101
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
fcompp
fnstsw ax
sahf
setbe al
call fcn.004a80cc
pop ecx
and eax, 0xff
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
fstp xword [ebp - 0x1a]
wait
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4aa141
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aa14b
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4aa166
call fcn.0040308c
call fcn.004a7968
pop ecx
push ebp
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4aa18d
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
lea eax, [edx + eax*2 + 0x91]
mov edx, 0x4b0920
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.00402ce8
jne 0x4aa44d
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4aa1bc
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
mov ax, word [edx + eax*2 + 1]
sub ax, 0x21
je 0x4aa1db
dec ax
je 0x4aa31c
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4aa1e8
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aa1f2
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
cmp byte [edx + eax*2 + 0x96], 0x76
jne 0x4aa240
push ebp
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4aa210
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aa21a
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4aa235
call fcn.0040308c
call fcn.004a7e8c
pop ecx
jmp 0x4aa308
xor eax, eax
push ebp
push 0x4aa285
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4aa25b
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aa265
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
fld xword [0x4b0924]
fmulp st(1)
fstp xword [ebp - 0x1a]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4aa2c4
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4aa2dd
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aa2e7
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4aa302
call fcn.0040308c
call fcn.004a7968
pop ecx
push ebp
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4aa329
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aa333
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
cmp byte [edx + eax*2 + 0x96], 0x76
jne 0x4aa381
push ebp
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4aa351
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aa35b
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4aa376
call fcn.0040308c
call fcn.004a7e8c
pop ecx
jmp 0x4aa439
push ebp
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4aa38f
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aa399
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
mov cx, word [edx + eax*2 + 0xb]
push ecx
push dword [edx + eax*2 + 7]
push dword [edx + eax*2 + 3]
call fcn.004a8018
pop ecx
fstp xword [ebp - 0x1a]
wait
fld xword [ebp - 0x1a]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jne 0x4aa3f5
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x34
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4aa3dc
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4aa40e
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aa418
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
sub eax, 1
jno 0x4aa433
call fcn.0040308c
call fcn.004a7968
pop ecx
push ebp
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4aa45a
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
lea eax, [edx + eax*2 + 0x91]
mov edx, 0x4b0930
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.00402ce8
jne case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4aa489
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 1]
add eax, 0xffffffe5
cmp eax, 0x3b
ja case.0x4aa4a0.32
jmp dword [eax*4 + 0x4aa4a7]
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4aa5a8
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
mov eax, dword [0x537ccc]
movzx eax, byte [eax + 0x2834]
cmp eax, dword [ebp - 0x48]
jle 0x4aa60c
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x6b
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4aa5e3
call fcn.0040308c
call fcn.004a837c
pop ecx
imul eax, eax, 0x4d
jno 0x4aa5f3
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, dword [0x537ccc]
movzx eax, word [eax + 0x2835]
cmp eax, dword [ebp - 0x48]
jge 0x4aa661
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x6c
push ebp
mov edx, dword [0x537ccc]
movzx edx, word [edx + 0x2835]
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4aa648
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4aa691
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4aa675
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4aa76e
xor eax, eax
push ebp
push 0x4aa6ff
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x1a], eax
mov dword [ebp - 0x16], eax
mov word [ebp - 0x12], ax
mov eax, dword [ebp - 8]
call fcn.00405c90
test eax, eax
jl 0x4aa6e6
inc eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x10], 0
fld xword [ebp - 0x1a]
mov eax, dword [ebp - 0x10]
imul eax, eax, 0xb
jno 0x4aa6d2
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
faddp st(1)
fstp xword [ebp - 0x1a]
wait
inc dword [ebp - 0x10]
dec dword [ebp - 0x60]
jne 0x4aa6c2
fild dword [ebp - 0x48]
fld xword [ebp - 0x1a]
call fcn.00406734
fstp xword [ebp - 0x1a]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4aa73e
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4aa757
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
imul edx, dword [ebp - 0x48], 2
jno 0x4aa77a
call fcn.0040308c
add edx, 1
jno 0x4aa784
call fcn.0040308c
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4aa791
call fcn.0040308c
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4aa7ad
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
mov eax, dword [0x537ccc]
movzx eax, byte [eax + 0x29b2]
cmp eax, dword [ebp - 0x48]
jle 0x4aa811
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x81
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4aa7e8
call fcn.0040308c
call fcn.004a837c
pop ecx
imul eax, eax, 0x4d
jno 0x4aa7f8
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, dword [0x537ccc]
movzx eax, word [eax + 0x29b3]
cmp eax, dword [ebp - 0x48]
jge 0x4aa866
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x82
push ebp
mov edx, dword [0x537ccc]
movzx edx, word [edx + 0x29b3]
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4aa84d
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
imul eax, eax, 0xb
jno 0x4aa872
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b38
xor eax, eax
imul eax, eax, 0xb
jno 0x4aa889
call fcn.0040308c
mov edx, dword [ebp - 8]
fstp xword [edx + eax]
wait
mov eax, 1
imul eax, eax, 0xb
jno 0x4aa89f
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b38
mov eax, 1
imul eax, eax, 0xb
jno 0x4aa8b9
call fcn.0040308c
mov edx, dword [ebp - 8]
fstp xword [edx + eax]
wait
xor eax, eax
imul eax, eax, 0xb
jno 0x4aa8cc
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jae 0x4aa917
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x83
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4aa8f4
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aa8fe
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, 1
imul eax, eax, 0xb
jno 0x4aa926
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jae 0x4aa971
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x83
mov eax, dword [ebp - 0xc]
add eax, 4
jno 0x4aa94e
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aa958
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4aa9a1
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4aa985
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4aabea
xor eax, eax
imul eax, eax, 0xb
jno 0x4aa9ad
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
mov eax, 1
imul eax, eax, 0xb
jno 0x4aa9c2
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcompp
fnstsw ax
sahf
jbe 0x4aaa09
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x84
mov eax, dword [ebp - 0xc]
add eax, 4
jno 0x4aa9e6
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aa9f0
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
push ebp
xor eax, eax
imul eax, eax, 0xb
jno 0x4aaa16
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
call fcn.004a8018
pop ecx
fstp xword [ebp - 0x24]
wait
fld xword [ebp - 0x24]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jne 0x4aaa6e
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x85
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4aaa55
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
push ebp
mov eax, 1
imul eax, eax, 0xb
jno 0x4aaa7e
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
call fcn.004a8018
pop ecx
fstp xword [ebp - 0x2e]
wait
fld xword [ebp - 0x2e]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jne 0x4aaad6
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x85
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4aaabd
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
push ebp
xor eax, eax
imul eax, eax, 0xb
jno 0x4aaae3
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
mov eax, 1
imul eax, eax, 0xb
jno 0x4aaaf8
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fsubp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.004a8018
pop ecx
fstp xword [ebp - 0x38]
wait
fld xword [ebp - 0x38]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jne 0x4aab4f
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x85
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4aab36
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
push ebp
push 0x4aab7b
push dword fs:[eax]
mov dword fs:[eax], esp
fld xword [ebp - 0x2e]
fld xword [ebp - 0x38]
fmulp st(1)
fld xword [ebp - 0x24]
call fcn.00406734
fstp xword [ebp - 0x1a]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4aabba
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4aabd3
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4aabf8
call fcn.0040308c
mov edx, 5
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4aac19
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
cmp dword [ebp - 0x48], 2
jge 0x4aac72
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x5c
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4aac49
call fcn.0040308c
call fcn.004a837c
pop ecx
imul eax, eax, 0x4d
jno 0x4aac59
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 2
jle 0x4aacb4
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x5d
push ebp
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4aac9b
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
imul eax, eax, 0xb
jno 0x4aacc0
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b091c]
fnstsw ax
sahf
setbe al
xor edx, edx
imul edx, edx, 0xb
jno 0x4aacde
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov dl, byte [ecx + edx + 0xa]
xor dl, 1
and al, dl
je 0x4aad26
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x66
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4aad03
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aad0d
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, 1
imul eax, eax, 0xb
jno 0x4aad35
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b0934]
fnstsw ax
sahf
setbe al
mov edx, 1
imul edx, edx, 0xb
jno 0x4aad56
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov dl, byte [ecx + edx + 0xa]
xor dl, 1
and al, dl
je 0x4aadaa
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x67
push ebp
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
add eax, 1
jno 0x4aad87
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aad91
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4aadd7
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4aadbe
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4aae4b
mov eax, 1
imul eax, eax, 0xb
jno 0x4aade6
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
xor eax, eax
imul eax, eax, 0xb
jno 0x4aae02
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
call fcn.0042482c
fstp xword [ebp - 0x1a]
wait
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4aae34
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4aae59
call fcn.0040308c
mov edx, 5
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4aae7a
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
mov eax, dword [0x537ccc]
movzx eax, byte [eax + 0x2cae]
cmp eax, dword [ebp - 0x48]
jle 0x4aaede
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x86
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4aaeb5
call fcn.0040308c
call fcn.004a837c
pop ecx
imul eax, eax, 0x4d
jno 0x4aaec5
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, dword [0x537ccc]
movzx eax, word [eax + 0x2caf]
cmp eax, dword [ebp - 0x48]
jge 0x4aaf33
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x87
push ebp
mov edx, dword [0x537ccc]
movzx edx, word [edx + 0x2caf]
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4aaf1a
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
imul eax, eax, 0xb
jno 0x4aaf3f
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b38
xor eax, eax
imul eax, eax, 0xb
jno 0x4aaf56
call fcn.0040308c
mov edx, dword [ebp - 8]
fstp xword [edx + eax]
wait
mov eax, 1
imul eax, eax, 0xb
jno 0x4aaf6c
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b38
mov eax, 1
imul eax, eax, 0xb
jno 0x4aaf86
call fcn.0040308c
mov edx, dword [ebp - 8]
fstp xword [edx + eax]
wait
xor eax, eax
imul eax, eax, 0xb
jno 0x4aaf99
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jae 0x4aafe4
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x88
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4aafc1
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aafcb
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, 1
imul eax, eax, 0xb
jno 0x4aaff3
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jae 0x4ab03e
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x88
mov eax, dword [ebp - 0xc]
add eax, 4
jno 0x4ab01b
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ab025
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4ab06e
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ab052
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4ab24a
xor eax, eax
imul eax, eax, 0xb
jno 0x4ab07a
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
mov eax, 1
imul eax, eax, 0xb
jno 0x4ab08f
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcompp
fnstsw ax
sahf
jbe 0x4ab0d6
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x89
mov eax, dword [ebp - 0xc]
add eax, 4
jno 0x4ab0b3
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ab0bd
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
push ebp
xor eax, eax
imul eax, eax, 0xb
jno 0x4ab0e3
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
call fcn.004a8018
pop ecx
fstp xword [ebp - 0x24]
wait
fld xword [ebp - 0x24]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jne 0x4ab13b
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x8a
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ab122
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
push ebp
xor eax, eax
imul eax, eax, 0xb
jno 0x4ab148
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
mov eax, 1
imul eax, eax, 0xb
jno 0x4ab15d
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fsubp st(1)
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.004a8018
pop ecx
fstp xword [ebp - 0x2e]
wait
fld xword [ebp - 0x2e]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jne 0x4ab1b4
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x8a
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ab19b
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
push ebp
push 0x4ab1db
push dword fs:[eax]
mov dword fs:[eax], esp
fld xword [ebp - 0x24]
fld xword [ebp - 0x2e]
call fcn.00406736
fstp xword [ebp - 0x1a]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ab21a
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ab233
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ab258
call fcn.0040308c
mov edx, 5
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ab279
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
mov eax, dword [0x537ccc]
movzx eax, byte [eax + 0x2e2c]
cmp eax, dword [ebp - 0x48]
jle 0x4ab2dd
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x8b
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ab2b4
call fcn.0040308c
call fcn.004a837c
pop ecx
imul eax, eax, 0x4d
jno 0x4ab2c4
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, dword [0x537ccc]
movzx eax, word [eax + 0x2e2d]
cmp eax, dword [ebp - 0x48]
jge 0x4ab332
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x8c
push ebp
mov edx, dword [0x537ccc]
movzx edx, word [edx + 0x2e2d]
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4ab319
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
imul eax, eax, 0xb
jno 0x4ab33e
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b38
xor eax, eax
imul eax, eax, 0xb
jno 0x4ab355
call fcn.0040308c
mov edx, dword [ebp - 8]
fstp xword [edx + eax]
wait
xor eax, eax
imul eax, eax, 0xb
jno 0x4ab368
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b0934]
fnstsw ax
sahf
jae 0x4ab3b3
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x8d
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4ab390
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ab39a
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4ab3e3
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ab3c7
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4ab478
push ebp
xor eax, eax
imul eax, eax, 0xb
jno 0x4ab3f0
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
call fcn.004a8018
pop ecx
fstp xword [ebp - 0x1a]
wait
fld xword [ebp - 0x1a]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jne 0x4ab448
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x8e
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ab42f
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ab461
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ab486
call fcn.0040308c
mov edx, 3
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ab4a7
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
cmp dword [ebp - 0x48], 0
jne 0x4ab4f9
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x37
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4ab4d6
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ab4e0
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 1
jle 0x4ab53b
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x38
push ebp
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4ab522
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4ab56b
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ab54f
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4ab5f5
push ebp
xor eax, eax
imul eax, eax, 0xb
jno 0x4ab578
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
mov al, byte [ebp + 0xc]
call fcn.004a83e0
pop ecx
fstp xword [ebp - 0x42]
wait
fld xword [ebp - 0x42]
call fcn.00402b50
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x7c]
push eax
mov ecx, 8
mov edx, 0x64
mov al, 3
call fcn.0040a864
mov eax, dword [ebp - 0x7c]
call fcn.0040aa14
fstp xword [ebp - 0x1a]
wait
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ab5de
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ab603
call fcn.0040308c
mov edx, 3
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ab624
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
cmp dword [ebp - 0x48], 0
jne 0x4ab676
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x39
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4ab653
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ab65d
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 1
jle 0x4ab6b8
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x3a
push ebp
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4ab69f
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4ab6e8
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ab6cc
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4ab772
push ebp
xor eax, eax
imul eax, eax, 0xb
jno 0x4ab6f5
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
mov al, byte [ebp + 0xc]
call fcn.004a83e0
pop ecx
fstp xword [ebp - 0x42]
wait
fld xword [ebp - 0x42]
call fcn.00402b10
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x7c]
push eax
mov ecx, 8
mov edx, 0x64
mov al, 3
call fcn.0040a864
mov eax, dword [ebp - 0x7c]
call fcn.0040aa14
fstp xword [ebp - 0x1a]
wait
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ab75b
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ab780
call fcn.0040308c
mov edx, 3
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ab7a1
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
cmp dword [ebp - 0x48], 0
jne 0x4ab7f3
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x3b
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4ab7d0
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ab7da
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 1
jle 0x4ab835
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x3c
push ebp
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4ab81c
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4ab865
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ab849
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4ab9a8
push ebp
xor eax, eax
imul eax, eax, 0xb
jno 0x4ab872
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
mov al, byte [ebp + 0xc]
call fcn.004a83e0
pop ecx
fstp xword [ebp - 0x42]
wait
fld xword [ebp - 0x42]
fld xword [0x4b0938]
call fcn.00406736
call fcn.00402b60
fabs
fcomp dword [0x4b0944]
fnstsw ax
sahf
jne 0x4ab8e9
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xd3
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4ab8c6
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ab8d0
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
push ebp
push 0x4ab969
push dword fs:[eax]
mov dword fs:[eax], esp
mov ax, word [ebp - 0x3a]
push eax
push dword [ebp - 0x3e]
push dword [ebp - 0x42]
call fcn.004247cc
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x7c]
push eax
mov ecx, 8
mov edx, 0x64
mov al, 3
call fcn.0040a864
mov eax, dword [ebp - 0x7c]
call fcn.0040aa14
fstp xword [ebp - 0x1a]
wait
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ab948
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ab9a8
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ab9b6
call fcn.0040308c
mov edx, 3
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ab9d7
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
cmp dword [ebp - 0x48], 0
jne 0x4aba29
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x3d
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4aba06
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aba10
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 1
jle 0x4aba6b
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x3e
push ebp
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4aba52
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4aba9b
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4aba7f
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4abbd7
xor eax, eax
imul eax, eax, 0xb
jno 0x4abaa7
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b0948]
fnstsw ax
sahf
setb dl
xor eax, eax
imul eax, eax, 0xb
jno 0x4abac5
call fcn.0040308c
mov ecx, dword [ebp - 8]
fld xword [ecx + eax]
fcomp dword [0x4b0934]
fnstsw ax
sahf
seta al
or dl, al
je 0x4abb21
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x3f
push ebp
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4abaf3
call fcn.0040308c
mov edx, 1
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4abb08
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov al, byte [ebp + 0xc]
sub al, 1
jb 0x4abb2e
dec al
je 0x4abb57
jmp 0x4abb80
xor eax, eax
imul eax, eax, 0xb
jno 0x4abb3a
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
xor eax, eax
call fcn.00521eec
fstp xword [ebp - 0x1a]
wait
jmp 0x4abba7
xor eax, eax
imul eax, eax, 0xb
jno 0x4abb63
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
mov al, 2
call fcn.00521eec
fstp xword [ebp - 0x1a]
wait
jmp 0x4abba7
xor eax, eax
imul eax, eax, 0xb
jno 0x4abb8c
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
mov al, 1
call fcn.00521eec
fstp xword [ebp - 0x1a]
wait
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4abbc0
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4abbe5
call fcn.0040308c
mov edx, 3
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4abc06
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
cmp dword [ebp - 0x48], 0
jne 0x4abc58
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x40
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4abc35
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4abc3f
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 1
jle 0x4abc9a
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x41
push ebp
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4abc81
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4abcca
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4abcae
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4abe06
xor eax, eax
imul eax, eax, 0xb
jno 0x4abcd6
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b0948]
fnstsw ax
sahf
setb dl
xor eax, eax
imul eax, eax, 0xb
jno 0x4abcf4
call fcn.0040308c
mov ecx, dword [ebp - 8]
fld xword [ecx + eax]
fcomp dword [0x4b0934]
fnstsw ax
sahf
seta al
or dl, al
je 0x4abd50
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x42
push ebp
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4abd22
call fcn.0040308c
mov edx, 1
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4abd37
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov al, byte [ebp + 0xc]
sub al, 1
jb 0x4abd5d
dec al
je 0x4abd86
jmp 0x4abdaf
xor eax, eax
imul eax, eax, 0xb
jno 0x4abd69
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
xor eax, eax
call fcn.00521f74
fstp xword [ebp - 0x1a]
wait
jmp 0x4abdd6
xor eax, eax
imul eax, eax, 0xb
jno 0x4abd92
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
mov al, 2
call fcn.00521f74
fstp xword [ebp - 0x1a]
wait
jmp 0x4abdd6
xor eax, eax
imul eax, eax, 0xb
jno 0x4abdbb
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
mov al, 1
call fcn.00521f74
fstp xword [ebp - 0x1a]
wait
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4abdef
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4abe14
call fcn.0040308c
mov edx, 3
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4abe35
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
cmp dword [ebp - 0x48], 0
jne 0x4abe87
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x43
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4abe64
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4abe6e
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 1
jle 0x4abec9
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x44
push ebp
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4abeb0
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4abef9
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4abedd
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4abfaf
mov al, byte [ebp + 0xc]
sub al, 1
jb 0x4abf06
dec al
je 0x4abf2f
jmp 0x4abf58
xor eax, eax
imul eax, eax, 0xb
jno 0x4abf12
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
xor eax, eax
call fcn.00521ffc
fstp xword [ebp - 0x1a]
wait
jmp 0x4abf7f
xor eax, eax
imul eax, eax, 0xb
jno 0x4abf3b
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
mov al, 2
call fcn.00521ffc
fstp xword [ebp - 0x1a]
wait
jmp 0x4abf7f
xor eax, eax
imul eax, eax, 0xb
jno 0x4abf64
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
mov al, 1
call fcn.00521ffc
fstp xword [ebp - 0x1a]
wait
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4abf98
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4abfbd
call fcn.0040308c
mov edx, 3
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4abfde
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
cmp dword [ebp - 0x48], 0
jne 0x4ac030
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x45
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4ac00d
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ac017
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 1
jle 0x4ac072
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x46
push ebp
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4ac059
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4ac0a2
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ac086
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4ac14e
xor eax, eax
push ebp
push 0x4ac0df
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
imul eax, eax, 0xb
jno 0x4ac0bc
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
call fcn.0042496c
fstp xword [ebp - 0x1a]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ac11e
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ac137
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ac15c
call fcn.0040308c
mov edx, 3
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ac17d
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
cmp dword [ebp - 0x48], 0
jne 0x4ac1cf
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x48
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4ac1ac
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ac1b6
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 1
jle 0x4ac211
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x49
push ebp
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4ac1f8
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4ac241
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ac225
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4ac2ed
xor eax, eax
push ebp
push 0x4ac27e
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
imul eax, eax, 0xb
jno 0x4ac25b
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
call fcn.00424940
fstp xword [ebp - 0x1a]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ac2bd
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ac2d6
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ac2fb
call fcn.0040308c
mov edx, 3
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ac31c
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
cmp dword [ebp - 0x48], 0
jne 0x4ac36e
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x4b
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4ac34b
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ac355
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 1
jle 0x4ac3b0
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x4c
push ebp
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4ac397
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4ac3dd
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ac3c4
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4ac432
xor eax, eax
imul eax, eax, 0xb
jno 0x4ac3e9
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
call fcn.00424998
fstp xword [ebp - 0x1a]
wait
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ac41b
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ac440
call fcn.0040308c
mov edx, 3
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ac461
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
mov eax, dword [0x537ccc]
movzx eax, byte [eax + 0x4192]
cmp eax, dword [ebp - 0x48]
jle 0x4ac4be
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x4d
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4ac49b
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ac4a5
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, dword [0x537ccc]
movzx eax, word [eax + 0x4193]
cmp eax, dword [ebp - 0x48]
jge 0x4ac513
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x4e
push ebp
mov edx, dword [0x537ccc]
movzx edx, word [edx + 0x4193]
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4ac4fa
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 1
jne 0x4ac56e
push 2
lea eax, [ebp - 8]
mov ecx, 1
mov edx, dword [0x4a77d4]
call fcn.00405e44
add esp, 4
mov eax, 1
imul eax, eax, 0xb
jno 0x4ac540
call fcn.0040308c
mov edx, dword [ebp - 8]
xor ecx, ecx
mov dword [edx + eax], ecx
mov dword [edx + eax + 4], 0x80000000
mov word [edx + eax + 8], 0x4000
mov eax, 1
imul eax, eax, 0xb
jno 0x4ac566
call fcn.0040308c
mov edx, dword [ebp - 8]
mov byte [edx + eax + 0xa], 0
cmp byte [ebp - 0x44], 0
je 0x4ac59e
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ac582
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4ac923
mov eax, 1
imul eax, eax, 0xb
jno 0x4ac5ad
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jne 0x4ac5d5
xor eax, eax
mov dword [ebp - 0x1a], eax
mov dword [ebp - 0x16], 0x80000000
mov word [ebp - 0x12], 0x3fff
jmp 0x4ac8f3
mov eax, 1
imul eax, eax, 0xb
jno 0x4ac5e4
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fabs
fcomp dword [0x4b0934]
fnstsw ax
sahf
jne 0x4ac631
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x62
mov eax, dword [ebp - 0xc]
add eax, 4
jno 0x4ac60e
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ac618
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
imul eax, eax, 0xb
jno 0x4ac63d
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jne 0x4ac6fd
mov eax, 1
imul eax, eax, 0xb
jno 0x4ac661
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b091c]
fnstsw ax
sahf
ja 0x4ac6ac
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x61
mov eax, dword [ebp - 0xc]
add eax, 4
jno 0x4ac689
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ac693
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
imul eax, eax, 0xb
jno 0x4ac6b8
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
mov eax, 1
imul eax, eax, 0xb
jno 0x4ac6d7
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fld dword [0x4b0934]
call fcn.00406734
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.00424844
fstp xword [ebp - 0x1a]
wait
jmp 0x4ac8f3
xor eax, eax
imul eax, eax, 0xb
jno 0x4ac709
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jae 0x4ac8a7
cmp dword [ebp - 0x48], 2
jne 0x4ac81e
mov eax, 1
imul eax, eax, 0xb
jno 0x4ac737
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fld dword [0x4b094c]
call fcn.00406736
call fcn.00402b38
mov eax, 1
imul eax, eax, 0xb
jno 0x4ac75c
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fld dword [0x4b094c]
call fcn.00406736
fcompp
fnstsw ax
sahf
jne 0x4ac7ae
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x63
mov eax, dword [ebp - 0xc]
add eax, 4
jno 0x4ac78b
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ac795
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, 1
imul eax, eax, 0xb
jno 0x4ac7bd
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b38
mov eax, 1
imul eax, eax, 0xb
jno 0x4ac7d7
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcompp
fnstsw ax
sahf
je 0x4ac858
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x65
mov eax, dword [ebp - 0xc]
add eax, 4
jno 0x4ac7fb
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ac805
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x64
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4ac835
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ac83f
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
imul eax, eax, 0xb
jno 0x4ac864
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fabs
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, 1
imul eax, eax, 0xb
jno 0x4ac882
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fld dword [0x4b0934]
call fcn.00406734
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.00424844
fchs
fstp xword [ebp - 0x1a]
wait
jmp 0x4ac8f3
xor eax, eax
imul eax, eax, 0xb
jno 0x4ac8b3
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
mov eax, 1
imul eax, eax, 0xb
jno 0x4ac8d2
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fld dword [0x4b0934]
call fcn.00406734
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.00424844
fstp xword [ebp - 0x1a]
wait
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ac90c
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
imul edx, dword [ebp - 0x48], 2
jno 0x4ac92f
call fcn.0040308c
add edx, 1
jno 0x4ac939
call fcn.0040308c
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ac946
call fcn.0040308c
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ac962
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
cmp dword [ebp - 0x48], 0
jne 0x4ac9b4
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x4f
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4ac991
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ac99b
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 1
jle 0x4ac9f6
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x50
push ebp
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4ac9dd
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4aca26
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4aca0a
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4acafc
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4aca33
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aca3d
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
fcomp dword [0x4b091c]
fnstsw ax
sahf
ja 0x4aca98
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x51
push ebp
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4aca6a
call fcn.0040308c
mov edx, 1
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4aca7f
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4acaa5
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4acaaf
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
mov cx, word [edx + eax*2 + 0xb]
push ecx
push dword [edx + eax*2 + 7]
push dword [edx + eax*2 + 3]
call fcn.0042480c
fstp xword [ebp - 0x1a]
wait
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4acae5
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4acb0a
call fcn.0040308c
mov edx, 3
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4acb2b
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
cmp dword [ebp - 0x48], 0
jne 0x4acb7d
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x52
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4acb5a
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4acb64
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 1
jle 0x4acbbf
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x53
push ebp
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4acba6
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4acbef
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4acbd3
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4accbc
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4acbfc
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4acc06
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
fcomp dword [0x4b091c]
fnstsw ax
sahf
ja 0x4acc61
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x54
push ebp
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4acc33
call fcn.0040308c
mov edx, 1
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4acc48
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4acc6e
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4acc78
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
fldln2
fxch st(1)
fyl2x
fstp xword [ebp - 0x1a]
wait
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4acca5
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4accca
call fcn.0040308c
mov edx, 3
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4acceb
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
cmp dword [ebp - 0x48], 0
jne 0x4acd3d
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x55
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4acd1a
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4acd24
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 1
jle 0x4acd7f
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x56
push ebp
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4acd66
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4acdac
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4acd93
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4ace03
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4acdb9
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4acdc3
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
fabs
fstp xword [ebp - 0x1a]
wait
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4acdec
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ace11
call fcn.0040308c
mov edx, 3
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ace32
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
cmp dword [ebp - 0x48], 0
jne 0x4ace84
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x57
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4ace61
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ace6b
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 1
jle 0x4acec6
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x58
push ebp
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4acead
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4acef3
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4aceda
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4acf4d
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4acf00
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4acf0a
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
call fcn.00402b20
fstp xword [ebp - 0x1a]
wait
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4acf36
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4acf5b
call fcn.0040308c
mov edx, 3
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4acf7c
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
cmp dword [ebp - 0x48], 2
jge 0x4acfd5
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x68
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4acfac
call fcn.0040308c
call fcn.004a837c
pop ecx
imul eax, eax, 0x4d
jno 0x4acfbc
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 2
jle 0x4ad017
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x69
push ebp
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4acffe
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, 1
imul eax, eax, 0xb
jno 0x4ad026
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b091c]
fnstsw ax
sahf
sete al
mov edx, 1
imul edx, edx, 0xb
jno 0x4ad047
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov dl, byte [ecx + edx + 0xa]
xor dl, 1
and al, dl
je 0x4ad08f
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x6a
mov eax, dword [ebp - 0xc]
add eax, 4
jno 0x4ad06c
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ad076
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4ad0bf
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ad0a3
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4ad14f
xor eax, eax
imul eax, eax, 0xb
jno 0x4ad0cb
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
mov eax, 1
imul eax, eax, 0xb
jno 0x4ad0e0
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00406736
call fcn.00402b38
mov eax, 1
imul eax, eax, 0xb
jno 0x4ad0ff
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fmulp st(1)
xor eax, eax
imul eax, eax, 0xb
jno 0x4ad113
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fsubrp st(1)
fstp xword [ebp - 0x1a]
wait
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ad138
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ad15d
call fcn.0040308c
mov edx, 5
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ad17e
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
cmp dword [ebp - 0x48], 0
jne 0x4ad1d0
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x59
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4ad1ad
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ad1b7
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 1
jle 0x4ad212
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x5a
push ebp
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4ad1f9
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4ad242
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ad226
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4ad318
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4ad24f
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ad259
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
fld xword [edx + eax*2 + 3]
fcomp dword [0x4b091c]
fnstsw ax
sahf
ja 0x4ad2b4
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x5b
push ebp
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4ad286
call fcn.0040308c
mov edx, 1
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4ad29b
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4ad2c1
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ad2cb
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
mov cx, word [edx + eax*2 + 0xb]
push ecx
push dword [edx + eax*2 + 7]
push dword [edx + eax*2 + 3]
call fcn.0042481c
fstp xword [ebp - 0x1a]
wait
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ad301
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ad326
call fcn.0040308c
mov edx, 3
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ad347
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
mov eax, dword [0x537ccc]
movzx eax, byte [eax + 0x2cae]
cmp eax, dword [ebp - 0x48]
jle 0x4ad3ab
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x8f
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ad382
call fcn.0040308c
call fcn.004a837c
pop ecx
imul eax, eax, 0x4d
jno 0x4ad392
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, dword [0x537ccc]
movzx eax, word [eax + 0x5f6b]
cmp eax, dword [ebp - 0x48]
jge 0x4ad400
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x90
push ebp
mov edx, dword [0x537ccc]
movzx edx, word [edx + 0x5f6b]
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4ad3e7
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
imul eax, eax, 0xb
jno 0x4ad40c
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b38
xor eax, eax
imul eax, eax, 0xb
jno 0x4ad423
call fcn.0040308c
mov edx, dword [ebp - 8]
fstp xword [edx + eax]
wait
mov eax, 1
imul eax, eax, 0xb
jno 0x4ad439
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b38
mov eax, 1
imul eax, eax, 0xb
jno 0x4ad453
call fcn.0040308c
mov edx, dword [ebp - 8]
fstp xword [edx + eax]
wait
xor eax, eax
imul eax, eax, 0xb
jno 0x4ad466
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jae 0x4ad4b1
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x91
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4ad48e
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ad498
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, 1
imul eax, eax, 0xb
jno 0x4ad4c0
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jae 0x4ad50b
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x91
mov eax, dword [ebp - 0xc]
add eax, 4
jno 0x4ad4e8
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ad4f2
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4ad53b
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ad51f
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4ad606
xor eax, eax
push ebp
push 0x4ad597
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
imul eax, eax, 0xb
jno 0x4ad555
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
mov eax, 1
imul eax, eax, 0xb
jno 0x4ad574
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
call fcn.00424844
fstp xword [ebp - 0x1a]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ad5d6
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ad5ef
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ad614
call fcn.0040308c
mov edx, 5
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ad635
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
mov eax, dword [0x537ccc]
movzx eax, byte [eax + 0x60e8]
cmp eax, dword [ebp - 0x48]
jle 0x4ad699
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x93
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ad670
call fcn.0040308c
call fcn.004a837c
pop ecx
imul eax, eax, 0x4d
jno 0x4ad680
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, dword [0x537ccc]
movzx eax, word [eax + 0x60e9]
cmp eax, dword [ebp - 0x48]
jge 0x4ad6ee
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x94
push ebp
mov edx, dword [0x537ccc]
movzx edx, word [edx + 0x60e9]
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4ad6d5
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
imul eax, eax, 0xb
jno 0x4ad6fa
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b38
xor eax, eax
imul eax, eax, 0xb
jno 0x4ad711
call fcn.0040308c
mov edx, dword [ebp - 8]
fstp xword [edx + eax]
wait
mov eax, 1
imul eax, eax, 0xb
jno 0x4ad727
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b38
mov eax, 1
imul eax, eax, 0xb
jno 0x4ad741
call fcn.0040308c
mov edx, dword [ebp - 8]
fstp xword [edx + eax]
wait
xor eax, eax
imul eax, eax, 0xb
jno 0x4ad754
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jae 0x4ad79f
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x95
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4ad77c
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ad786
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, 1
imul eax, eax, 0xb
jno 0x4ad7ae
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jae 0x4ad7f9
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x95
mov eax, dword [ebp - 0xc]
add eax, 4
jno 0x4ad7d6
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ad7e0
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4ad829
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ad80d
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4adb2e
xor eax, eax
imul eax, eax, 0xb
jno 0x4ad835
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
mov eax, 1
imul eax, eax, 0xb
jno 0x4ad84a
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcompp
fnstsw ax
sahf
jbe 0x4ad891
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x96
mov eax, dword [ebp - 0xc]
add eax, 4
jno 0x4ad86e
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ad878
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
imul eax, eax, 0xb
jno 0x4ad89d
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b091c]
fnstsw ax
sahf
sete dl
mov eax, 1
imul eax, eax, 0xb
jno 0x4ad8be
call fcn.0040308c
mov ecx, dword [ebp - 8]
fld xword [ecx + eax]
fcomp dword [0x4b091c]
fnstsw ax
sahf
sete al
and dl, al
je 0x4ad8e5
xor eax, eax
mov dword [ebp - 0x1a], eax
mov dword [ebp - 0x16], eax
mov word [ebp - 0x12], ax
jmp 0x4adafe
xor eax, eax
push ebp
push 0x4ad930
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
imul eax, eax, 0xb
jno 0x4ad8ff
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
mov eax, 1
imul eax, eax, 0xb
jno 0x4ad914
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
faddp st(1)
fsub dword [0x4b0934]
fstp xword [ebp - 0x24]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ad96f
push ebp
mov ax, word [ebp - 0x1c]
push eax
push dword [ebp - 0x20]
push dword [ebp - 0x24]
call fcn.004a8018
pop ecx
fstp xword [ebp - 0x24]
wait
fld xword [ebp - 0x24]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jne 0x4ad9c3
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x97
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ad9aa
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
push ebp
mov eax, 1
imul eax, eax, 0xb
jno 0x4ad9d3
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
call fcn.004a8018
pop ecx
fstp xword [ebp - 0x2e]
wait
fld xword [ebp - 0x2e]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jne 0x4ada2b
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x97
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ada12
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
push ebp
xor eax, eax
imul eax, eax, 0xb
jno 0x4ada38
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fsub dword [0x4b0934]
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.004a8018
pop ecx
fstp xword [ebp - 0x38]
wait
fld xword [ebp - 0x38]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jne 0x4ada93
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x97
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ada7a
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
push ebp
push 0x4adabf
push dword fs:[eax]
mov dword fs:[eax], esp
fld xword [ebp - 0x2e]
fld xword [ebp - 0x38]
fmulp st(1)
fld xword [ebp - 0x24]
call fcn.00406734
fstp xword [ebp - 0x1a]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4adafe
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4adb17
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4adb3c
call fcn.0040308c
mov edx, 5
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4adb5d
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
mov eax, dword [0x537ccc]
movzx eax, byte [eax + 0x6266]
cmp eax, dword [ebp - 0x48]
jle 0x4adbc1
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x98
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4adb98
call fcn.0040308c
call fcn.004a837c
pop ecx
imul eax, eax, 0x4d
jno 0x4adba8
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, dword [0x537ccc]
movzx eax, word [eax + 0x6267]
cmp eax, dword [ebp - 0x48]
jge 0x4adc16
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x99
push ebp
mov edx, dword [0x537ccc]
movzx edx, word [edx + 0x6267]
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4adbfd
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, dword [ebp - 0x48]
sub eax, 1
jno 0x4adc23
call fcn.0040308c
test eax, eax
jl 0x4adc66
inc eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
imul eax, eax, 0xb
jno 0x4adc3f
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b38
mov eax, dword [ebp - 0x10]
imul eax, eax, 0xb
jno 0x4adc57
call fcn.0040308c
mov edx, dword [ebp - 8]
fstp xword [edx + eax]
wait
inc dword [ebp - 0x10]
dec dword [ebp - 0x60]
jne 0x4adc32
mov eax, dword [ebp - 0x48]
sub eax, 1
jno 0x4adc73
call fcn.0040308c
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
xor eax, eax
imul eax, eax, 0xb
jno 0x4adc85
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcompp
fnstsw ax
sahf
jae 0x4adcfd
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x9a
push ebp
xor eax, eax
imul eax, eax, 0xb
jno 0x4adca9
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b88
add eax, 1
adc edx, 0
jno 0x4adcc1
call fcn.0040308c
push eax
sar eax, 0x1f
cmp eax, edx
pop eax
je 0x4adccf
call fcn.00403084
mov edx, eax
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4adce4
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
mov dword [ebp - 0x1a], eax
mov dword [ebp - 0x16], eax
mov word [ebp - 0x12], ax
cmp dword [ebp - 0x48], 1
jle 0x4addb4
mov eax, dword [ebp - 0x48]
sub eax, 1
jno 0x4add20
call fcn.0040308c
test eax, eax
jle 0x4add52
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x10], 1
fld xword [ebp - 0x1a]
mov eax, dword [ebp - 0x10]
imul eax, eax, 0xb
jno 0x4add3e
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
faddp st(1)
fstp xword [ebp - 0x1a]
wait
inc dword [ebp - 0x10]
dec dword [ebp - 0x60]
jne 0x4add2e
fld xword [ebp - 0x1a]
xor eax, eax
imul eax, eax, 0xb
jno 0x4add61
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcompp
fnstsw ax
sahf
jae 0x4addb4
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x9b
push ebp
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
add eax, 1
jno 0x4add91
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4add9b
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4adde4
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4addc8
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4adfe5
push ebp
xor eax, eax
imul eax, eax, 0xb
jno 0x4addf1
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
call fcn.004a8018
pop ecx
fstp xword [ebp - 0x24]
wait
fld xword [ebp - 0x24]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jne 0x4ade49
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x9c
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ade30
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
mov dword [ebp - 0x2e], eax
mov dword [ebp - 0x2a], 0x80000000
mov word [ebp - 0x26], 0x3fff
mov eax, dword [ebp - 0x48]
sub eax, 1
jno 0x4ade68
call fcn.0040308c
test eax, eax
jle 0x4adf4f
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x10], 1
push ebp
mov eax, dword [ebp - 0x10]
imul eax, eax, 0xb
jno 0x4ade88
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
call fcn.004a8018
pop ecx
fstp xword [ebp - 0x38]
wait
fld xword [ebp - 0x38]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jne 0x4adee0
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0x9c
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4adec7
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
push ebp
push 0x4adf04
push dword fs:[eax]
mov dword fs:[eax], esp
fld xword [ebp - 0x2e]
fld xword [ebp - 0x38]
fmulp st(1)
fstp xword [ebp - 0x2e]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4adf43
inc dword [ebp - 0x10]
dec dword [ebp - 0x60]
jne 0x4ade7a
xor eax, eax
push ebp
push 0x4adf76
push dword fs:[eax]
mov dword fs:[eax], esp
fld xword [ebp - 0x24]
fld xword [ebp - 0x2e]
call fcn.00406736
fstp xword [ebp - 0x1a]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4adfb5
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4adfce
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
imul edx, dword [ebp - 0x48], 2
jno 0x4adff1
call fcn.0040308c
add edx, 1
jno 0x4adffb
call fcn.0040308c
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ae008
call fcn.0040308c
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ae024
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
mov eax, dword [0x537ccc]
movzx eax, byte [eax + 0x6cd8]
cmp eax, dword [ebp - 0x48]
jle 0x4ae088
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xa0
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ae05f
call fcn.0040308c
call fcn.004a837c
pop ecx
imul eax, eax, 0x4d
jno 0x4ae06f
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, dword [0x537ccc]
movzx eax, word [eax + 0x6cd9]
cmp eax, dword [ebp - 0x48]
jge 0x4ae0dd
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xa1
push ebp
mov edx, dword [0x537ccc]
movzx edx, word [edx + 0x6cd9]
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4ae0c4
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
imul eax, eax, 0xb
jno 0x4ae0e9
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b091c]
fnstsw ax
sahf
setne dl
xor eax, eax
imul eax, eax, 0xb
jno 0x4ae107
call fcn.0040308c
mov ecx, dword [ebp - 8]
fld xword [ecx + eax]
fcomp dword [0x4b0934]
fnstsw ax
sahf
setne al
and dl, al
xor eax, eax
imul eax, eax, 0xb
jno 0x4ae127
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov al, byte [ecx + eax + 0xa]
xor al, 1
and dl, al
je 0x4ae16e
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xa2
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4ae14b
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ae155
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4ae19e
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ae182
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4ae23d
xor eax, eax
imul eax, eax, 0xb
jno 0x4ae1aa
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b0934]
fnstsw ax
sahf
jne 0x4ae1e5
mov eax, 1
imul eax, eax, 0xb
jno 0x4ae1ca
call fcn.0040308c
mov edx, dword [ebp - 8]
mov ecx, dword [edx + eax]
mov dword [ebp - 0x1a], ecx
mov ecx, dword [edx + eax + 4]
mov dword [ebp - 0x16], ecx
mov cx, word [edx + eax + 8]
mov word [ebp - 0x12], cx
jmp 0x4ae20d
mov eax, 2
imul eax, eax, 0xb
jno 0x4ae1f4
call fcn.0040308c
mov edx, dword [ebp - 8]
mov ecx, dword [edx + eax]
mov dword [ebp - 0x1a], ecx
mov ecx, dword [edx + eax + 4]
mov dword [ebp - 0x16], ecx
mov cx, word [edx + eax + 8]
mov word [ebp - 0x12], cx
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ae226
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
imul edx, dword [ebp - 0x48], 2
jno 0x4ae249
call fcn.0040308c
add edx, 1
jno 0x4ae253
call fcn.0040308c
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ae260
call fcn.0040308c
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ae27c
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
cmp dword [ebp - 0x48], 0
jne 0x4ae2ce
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xa3
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4ae2ab
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4ae2b5
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 1
jle 0x4ae310
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xa4
push ebp
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4ae2f7
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4ae340
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ae324
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4ae3de
xor eax, eax
imul eax, eax, 0xb
jno 0x4ae34c
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jae 0x4ae371
xor eax, eax
mov dword [ebp - 0x1a], eax
mov dword [ebp - 0x16], 0x80000000
mov word [ebp - 0x12], 0xbfff
jmp 0x4ae3ae
xor eax, eax
imul eax, eax, 0xb
jno 0x4ae37d
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jbe 0x4ae3a2
xor eax, eax
mov dword [ebp - 0x1a], eax
mov dword [ebp - 0x16], 0x80000000
mov word [ebp - 0x12], 0x3fff
jmp 0x4ae3ae
xor eax, eax
mov dword [ebp - 0x1a], eax
mov dword [ebp - 0x16], eax
mov word [ebp - 0x12], ax
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ae3c7
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
imul edx, dword [ebp - 0x48], 2
jno 0x4ae3ea
call fcn.0040308c
add edx, 1
jno 0x4ae3f4
call fcn.0040308c
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ae401
call fcn.0040308c
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ae41d
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
mov eax, dword [0x537ccc]
movzx eax, byte [eax + 0x6fd4]
cmp eax, dword [ebp - 0x48]
jle 0x4ae481
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xa5
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ae458
call fcn.0040308c
call fcn.004a837c
pop ecx
imul eax, eax, 0x4d
jno 0x4ae468
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, dword [0x537ccc]
movzx eax, word [eax + 0x6fd5]
cmp eax, dword [ebp - 0x48]
jge 0x4ae4d6
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xa6
push ebp
mov edx, dword [0x537ccc]
movzx edx, word [edx + 0x6fd5]
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4ae4bd
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4ae506
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ae4ea
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4ae5fd
xor eax, eax
mov dword [ebp - 0x1a], eax
mov dword [ebp - 0x16], 0x80000000
mov word [ebp - 0x12], 0x3fff
mov eax, dword [ebp - 8]
call fcn.00405c90
test eax, eax
jl 0x4ae5cd
inc eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
imul eax, eax, 0xb
jno 0x4ae540
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jne 0x4ae55f
xor eax, eax
mov dword [ebp - 0x1a], eax
mov dword [ebp - 0x16], eax
mov word [ebp - 0x12], ax
jmp 0x4ae5cd
mov eax, dword [ebp - 0x10]
imul eax, eax, 0xb
jno 0x4ae56c
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b0934]
fnstsw ax
sahf
je 0x4ae5c1
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xa7
push ebp
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4ae59e
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
add eax, 1
jno 0x4ae5b6
call fcn.0040308c
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
inc dword [ebp - 0x10]
dec dword [ebp - 0x60]
jne 0x4ae533
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ae5e6
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
imul edx, dword [ebp - 0x48], 2
jno 0x4ae609
call fcn.0040308c
add edx, 1
jno 0x4ae613
call fcn.0040308c
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ae620
call fcn.0040308c
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ae63c
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
mov eax, dword [0x537ccc]
movzx eax, byte [eax + 0x7152]
cmp eax, dword [ebp - 0x48]
jle 0x4ae6a0
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xa8
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ae677
call fcn.0040308c
call fcn.004a837c
pop ecx
imul eax, eax, 0x4d
jno 0x4ae687
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, dword [0x537ccc]
movzx eax, word [eax + 0x7153]
cmp eax, dword [ebp - 0x48]
jge 0x4ae6f5
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xa9
push ebp
mov edx, dword [0x537ccc]
movzx edx, word [edx + 0x7153]
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4ae6dc
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4ae725
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ae709
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4ae81c
xor eax, eax
mov dword [ebp - 0x1a], eax
mov dword [ebp - 0x16], eax
mov word [ebp - 0x12], ax
mov eax, dword [ebp - 8]
call fcn.00405c90
test eax, eax
jl 0x4ae7ec
inc eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
imul eax, eax, 0xb
jno 0x4ae759
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b0934]
fnstsw ax
sahf
jne 0x4ae77e
xor eax, eax
mov dword [ebp - 0x1a], eax
mov dword [ebp - 0x16], 0x80000000
mov word [ebp - 0x12], 0x3fff
jmp 0x4ae7ec
mov eax, dword [ebp - 0x10]
imul eax, eax, 0xb
jno 0x4ae78b
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b091c]
fnstsw ax
sahf
je 0x4ae7e0
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xaa
push ebp
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4ae7bd
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
add eax, 1
jno 0x4ae7d5
call fcn.0040308c
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
inc dword [ebp - 0x10]
dec dword [ebp - 0x60]
jne 0x4ae74c
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ae805
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
imul edx, dword [ebp - 0x48], 2
jno 0x4ae828
call fcn.0040308c
add edx, 1
jno 0x4ae832
call fcn.0040308c
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ae83f
call fcn.0040308c
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ae85b
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
mov eax, dword [0x537ccc]
movzx eax, byte [eax + 0x72d0]
cmp eax, dword [ebp - 0x48]
jle 0x4ae8bf
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xab
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4ae896
call fcn.0040308c
call fcn.004a837c
pop ecx
imul eax, eax, 0x4d
jno 0x4ae8a6
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, dword [0x537ccc]
movzx eax, word [eax + 0x72d1]
cmp eax, dword [ebp - 0x48]
jge 0x4ae914
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xac
push ebp
mov edx, dword [0x537ccc]
movzx edx, word [edx + 0x72d1]
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4ae8fb
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4ae944
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ae928
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4aea16
xor eax, eax
imul eax, eax, 0xb
jno 0x4ae950
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b0934]
fnstsw ax
sahf
jne 0x4ae96f
xor eax, eax
mov dword [ebp - 0x1a], eax
mov dword [ebp - 0x16], eax
mov word [ebp - 0x12], ax
jmp 0x4ae9e6
xor eax, eax
imul eax, eax, 0xb
jno 0x4ae97b
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b091c]
fnstsw ax
sahf
jne 0x4ae9a0
xor eax, eax
mov dword [ebp - 0x1a], eax
mov dword [ebp - 0x16], 0x80000000
mov word [ebp - 0x12], 0x3fff
jmp 0x4ae9e6
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xad
push ebp
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4ae9b8
call fcn.0040308c
mov edx, 1
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4ae9cd
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4ae9ff
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
imul edx, dword [ebp - 0x48], 2
jno 0x4aea22
call fcn.0040308c
add edx, 1
jno 0x4aea2c
call fcn.0040308c
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4aea39
call fcn.0040308c
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4aea55
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
cmp dword [ebp - 0x48], 0
jne 0x4aeaa7
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xae
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4aea84
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aea8e
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 1
jle 0x4aeae9
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xaf
push ebp
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4aead0
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4aeb16
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4aeafd
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4aeb61
xor eax, eax
imul eax, eax, 0xb
jno 0x4aeb22
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b38
fstp xword [ebp - 0x1a]
wait
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4aeb4a
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
imul edx, dword [ebp - 0x48], 2
jno 0x4aeb6d
call fcn.0040308c
add edx, 1
jno 0x4aeb77
call fcn.0040308c
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4aeb84
call fcn.0040308c
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4aeba0
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
cmp dword [ebp - 0x48], 2
jge 0x4aebf9
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xb0
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4aebd0
call fcn.0040308c
call fcn.004a837c
pop ecx
imul eax, eax, 0x4d
jno 0x4aebe0
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 2
jle 0x4aec3b
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xb1
push ebp
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4aec22
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, 1
imul eax, eax, 0xb
jno 0x4aec4a
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b091c]
fnstsw ax
sahf
sete al
mov edx, 1
imul edx, edx, 0xb
jno 0x4aec6b
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov dl, byte [ecx + edx + 0xa]
xor dl, 1
and al, dl
je 0x4aecb3
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xb2
mov eax, dword [ebp - 0xc]
add eax, 4
jno 0x4aec90
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aec9a
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4aece0
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4aecc7
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4aed45
xor eax, eax
imul eax, eax, 0xb
jno 0x4aecec
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
mov eax, 1
imul eax, eax, 0xb
jno 0x4aed01
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00406736
call fcn.00402b38
fstp xword [ebp - 0x1a]
wait
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4aed2e
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4aed53
call fcn.0040308c
mov edx, 5
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4aed74
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
cmp dword [ebp - 0x48], 2
jge 0x4aedcd
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xb3
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4aeda4
call fcn.0040308c
call fcn.004a837c
pop ecx
imul eax, eax, 0x4d
jno 0x4aedb4
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 2
jle 0x4aee0f
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xb4
push ebp
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4aedf6
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
imul eax, eax, 0xb
jno 0x4aee1b
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b38
xor eax, eax
imul eax, eax, 0xb
jno 0x4aee32
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcompp
fnstsw ax
sahf
setne al
xor edx, edx
imul edx, edx, 0xb
jno 0x4aee4c
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov dl, byte [ecx + edx + 0xa]
xor dl, 1
and al, dl
je 0x4aee94
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xb5
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4aee71
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aee7b
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, 1
imul eax, eax, 0xb
jno 0x4aeea3
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b38
mov eax, 1
imul eax, eax, 0xb
jno 0x4aeebd
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcompp
fnstsw ax
sahf
setne al
mov edx, 1
imul edx, edx, 0xb
jno 0x4aeeda
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov dl, byte [ecx + edx + 0xa]
xor dl, 1
and al, dl
je 0x4aef22
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xb5
mov eax, dword [ebp - 0xc]
add eax, 4
jno 0x4aeeff
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aef09
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
imul eax, eax, 0xb
jno 0x4aef2e
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fld xword [0x4b0950]
fcompp
fnstsw ax
sahf
seta dl
xor eax, eax
imul eax, eax, 0xb
jno 0x4aef4e
call fcn.0040308c
mov ecx, dword [ebp - 8]
fld xword [ecx + eax]
fld xword [0x4b095c]
fcompp
fnstsw ax
sahf
setb al
or dl, al
xor eax, eax
imul eax, eax, 0xb
jno 0x4aef70
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov al, byte [ecx + eax + 0xa]
xor al, 1
and dl, al
je 0x4aefb7
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xb7
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4aef94
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aef9e
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, 1
imul eax, eax, 0xb
jno 0x4aefc6
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b091c]
fnstsw ax
sahf
setb al
mov edx, 1
imul edx, edx, 0xb
jno 0x4aefe7
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov dl, byte [ecx + edx + 0xa]
xor dl, 1
and al, dl
je 0x4af02f
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xb8
mov eax, dword [ebp - 0xc]
add eax, 4
jno 0x4af00c
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4af016
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4af05f
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4af043
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4af159
xor eax, eax
push ebp
push 0x4af0ea
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x4000
push 0x80000000
push 0
mov eax, 1
imul eax, eax, 0xb
jno 0x4af088
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b88
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
fild qword [ebp - 0x88]
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.00424844
xor eax, eax
imul eax, eax, 0xb
jno 0x4af0bd
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fmulp st(1)
call fcn.00402b88
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
fild qword [ebp - 0x88]
fstp xword [ebp - 0x1a]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4af129
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4af142
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4af167
call fcn.0040308c
mov edx, 5
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4af188
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
cmp dword [ebp - 0x48], 2
jge 0x4af1e1
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xb9
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4af1b8
call fcn.0040308c
call fcn.004a837c
pop ecx
imul eax, eax, 0x4d
jno 0x4af1c8
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 2
jle 0x4af223
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xba
push ebp
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4af20a
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
imul eax, eax, 0xb
jno 0x4af22f
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b38
xor eax, eax
imul eax, eax, 0xb
jno 0x4af246
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcompp
fnstsw ax
sahf
setne al
xor edx, edx
imul edx, edx, 0xb
jno 0x4af260
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov dl, byte [ecx + edx + 0xa]
xor dl, 1
and al, dl
je 0x4af2a8
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xbb
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4af285
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4af28f
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, 1
imul eax, eax, 0xb
jno 0x4af2b7
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b38
mov eax, 1
imul eax, eax, 0xb
jno 0x4af2d1
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcompp
fnstsw ax
sahf
setne al
mov edx, 1
imul edx, edx, 0xb
jno 0x4af2ee
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov dl, byte [ecx + edx + 0xa]
xor dl, 1
and al, dl
je 0x4af336
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xbb
mov eax, dword [ebp - 0xc]
add eax, 4
jno 0x4af313
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4af31d
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
imul eax, eax, 0xb
jno 0x4af342
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fld xword [0x4b0950]
fcompp
fnstsw ax
sahf
seta dl
xor eax, eax
imul eax, eax, 0xb
jno 0x4af362
call fcn.0040308c
mov ecx, dword [ebp - 8]
fld xword [ecx + eax]
fld xword [0x4b095c]
fcompp
fnstsw ax
sahf
setb al
or dl, al
xor eax, eax
imul eax, eax, 0xb
jno 0x4af384
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov al, byte [ecx + eax + 0xa]
xor al, 1
and dl, al
je 0x4af3cb
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xbc
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4af3a8
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4af3b2
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, 1
imul eax, eax, 0xb
jno 0x4af3da
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcomp dword [0x4b091c]
fnstsw ax
sahf
setb al
mov edx, 1
imul edx, edx, 0xb
jno 0x4af3fb
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov dl, byte [ecx + edx + 0xa]
xor dl, 1
and al, dl
je 0x4af443
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xbd
mov eax, dword [ebp - 0xc]
add eax, 4
jno 0x4af420
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4af42a
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4af473
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4af457
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4af56a
xor eax, eax
push ebp
push 0x4af4fb
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x4000
push 0x80000000
push 0
mov eax, 1
imul eax, eax, 0xb
jno 0x4af49c
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
call fcn.00424844
call fcn.00402b88
push edx
push eax
xor eax, eax
imul eax, eax, 0xb
jno 0x4af4c4
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b88
call fcn.00407286
jno 0x4af4db
call fcn.0040308c
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
fild qword [ebp - 0x88]
fstp xword [ebp - 0x1a]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4af53a
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4af553
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4af578
call fcn.0040308c
mov edx, 5
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4af599
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
cmp dword [ebp - 0x48], 2
jge 0x4af5f2
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xbf
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4af5c9
call fcn.0040308c
call fcn.004a837c
pop ecx
imul eax, eax, 0x4d
jno 0x4af5d9
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 2
jle 0x4af634
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xc0
push ebp
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4af61b
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
imul eax, eax, 0xb
jno 0x4af640
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b38
xor eax, eax
imul eax, eax, 0xb
jno 0x4af657
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcompp
fnstsw ax
sahf
setne al
xor edx, edx
imul edx, edx, 0xb
jno 0x4af671
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov dl, byte [ecx + edx + 0xa]
xor dl, 1
and al, dl
je 0x4af6b9
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xc1
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4af696
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4af6a0
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, 1
imul eax, eax, 0xb
jno 0x4af6c8
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b38
mov eax, 1
imul eax, eax, 0xb
jno 0x4af6e2
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcompp
fnstsw ax
sahf
setne al
mov edx, 1
imul edx, edx, 0xb
jno 0x4af6ff
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov dl, byte [ecx + edx + 0xa]
xor dl, 1
and al, dl
je 0x4af747
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xc1
mov eax, dword [ebp - 0xc]
add eax, 4
jno 0x4af724
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4af72e
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
imul eax, eax, 0xb
jno 0x4af753
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fld xword [0x4b0968]
fcompp
fnstsw ax
sahf
seta dl
xor eax, eax
imul eax, eax, 0xb
jno 0x4af773
call fcn.0040308c
mov ecx, dword [ebp - 8]
fld xword [ecx + eax]
fld xword [0x4b0974]
fcompp
fnstsw ax
sahf
setb al
or dl, al
xor eax, eax
imul eax, eax, 0xb
jno 0x4af795
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov al, byte [ecx + eax + 0xa]
xor al, 1
and dl, al
je 0x4af7dc
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xc2
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4af7b9
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4af7c3
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, 1
imul eax, eax, 0xb
jno 0x4af7eb
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fld xword [0x4b0968]
fcompp
fnstsw ax
sahf
seta dl
mov eax, 1
imul eax, eax, 0xb
jno 0x4af80e
call fcn.0040308c
mov ecx, dword [ebp - 8]
fld xword [ecx + eax]
fld xword [0x4b0974]
fcompp
fnstsw ax
sahf
setb al
or dl, al
mov eax, 1
imul eax, eax, 0xb
jno 0x4af833
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov al, byte [ecx + eax + 0xa]
xor al, 1
and dl, al
je 0x4af87a
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xc2
mov eax, dword [ebp - 0xc]
add eax, 4
jno 0x4af857
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4af861
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4af8aa
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4af88e
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4af984
xor eax, eax
push ebp
push 0x4af915
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
imul eax, eax, 0xb
jno 0x4af8c4
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b88
push edx
push eax
mov eax, 1
imul eax, eax, 0xb
jno 0x4af8e0
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b88
and eax, dword [esp]
and edx, dword [esp + 4]
add esp, 8
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
fild qword [ebp - 0x88]
fstp xword [ebp - 0x1a]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4af954
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4af96d
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4af992
call fcn.0040308c
mov edx, 5
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4af9b3
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
cmp dword [ebp - 0x48], 2
jge 0x4afa0c
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xc4
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4af9e3
call fcn.0040308c
call fcn.004a837c
pop ecx
imul eax, eax, 0x4d
jno 0x4af9f3
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 2
jle 0x4afa4e
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xc5
push ebp
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4afa35
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
imul eax, eax, 0xb
jno 0x4afa5a
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b38
xor eax, eax
imul eax, eax, 0xb
jno 0x4afa71
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcompp
fnstsw ax
sahf
setne al
xor edx, edx
imul edx, edx, 0xb
jno 0x4afa8b
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov dl, byte [ecx + edx + 0xa]
xor dl, 1
and al, dl
je 0x4afad3
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xc6
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4afab0
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4afaba
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, 1
imul eax, eax, 0xb
jno 0x4afae2
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b38
mov eax, 1
imul eax, eax, 0xb
jno 0x4afafc
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcompp
fnstsw ax
sahf
setne al
mov edx, 1
imul edx, edx, 0xb
jno 0x4afb19
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov dl, byte [ecx + edx + 0xa]
xor dl, 1
and al, dl
je 0x4afb61
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xc6
mov eax, dword [ebp - 0xc]
add eax, 4
jno 0x4afb3e
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4afb48
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
imul eax, eax, 0xb
jno 0x4afb6d
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fld xword [0x4b0968]
fcompp
fnstsw ax
sahf
seta dl
xor eax, eax
imul eax, eax, 0xb
jno 0x4afb8d
call fcn.0040308c
mov ecx, dword [ebp - 8]
fld xword [ecx + eax]
fld xword [0x4b0974]
fcompp
fnstsw ax
sahf
setb al
or dl, al
xor eax, eax
imul eax, eax, 0xb
jno 0x4afbaf
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov al, byte [ecx + eax + 0xa]
xor al, 1
and dl, al
je 0x4afbf6
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xc7
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4afbd3
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4afbdd
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, 1
imul eax, eax, 0xb
jno 0x4afc05
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fld xword [0x4b0968]
fcompp
fnstsw ax
sahf
seta dl
mov eax, 1
imul eax, eax, 0xb
jno 0x4afc28
call fcn.0040308c
mov ecx, dword [ebp - 8]
fld xword [ecx + eax]
fld xword [0x4b0974]
fcompp
fnstsw ax
sahf
setb al
or dl, al
mov eax, 1
imul eax, eax, 0xb
jno 0x4afc4d
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov al, byte [ecx + eax + 0xa]
xor al, 1
and dl, al
je 0x4afc94
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xc7
mov eax, dword [ebp - 0xc]
add eax, 4
jno 0x4afc71
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4afc7b
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4afcc4
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4afca8
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4afd9e
xor eax, eax
push ebp
push 0x4afd2f
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
imul eax, eax, 0xb
jno 0x4afcde
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b88
push edx
push eax
mov eax, 1
imul eax, eax, 0xb
jno 0x4afcfa
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b88
or eax, dword [esp]
or edx, dword [esp + 4]
add esp, 8
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
fild qword [ebp - 0x88]
fstp xword [ebp - 0x1a]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4afd6e
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4afd87
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4afdac
call fcn.0040308c
mov edx, 5
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4afdcd
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
cmp dword [ebp - 0x48], 2
jge 0x4afe26
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xc9
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4afdfd
call fcn.0040308c
call fcn.004a837c
pop ecx
imul eax, eax, 0x4d
jno 0x4afe0d
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 2
jle 0x4afe68
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xca
push ebp
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4afe4f
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
imul eax, eax, 0xb
jno 0x4afe74
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b38
xor eax, eax
imul eax, eax, 0xb
jno 0x4afe8b
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcompp
fnstsw ax
sahf
setne al
xor edx, edx
imul edx, edx, 0xb
jno 0x4afea5
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov dl, byte [ecx + edx + 0xa]
xor dl, 1
and al, dl
je 0x4afeed
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xcb
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4afeca
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4afed4
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, 1
imul eax, eax, 0xb
jno 0x4afefc
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b38
mov eax, 1
imul eax, eax, 0xb
jno 0x4aff16
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcompp
fnstsw ax
sahf
setne al
mov edx, 1
imul edx, edx, 0xb
jno 0x4aff33
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov dl, byte [ecx + edx + 0xa]
xor dl, 1
and al, dl
je 0x4aff7b
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xcb
mov eax, dword [ebp - 0xc]
add eax, 4
jno 0x4aff58
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4aff62
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
imul eax, eax, 0xb
jno 0x4aff87
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fld xword [0x4b0968]
fcompp
fnstsw ax
sahf
seta dl
xor eax, eax
imul eax, eax, 0xb
jno 0x4affa7
call fcn.0040308c
mov ecx, dword [ebp - 8]
fld xword [ecx + eax]
fld xword [0x4b0974]
fcompp
fnstsw ax
sahf
setb al
or dl, al
xor eax, eax
imul eax, eax, 0xb
jno 0x4affc9
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov al, byte [ecx + eax + 0xa]
xor al, 1
and dl, al
je 0x4b0010
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xcc
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4affed
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4afff7
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, 1
imul eax, eax, 0xb
jno 0x4b001f
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fld xword [0x4b0968]
fcompp
fnstsw ax
sahf
seta dl
mov eax, 1
imul eax, eax, 0xb
jno 0x4b0042
call fcn.0040308c
mov ecx, dword [ebp - 8]
fld xword [ecx + eax]
fld xword [0x4b0974]
fcompp
fnstsw ax
sahf
setb al
or dl, al
mov eax, 1
imul eax, eax, 0xb
jno 0x4b0067
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov al, byte [ecx + eax + 0xa]
xor al, 1
and dl, al
je 0x4b00ae
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xcc
mov eax, dword [ebp - 0xc]
add eax, 4
jno 0x4b008b
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4b0095
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4b00de
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4b00c2
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4b01b8
xor eax, eax
push ebp
push 0x4b0149
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
imul eax, eax, 0xb
jno 0x4b00f8
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b88
push edx
push eax
mov eax, 1
imul eax, eax, 0xb
jno 0x4b0114
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b88
xor eax, dword [esp]
xor edx, dword [esp + 4]
add esp, 8
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
fild qword [ebp - 0x88]
fstp xword [ebp - 0x1a]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b0188
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4b01a1
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4b01c6
call fcn.0040308c
mov edx, 5
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4b01e7
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
cmp dword [ebp - 0x48], 1
jge 0x4b0240
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xce
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4b0217
call fcn.0040308c
call fcn.004a837c
pop ecx
imul eax, eax, 0x4d
jno 0x4b0227
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp dword [ebp - 0x48], 1
jle 0x4b0282
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xcf
push ebp
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4b0269
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
imul eax, eax, 0xb
jno 0x4b028e
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b38
xor eax, eax
imul eax, eax, 0xb
jno 0x4b02a5
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcompp
fnstsw ax
sahf
setne al
xor edx, edx
imul edx, edx, 0xb
jno 0x4b02bf
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov dl, byte [ecx + edx + 0xa]
xor dl, 1
and al, dl
je 0x4b0307
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xd0
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4b02e4
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4b02ee
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
imul eax, eax, 0xb
jno 0x4b0313
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fld xword [0x4b0968]
fcompp
fnstsw ax
sahf
seta dl
xor eax, eax
imul eax, eax, 0xb
jno 0x4b0333
call fcn.0040308c
mov ecx, dword [ebp - 8]
fld xword [ecx + eax]
fld xword [0x4b0974]
fcompp
fnstsw ax
sahf
setb al
or dl, al
xor eax, eax
imul eax, eax, 0xb
jno 0x4b0355
call fcn.0040308c
mov ecx, dword [ebp - 8]
mov al, byte [ecx + eax + 0xa]
xor al, 1
and dl, al
je 0x4b039c
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xd1
mov eax, dword [ebp - 0xc]
add eax, 2
jno 0x4b0379
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4b0383
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4b03cc
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4b03b0
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4b0484
xor eax, eax
push ebp
push 0x4b0415
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
imul eax, eax, 0xb
jno 0x4b03e6
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
call fcn.00402b88
not eax
not edx
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
fild qword [ebp - 0x88]
fstp xword [ebp - 0x1a]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b0454
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4b046d
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4b0492
call fcn.0040308c
mov edx, 3
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4b04b3
call fcn.0040308c
call fcn.004a80ec
pop ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x44], al
mov eax, dword [0x537ccc]
movzx eax, byte [eax + 0x803e]
cmp eax, dword [ebp - 0x48]
jle 0x4b0517
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xd4
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4b04ee
call fcn.0040308c
call fcn.004a837c
pop ecx
imul eax, eax, 0x4d
jno 0x4b04fe
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, dword [0x537ccc]
movzx eax, word [eax + 0x803f]
cmp eax, dword [ebp - 0x48]
jge 0x4b056c
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xd5
push ebp
mov edx, dword [0x537ccc]
movzx edx, word [edx + 0x803f]
mov eax, dword [ebp - 0xc]
call fcn.004a82fc
pop ecx
imul eax, eax, 0x4d
jno 0x4b0553
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
cmp byte [ebp - 0x44], 0
je 0x4b059c
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4b0580
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7e8c
pop ecx
jmp 0x4b087c
xor eax, eax
imul eax, eax, 0xb
jno 0x4b05a8
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
mov eax, 2
imul eax, eax, 0xb
jno 0x4b05bd
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcompp
fnstsw ax
sahf
sete dl
mov eax, 1
imul eax, eax, 0xb
jno 0x4b05da
call fcn.0040308c
mov ecx, dword [ebp - 8]
fld xword [ecx + eax]
mov eax, 4
imul eax, eax, 0xb
jno 0x4b05ef
call fcn.0040308c
mov ecx, dword [ebp - 8]
fld xword [ecx + eax]
fcompp
fnstsw ax
sahf
sete al
and dl, al
je 0x4b063b
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xd7
mov eax, dword [ebp - 0xc]
add eax, 6
jno 0x4b0618
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4b0622
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov eax, 4
imul eax, eax, 0xb
jno 0x4b064a
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
mov eax, 6
imul eax, eax, 0xb
jno 0x4b065f
call fcn.0040308c
mov edx, dword [ebp - 8]
fld xword [edx + eax]
fcompp
fnstsw ax
sahf
sete dl
mov eax, 5
imul eax, eax, 0xb
jno 0x4b067c
call fcn.0040308c
mov ecx, dword [ebp - 8]
fld xword [ecx + eax]
mov eax, 7
imul eax, eax, 0xb
jno 0x4b0691
call fcn.0040308c
mov ecx, dword [ebp - 8]
fld xword [ecx + eax]
fcompp
fnstsw ax
sahf
sete al
and dl, al
je 0x4b06dd
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xd7
mov eax, dword [ebp - 0xc]
add eax, 0xe
jno 0x4b06ba
call fcn.0040308c
imul eax, eax, 0x4d
jno 0x4b06c4
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
xor eax, eax
imul eax, eax, 0xb
jno 0x4b06e9
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
mov eax, 1
imul eax, eax, 0xb
jno 0x4b0708
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
mov eax, 2
imul eax, eax, 0xb
jno 0x4b0727
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
mov eax, 3
imul eax, eax, 0xb
jno 0x4b0746
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
mov eax, 4
imul eax, eax, 0xb
jno 0x4b0765
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
mov eax, 5
imul eax, eax, 0xb
jno 0x4b0784
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
mov eax, 6
imul eax, eax, 0xb
jno 0x4b07a3
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
mov eax, 7
imul eax, eax, 0xb
jno 0x4b07c2
call fcn.0040308c
mov edx, dword [ebp - 8]
mov cx, word [edx + eax + 8]
push ecx
push dword [edx + eax + 4]
push dword [edx + eax]
call fcn.0052222c
fstp xword [ebp - 0x1a]
wait
fld xword [ebp - 0x1a]
fcomp dword [0x4b0948]
fnstsw ax
sahf
jne 0x4b0819
mov eax, dword [ebp + 8]
mov dword [eax + 0xa], 0xd6
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4b0800
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx eax, word [edx + eax*2 + 0x8f]
mov edx, dword [ebp + 8]
mov dword [edx + 0xe], eax
jmp case.0x4aa4a0.32
mov al, byte [ebp + 0xc]
sub al, 1
jb 0x4b0826
dec al
je 0x4b083a
jmp 0x4b084c
fld xword [ebp - 0x1a]
fld xword [0x4b0980]
call fcn.00406736
fstp xword [ebp - 0x1a]
wait
jmp 0x4b084c
fld xword [ebp - 0x1a]
fld xword [0x4b098c]
call fcn.00406736
fstp xword [ebp - 0x1a]
wait
push ebp
mov ax, word [ebp - 0x12]
push eax
push dword [ebp - 0x16]
push dword [ebp - 0x1a]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4b0865
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
push ebp
mov eax, dword [ebp - 0xc]
add eax, 1
jno 0x4b088a
call fcn.0040308c
mov edx, 0x11
call fcn.004a77e8
pop ecx
jmp case.0x4aa4a0.32
push ebp
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4b08a5
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
mov cx, word [edx + eax*2 + 0xb]
push ecx
push dword [edx + eax*2 + 7]
push dword [edx + eax*2 + 3]
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x4d
jno 0x4b08c6
call fcn.0040308c
mov edx, dword [ebp - 4]
mov edx, dword [edx + 4]
movzx edx, word [edx + eax*2 + 0x8f]
mov eax, dword [ebp - 0xc]
call fcn.004a7968
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b0908
lea eax, [ebp - 0x7c]
call fcn.00403de0
lea eax, [ebp - 8]
mov edx, dword [0x4a77d4]
call fcn.00405e50
ret