Function at 0x774be0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov eax, 0x648c
mov ebp, esp
push edi
push esi
push ebx
call fcn.008e9550
lea eax, [ebp - 0x4328]
mov dword [esp + 8], 0x2000
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_memset
lea edx, [ebp - 0x6328]
mov dword [esp + 8], 0x2000
mov dword [esp + 4], 0
mov dword [esp], edx
call sub.msvcrt.dll_memset
mov ecx, dword [ebp + 8]
cmp byte [ecx + 0x2ce], 0
jne 0x774cfd
mov byte [ecx + 9], 0
mov ecx, dword [ebp + 8]
cmp byte [ecx], 0
mov byte [ecx + 9], 1
je 0x776c61
movzx eax, byte [ecx + 0x26]
mov edx, 1
mov byte [ecx + 0x8c], al
mov ebx, dword [ebp + 8]
movzx eax, byte [edx + ebx + 0x26]
mov byte [edx + ebx + 0x8c], al
add edx, 1
cmp edx, 0x22
jne 0x774c5f
mov eax, dword [ebp + 8]
cmp byte [eax + 1], 0
je 0x776cc5
mov edx, eax
movzx eax, byte [eax + 0x48]
mov byte [edx + 0x136], al
mov edx, 1
mov ecx, dword [ebp + 8]
movzx eax, byte [edx + ecx + 0x48]
mov byte [edx + ecx + 0x136], al
add edx, 1
cmp edx, 0x22
jne 0x774c94
mov edi, dword [ebp + 8]
cmp byte [edi + 0x1a], 0
je 0x776c88
movzx eax, byte [edi + 0x6a]
mov edx, 1
mov byte [edi + 0x1e0], al
movzx eax, byte [edi + 0x7b]
mov byte [edi + 0x235], al
mov ecx, dword [ebp + 8]
movzx eax, byte [edx + ecx + 0x6a]
mov byte [edx + ecx + 0x1e0], al
movzx eax, byte [edx + ecx + 0x7b]
mov byte [edx + ecx + 0x235], al
add edx, 1
cmp edx, 0x11
jne 0x774cd1
movzx edi, byte [ecx + 9]
jmp 0x774f78
mov ebx, dword [ebp + 8]
cmp byte [ebx + 9], 0
je 0x774c40
mov edi, dword [ebp + 8]
lea esi, [ebx + 0x6a]
add ebx, 0x114
mov dword [ebp - 0x6334], 0
mov dword [ebp - 0x6434], esi
mov dword [ebp - 0x6460], ebx
add edi, 0x1cf
mov dword [ebp - 0x6464], edi
jmp 0x774ee2
movzx esi, byte [ebp - 0x632a]
mov edi, dword [ebp - 0x6434]
mov eax, esi
shl eax, 5
lea eax, [eax + esi*2]
add edi, eax
add eax, dword [ebp - 0x6460]
mov dword [ebp - 0x63f8], edi
mov edi, dword [ebp - 0x6464]
mov dword [ebp - 0x63fc], eax
mov eax, esi
shl eax, 4
add eax, esi
add edi, eax
test dl, dl
mov dword [ebp - 0x6400], edi
mov edi, dword [ebp + 8]
lea eax, [edi + eax + 0x224]
mov dword [ebp - 0x6404], eax
jne 0x774f4e
mov dword [ebp - 0x63f4], 2
mov eax, esi
movzx edi, byte [ebp - 0x632a]
shl eax, 5
lea edx, [eax + esi*2 + 0x80]
mov eax, dword [ebp + 8]
lea edx, [eax + edx + 0xc]
movzx eax, byte [eax]
mov dword [esp + 0x10], ebx
mov ebx, dword [ebp + 8]
mov dword [esp + 0xc], ecx
mov ecx, dword [ebp - 0x63f4]
mov dword [ebp - 0x6478], eax
mov dword [esp + 8], ecx
movzx ecx, byte [ebx + 5]
mov dword [esp + 4], ecx
movzx ecx, byte [edi + ebx + 0x10]
mov dword [esp], ecx
mov ecx, dword [ebp - 0x63f8]
call fcn.00773ab0
movzx eax, byte [ebx + 4]
test al, al
je 0x774f66
cmp al, 3
mov ecx, 1
je 0x774f66
mov ebx, dword [ebp + 8]
mov eax, esi
shl eax, 5
lea eax, [eax + esi*2 + 0x130]
lea edx, [ebx + eax + 6]
movzx eax, byte [ebx + 1]
mov dword [esp + 0x10], 7
mov dword [esp + 0xc], 0
mov dword [esp + 8], ecx
movzx ecx, byte [ebx + 7]
mov dword [esp + 4], ecx
movzx ecx, byte [edi + ebx + 0x15]
mov dword [esp], ecx
mov ecx, dword [ebp - 0x63fc]
call fcn.00773ab0
mov eax, esi
shl eax, 4
lea esi, [eax + esi]
movzx eax, byte [ebx + 0x1a]
mov dword [esp + 0xc], 7
lea edx, [ebx + esi + 0x1e0]
mov dword [esp + 8], 1
movzx ecx, byte [ebx + 6]
mov dword [esp + 4], ecx
movzx ecx, byte [edi + ebx + 0x1c]
mov dword [esp], ecx
mov ecx, dword [ebp - 0x6400]
call fcn.00773bf0
movzx eax, byte [ebx + 0x1a]
lea edx, [ebx + esi + 0x235]
mov dword [esp + 0xc], 7
mov dword [esp + 8], 1
movzx ecx, byte [ebx + 6]
mov dword [esp + 4], ecx
movzx ecx, byte [edi + ebx + 0x21]
mov dword [esp], ecx
mov ecx, dword [ebp - 0x6404]
call fcn.00773bf0
movzx edi, byte [ebx + 9]
movzx eax, byte [ebp - 0x632a]
add dword [ebp - 0x6334], 1
mov edx, edi
add eax, 1
cmp dl, al
jbe 0x774f70
movzx eax, byte [ebp - 0x6334]
mov ecx, dword [ebp + 8]
mov byte [ebp - 0x632a], al
movzx edx, byte [ecx + 3]
cmp dl, 3
sbb ebx, ebx
and ebx, 0xfffffff8
add ebx, 0xf
cmp dl, 3
sbb ecx, ecx
and ecx, 8
sub ecx, 0xf
test al, al
jne 0x774d3d
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x6434]
add esi, 0x26
mov dword [ebp - 0x63f8], esi
mov esi, dword [ebp + 8]
add edi, 0x48
mov dword [ebp - 0x63fc], edi
mov dword [ebp - 0x6400], eax
add esi, 0x7b
mov dword [ebp - 0x6404], esi
xor esi, esi
test dl, dl
je 0x774d93
cmp dl, 3
mov dword [ebp - 0x63f4], 1
jne 0x774d9d
jmp 0x774d93
mov ecx, 2
jmp 0x774e09
test dl, dl
je 0x774c40
mov ebx, dword [ebp + 8]
mov ecx, 1
movzx eax, byte [ebx + 9]
mov edx, eax
shl edx, 5
lea eax, [edx + eax*2]
movzx eax, byte [ebx + eax + 0x6a]
mov byte [ebx + 0x26], al
mov ebx, dword [ebp + 8]
movzx edx, byte [ebx + 9]
mov eax, edx
shl eax, 5
lea edx, [eax + edx*2]
lea eax, [edx + ecx]
movzx eax, byte [ebx + eax + 0x6a]
mov byte [ecx + ebx + 0x26], al
add ecx, 1
cmp ecx, 0x22
jne 0x774f94
movzx eax, byte [ebx + edx + 0x114]
mov cl, 1
mov byte [ebx + 0x48], al
mov esi, dword [ebp + 8]
movzx edx, byte [esi + 9]
mov eax, edx
shl eax, 5
lea eax, [eax + edx*2]
add eax, ecx
movzx eax, byte [esi + eax + 0x114]
mov byte [ecx + esi + 0x48], al
add ecx, 1
cmp ecx, 0x22
jne 0x774fc4
mov eax, edx
mov cl, 1
shl eax, 4
add eax, edx
add eax, esi
movzx edx, byte [eax + 0x1cf]
movzx eax, byte [eax + 0x224]
mov byte [esi + 0x6a], dl
mov byte [esi + 0x7b], al
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 8]
movzx ebx, byte [eax + 9]
mov eax, ebx
shl eax, 4
add eax, ebx
add eax, ecx
add eax, dword [ebp + 8]
movzx edx, byte [eax + 0x1cf]
movzx eax, byte [eax + 0x224]
mov byte [ecx + esi + 0x6a], dl
mov byte [ecx + esi + 0x7b], al
add ecx, 1
cmp ecx, 0x11
jne 0x775008
cmp byte [esi + 8], 0
mov byte [esi + 0x2ce], 0
jne 0x776ac6
mov eax, edi
cmp al, 1
mov byte [esi + 0xa], 0
jbe 0x775086
mov ebx, 1
movzx esi, al
mov eax, dword [ebp + 8]
movzx ecx, bl
add ebx, 1
movzx edx, byte [eax + 0x2d5]
imul edx, ecx
mov eax, edx
sar edx, 0x1f
idiv esi
mov edx, dword [ebp + 8]
mov byte [edx + ecx + 0xa], al
mov ecx, edi
cmp cl, bl
ja 0x77505f
mov esi, dword [ebp + 8]
mov ebx, edi
movzx edx, bl
movzx eax, byte [esi + 0x2d5]
mov byte [esi + edx + 0xa], al
mov edx, dword [ebp + 8]
cmp byte [edx + 0x2d4], 0
je 0x775170
cmp byte [edx + 9], 0
je 0x776c29
xor edi, edi
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + 3]
cmp al, 2
je 0x7750e3
cmp al, 5
je 0x7750e3
mov ebx, edi
movzx eax, bl
mov edx, eax
shl edx, 5
lea eax, [edx + eax*2 + 0x80]
mov edx, 0x22
lea eax, [ecx + eax + 0xc]
call fcn.00773cf0
mov esi, dword [ebp + 8]
movzx eax, byte [esi + 4]
cmp al, 2
je 0x775111
cmp al, 5
je 0x775111
mov edx, edi
movzx eax, dl
mov edx, eax
shl edx, 5
lea eax, [edx + eax*2 + 0x130]
mov edx, 0x22
lea eax, [esi + eax + 6]
call fcn.00773cf0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + 0x1b]
cmp al, 2
je 0x775152
cmp al, 5
je 0x775152
mov ebx, edi
movzx eax, bl
mov edx, eax
shl edx, 4
lea esi, [edx + eax]
mov edx, 0x11
lea eax, [ecx + esi + 0x1e0]
call fcn.00773cf0
mov edx, dword [ebp + 8]
lea eax, [edx + esi + 0x235]
mov edx, 0x11
call fcn.00773cf0
mov ebx, dword [ebp + 8]
add edi, 1
mov ecx, edi
cmp byte [ebx + 9], cl
ja 0x7750b5
cmp byte [ebx + 0x2d4], 0
jne 0x776c29
mov edi, dword [ebp + 8]
mov dword [edi + 0x2dc], 0xb92bc4
mov dword [edi + 0x2e0], 0xb92be0
mov byte [edi + 0x2d6], 0x16
mov byte [edi + 0x2d7], 0xa
mov byte [edi + 0x2d8], 0x14
mov byte [edi + 0x2da], 3
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 8]
movzx eax, byte [eax + 0x2d5]
mov ecx, dword [ecx + 0x2d0]
mov byte [ebp - 0x6405], al
movzx edx, byte [edx + 0x2d4]
mov dword [ebp - 0x63ac], ecx
test dl, dl
mov byte [ebp - 0x6330], dl
je 0x776aab
add ecx, 4
mov dword [ebp - 0x63f0], ecx
mov byte [ebp - 0x63ea], 5
mov esi, dword [ebp + 0xc]
mov byte [ebp - 0x63e9], 0
mov dword [ebp - 0x6338], 0
add esi, 0xc00
mov dword [ebp - 0x645c], esi
movzx edi, byte [ebp - 0x6338]
mov edx, dword [ebp - 0x63ac]
lea eax, [edi*4]
mov dword [ebp - 0x63e4], eax
mov eax, dword [edx + 0xc]
mov ebx, dword [ebp - 0x63e4]
mov edx, dword [edx + 0x10]
mov edx, dword [edx + ebx]
mov dword [esp + 8], 0x60
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.msvcrt.dll_memcpy
mov esi, dword [ebp - 0x63ac]
movzx ecx, byte [esi]
test cl, cl
je 0x77528b
mov esi, dword [esi + 0xc]
xor ebx, ebx
movzx eax, bl
add ebx, 1
lea ecx, [eax*8]
shl eax, 9
add eax, dword [ebp - 0x645c]
mov edx, dword [eax + edi*8]
mov dword [ecx + esi + 0x60], edx
mov edx, dword [ebp - 0x63ac]
mov eax, dword [eax + edi*8 + 4]
mov dword [ecx + esi + 0x64], eax
movzx ecx, byte [edx]
cmp cl, bl
ja 0x775259
mov ebx, dword [ebp - 0x63ac]
mov esi, dword [ebp - 0x63e4]
mov eax, dword [ebx + 0x10]
mov edx, dword [esi + eax]
movzx eax, cl
shl eax, 3
add eax, dword [ebx + 0xc]
mov dword [esp + 8], 0x60
mov dword [esp], edx
mov dword [esp + 4], eax
call sub.msvcrt.dll_memcpy
add edi, dword [ebp - 0x63f0]
mov dword [ebp - 0x63e8], edi
movzx edx, byte [edi]
cmp dl, 4
je 0x775e2d
ja 0x7753c3
cmp dl, 2
je 0x775c9b
mov ebx, dword [ebp - 0x63ac]
cmp byte [ebx], 0
je 0x77539e
movzx esi, byte [ebp - 0x63e9]
mov byte [ebp - 0x632e], 0
mov dword [ebp - 0x6454], esi
test dl, dl
je 0x775382
mov edi, dword [ebp - 0x63ac]
lea esi, [ebp - 0x4328]
xor ebx, ebx
movzx edx, byte [ebp - 0x632e]
mov edi, dword [edi + 0x14]
mov eax, edx
shl eax, 8
add esi, eax
shl edx, 2
mov dword [ebp - 0x646c], esi
mov dword [ebp - 0x6360], edx
mov dword [ebp - 0x6444], edi
lea esi, [esi]
mov edi, dword [ebp - 0x6454]
movzx eax, bl
add ebx, 1
mov edx, dword [ebp - 0x6360]
lea esi, [eax + edi]
mov edi, dword [ebp - 0x6444]
shl eax, 3
mov ecx, dword [edx + edi]
mov edi, dword [ebp - 0x646c]
mov edx, dword [ecx + eax]
mov dword [edi + esi*8], edx
mov eax, dword [eax + ecx + 4]
mov dword [edi + esi*8 + 4], eax
mov eax, dword [ebp - 0x63e8]
cmp byte [eax], bl
ja 0x775340
movzx edx, byte [eax]
mov ebx, dword [ebp - 0x63ac]
add byte [ebp - 0x632e], 1
movzx ecx, byte [ebp - 0x632e]
cmp byte [ebx], cl
ja 0x775304
add dword [ebp - 0x6338], 1
movzx eax, byte [ebp - 0x6338]
cmp byte [ebp - 0x63ea], al
jbe 0x776052
add byte [ebp - 0x63e9], dl
jmp 0x77520a
cmp dl, 8
je 0x775863
cmp dl, 0xc
nop
jne 0x7752e1
mov ecx, dword [ebp - 0x63ac]
mov ebx, dword [ebp - 0x63ac]
mov ecx, dword [ecx + 0x14]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x6444], ecx
movzx ecx, byte [ebx]
test cl, cl
mov byte [ebp - 0x632f], cl
je 0x77539e
mov edi, eax
mov byte [ebp - 0x63a5], 0
mov dword [ebp - 0x633c], 0xc
mov ebx, edi
mov edx, edi
mov ecx, edi
xor eax, eax
xor esi, esi
jmp 0x775470
fld dword [ebx]
fld dword [edx + 0x60]
fld dword [eax*4 + 0xb92c44]
fld st(2)
fadd st(2)
fmul st(1)
fstp dword [esi + ebp - 0x68]
fld dword [ecx + 4]
fld dword [edx + 0x64]
fld st(1)
fadd st(1)
fmul st(3)
fstp dword [esi + ebp - 0x80]
fxch st(4)
fsubrp st(3)
fxch st(2)
sub edx, 8
add ecx, 8
add ebx, 8
sub esi, 4
fmul st(1)
fstp dword [ebp + eax*4 - 0xc8]
fxch st(1)
fsubrp st(2)
fmulp st(1)
fstp dword [ebp + eax*4 - 0xb0]
add eax, 1
cmp eax, 6
je 0x7754a1
test al, al
jne 0x77541a
fld dword [0xb94d48]
fld dword [edi + 0x30]
fmul st(1)
fstp dword [ebp - 0x80]
fmul dword [edi + 0x34]
fstp dword [ebp - 0x98]
fld dword [ebx]
fld dword [edx + 0x60]
fld dword [eax*4 + 0xb92c44]
fld dword [ecx + 4]
fld dword [edx + 0x64]
fxch st(4)
jmp 0x775442
fld dword [0xb94d38]
xor ecx, ecx
xor ebx, ebx
fmul dword [ebp - 0x74]
fld dword [ebp - 0x80]
fld st(0)
fadd st(2)
fxch st(1)
fsubrp st(2)
fld dword [ebp - 0x7c]
fld dword [ebp - 0x6c]
fld st(1)
fsub st(1)
fmul dword [0xb94d38]
fld dword [ebp - 0x70]
fld dword [0xb94d4c]
fmul dword [ebp - 0x78]
fld dword [0xb94d0c]
fst dword [ebp - 0x642c]
fmul st(2)
faddp st(1)
fld st(0)
fsub st(2)
fstp dword [ebp - 0x63a0]
fxch st(4)
fmul dword [0xb94d50]
fxch st(3)
fmul dword [0xb94d54]
faddp st(3)
fld st(2)
fsub st(2)
fld st(5)
fadd st(4)
fadd st(5)
fstp dword [ebp - 0xe0]
fld st(6)
fadd st(3)
fsub st(2)
fstp dword [ebp - 0xdc]
fld st(0)
fadd st(7)
fsub dword [ebp - 0x63a0]
fstp dword [ebp - 0xd8]
fsubr st(5)
fsub dword [ebp - 0x63a0]
fstp dword [ebp - 0xd4]
fxch st(4)
fsubrp st(1)
fsubrp st(3)
fxch st(2)
fstp dword [ebp - 0xd0]
fxch st(2)
fsubrp st(1)
faddp st(1)
fstp dword [ebp - 0xcc]
fld dword [0xb94d38]
fmul dword [ebp - 0x8c]
fld dword [ebp - 0x98]
fld st(0)
fadd st(2)
fxch st(1)
fsubrp st(2)
fld dword [ebp - 0x94]
fld dword [ebp - 0x84]
fld st(1)
fsub st(1)
fmul dword [0xb94d38]
fld dword [ebp - 0x88]
fld dword [0xb94d4c]
fmul dword [ebp - 0x90]
fld dword [ebp - 0x642c]
fmul st(2)
faddp st(1)
fld st(0)
fsub st(2)
fstp dword [ebp - 0x639c]
fxch st(4)
fmul dword [0xb94d50]
fxch st(3)
fmul dword [0xb94d54]
faddp st(3)
fld st(2)
fsub st(2)
fld st(5)
fadd st(4)
fadd st(5)
fstp dword [ebp - 0xf8]
fld st(6)
fadd st(3)
fsub st(2)
fstp dword [ebp - 0xf4]
fld st(0)
fadd st(7)
fsub dword [ebp - 0x639c]
fstp dword [ebp - 0xf0]
fsubr st(5)
fsub dword [ebp - 0x639c]
fstp dword [ebp - 0xec]
fxch st(4)
fsubrp st(1)
fsubrp st(3)
fxch st(2)
fstp dword [ebp - 0xe8]
fxch st(2)
fsubrp st(1)
faddp st(1)
fstp dword [ebp - 0xe4]
fld dword [0xb94d38]
fmul dword [ebp - 0xa4]
fld dword [ebp - 0xb0]
fld st(0)
fadd st(2)
fxch st(1)
fsubrp st(2)
fld dword [ebp - 0xac]
fld dword [ebp - 0x9c]
fld st(1)
fsub st(1)
fmul dword [0xb94d38]
fld dword [ebp - 0xa0]
fld dword [0xb94d4c]
fmul dword [ebp - 0xa8]
fld dword [ebp - 0x642c]
fmul st(2)
faddp st(1)
fld st(0)
fsub st(2)
fstp dword [ebp - 0x6398]
fxch st(4)
fmul dword [0xb94d50]
fxch st(3)
fmul dword [0xb94d54]
faddp st(3)
fld st(2)
fsub st(2)
fld st(5)
fadd st(4)
fadd st(5)
fstp dword [ebp - 0x110]
fld st(6)
fadd st(3)
fsub st(2)
fstp dword [ebp - 0x10c]
fld st(0)
fadd st(7)
fsub dword [ebp - 0x6398]
fstp dword [ebp - 0x108]
fsubr st(5)
fsub dword [ebp - 0x6398]
fstp dword [ebp - 0x104]
fxch st(4)
fsubrp st(1)
fsubrp st(3)
fxch st(2)
fstp dword [ebp - 0x100]
fxch st(2)
fsubrp st(1)
faddp st(1)
fstp dword [ebp - 0xfc]
fld dword [0xb94d38]
fmul dword [ebp - 0xbc]
fld dword [ebp - 0xc8]
fld st(0)
fadd st(2)
fxch st(1)
fsubrp st(2)
fld dword [ebp - 0xc4]
fld dword [ebp - 0xb4]
fld st(1)
fsub st(1)
fmul dword [0xb94d38]
fld dword [ebp - 0xb8]
fld dword [0xb94d4c]
fmul dword [ebp - 0xc0]
fld dword [ebp - 0x642c]
fmul st(2)
faddp st(1)
fld st(0)
fsub st(2)
fstp dword [ebp - 0x6394]
fxch st(4)
mov eax, dword [ebp - 0x633c]
fmul dword [0xb94d50]
fxch st(3)
mov esi, dword [ebp - 0x6444]
mov edx, dword [esi + eax*4 - 0x30]
fmul dword [0xb94d54]
faddp st(3)
fld st(2)
fsub st(2)
fld st(5)
fadd st(4)
fadd st(5)
fstp dword [ebp - 0x128]
fld st(6)
fadd st(3)
fsub st(2)
fstp dword [ebp - 0x124]
fld st(0)
fadd st(7)
fsub dword [ebp - 0x6394]
fstp dword [ebp - 0x120]
fsubr st(5)
fsub dword [ebp - 0x6394]
fstp dword [ebp - 0x11c]
fxch st(4)
fsubrp st(1)
fsubrp st(3)
fxch st(2)
fstp dword [ebp - 0x118]
fxch st(2)
fsubrp st(1)
faddp st(1)
fstp dword [ebp - 0x114]
fld dword [ebp + ecx*8 - 0xe0]
mov eax, 0x50
fld dword [ebp + ecx*8 - 0x110]
sub eax, ebx
fst dword [ebp - 0x63a4]
fsubr st(1)
fstp dword [ebx + edx]
fld dword [ebp + ecx*8 - 0xf8]
fld dword [ebp + ecx*8 - 0x128]
fld st(1)
fadd st(1)
fstp dword [ebx + edx + 4]
fld dword [ebp + ecx*8 - 0xdc]
fld dword [ebp + ecx*8 - 0x10c]
fld st(1)
fadd st(1)
fstp dword [ebx + edx + 8]
fld dword [ebp + ecx*8 - 0xf4]
fld dword [ebp + ecx*8 - 0x124]
add ecx, 1
fld st(1)
fsub st(1)
fstp dword [ebx + edx + 0xc]
fxch st(3)
fsubrp st(2)
fxch st(1)
fstp dword [eax + edx]
faddp st(1)
fstp dword [eax + edx + 4]
fxch st(2)
mov eax, 0x58
fadd dword [ebp - 0x63a4]
sub eax, ebx
add ebx, 0x10
cmp ecx, 3
fstp dword [eax + edx]
fsubrp st(1)
fstp dword [eax + edx + 4]
jne 0x775799
add byte [ebp - 0x63a5], 1
add edi, 8
movzx eax, byte [ebp - 0x632f]
add dword [ebp - 0x633c], 1
cmp byte [ebp - 0x63a5], al
jne 0x77540e
mov ecx, dword [ebp - 0x63e8]
movzx edx, byte [ecx]
jmp 0x7752e1
mov ecx, dword [ebp - 0x63ac]
mov eax, 0xb92c28
mov esi, 0xb92c0c
mov ebx, dword [ebp - 0x63ac]
mov edi, dword [ebp - 0x63ac]
cmp byte [ebp - 0x6330], 0
mov ecx, dword [ecx + 0x14]
mov ebx, dword [ebx + 0xc]
cmove esi, eax
mov dword [ebp - 0x6444], ecx
mov dword [ebp - 0x646c], ebx
movzx eax, byte [edi]
test al, al
je 0x77539e
lea edx, [esi + 0x18]
sub eax, 1
lea ecx, [esi + 0x14]
movzx eax, al
mov dword [ebp - 0x635c], edx
lea edx, [esi + 4]
add eax, 1
mov dword [ebp - 0x6358], ecx
lea ecx, [esi + 8]
mov dword [ebp - 0x634c], edx
mov edx, dword [ebp - 0x646c]
lea ebx, [esi + 0x10]
mov dword [ebp - 0x6348], ecx
mov ecx, dword [ebp - 0x6444]
lea edi, [esi + 0xc]
mov dword [ebp - 0x6354], ebx
xor ebx, ebx
mov dword [ebp - 0x6350], edi
mov dword [ebp - 0x6458], eax
mov edi, dword [ebp - 0x635c]
mov eax, dword [ebp - 0x6358]
fld dword [edi]
fmul dword [edx + 0x30]
mov edi, dword [ebp - 0x646c]
fst dword [ebp - 0x640c]
fstp dword [ebp - 0x38]
fld dword [eax]
fld dword [edx + 0x28]
fadd dword [edx + 0x38]
mov eax, dword [ebp - 0x6354]
fmul st(1)
fst dword [ebp - 0x6410]
fstp dword [ebp - 0x34]
fld dword [eax]
fld dword [esi]
fld dword [edx + 0x20]
fadd dword [edx + 0x40]
mov eax, dword [ebp - 0x6350]
fmul st(2)
fld dword [edi + ebx*8]
fadd dword [edx + 0x60]
mov edi, dword [ebp - 0x634c]
fmul st(2)
fsubp st(1)
fst dword [ebp - 0x30]
fld dword [eax]
fld dword [edi]
fld dword [edx + 0x18]
fadd dword [edx + 0x48]
fmul st(2)
fld dword [edx + 8]
fadd dword [edx + 0x58]
fmul st(2)
fsubp st(1)
fst dword [ebp - 0x2c]
fld dword [edx + 0x3c]
fsub dword [edx + 0x2c]
fmulp st(7)
fxch st(6)
fst dword [ebp - 0x6414]
fstp dword [ebp - 0x58]
fld dword [edx + 0x64]
fsub dword [edx + 4]
fmulp st(4)
fld dword [edx + 0x44]
fsub dword [edx + 0x24]
fmulp st(5)
fxch st(4)
faddp st(3)
fxch st(2)
fst dword [ebp - 0x6418]
mov eax, dword [ebp - 0x6348]
fstp dword [ebp - 0x54]
fld dword [edx + 0x5c]
fsub dword [edx + 0xc]
fmulp st(3)
fld dword [edx + 0x4c]
fsub dword [edx + 0x1c]
fmulp st(2)
fxch st(2)
faddp st(1)
fst dword [ebp - 0x50]
fld dword [edx + 0x54]
fsub dword [edx + 0x14]
fmul dword [eax]
mov eax, dword [ecx]
add ecx, 4
fst dword [ebp - 0x4c]
fld dword [ebp - 0x640c]
fsub st(1)
fstp dword [ebp - 0x6470]
fld dword [ebp - 0x6410]
fsub st(2)
fld dword [ebp - 0x6414]
fsubr st(5)
fld dword [ebp - 0x6418]
fsubr st(5)
fmul dword [0xb94d38]
fld dword [ebp - 0x6470]
fsub st(1)
fstp dword [ebp - 0x63b4]
fld dword [ebp - 0x6470]
faddp st(1)
fld st(1)
fadd st(3)
fmul dword [0xb94d3c]
fxch st(3)
fmul dword [0xb94d40]
fadd st(3)
fxch st(2)
fmul dword [0xb94d44]
fsubrp st(3)
fld st(0)
fadd st(3)
fstp dword [eax + 0x38]
fld dword [ebp - 0x63b4]
fsub st(2)
fstp dword [eax + 0x28]
fsubrp st(2)
fxch st(1)
fstp dword [eax + 0x18]
fadd dword [ebp - 0x63b4]
fst dword [ebp - 0x63b4]
fstp dword [eax + 8]
fld dword [ebp - 0x640c]
faddp st(1)
fxch st(1)
fadd dword [ebp - 0x6410]
fxch st(3)
fadd dword [ebp - 0x6414]
fxch st(2)
fadd dword [ebp - 0x6418]
fmul dword [0xb94d38]
fld st(1)
fsub st(1)
fxch st(1)
faddp st(2)
fld st(2)
fadd st(4)
fmul dword [0xb94d3c]
fxch st(4)
fmul dword [0xb94d40]
fadd st(4)
fxch st(3)
fmul dword [0xb94d44]
fsubrp st(4)
fld st(0)
fadd st(3)
fstp dword [eax + 0x30]
mov edi, dword [ebp - 0x635c]
fld st(1)
fsub st(4)
fstp dword [eax + 0x20]
fsubrp st(2)
fxch st(1)
fstp dword [eax + 0x10]
faddp st(1)
fstp dword [eax]
fld dword [edi]
fmul dword [edx + 0x34]
mov edi, dword [ebp - 0x6358]
fst dword [ebp - 0x641c]
fstp dword [ebp - 0x68]
fld dword [edi]
fld dword [edx + 0x2c]
fadd dword [edx + 0x3c]
mov edi, dword [ebp - 0x6354]
fmul st(1)
fst dword [ebp - 0x64]
fld dword [edi]
fld dword [esi]
fld dword [edx + 0x24]
fadd dword [edx + 0x44]
mov edi, dword [ebp - 0x6350]
fmul st(2)
fstp dword [ebp - 0x6420]
fld dword [edx + 4]
fadd dword [edx + 0x64]
fmul st(1)
fsubr dword [ebp - 0x6420]
fst dword [ebp - 0x6420]
fstp dword [ebp - 0x60]
fld dword [edi]
mov edi, dword [ebp - 0x634c]
fld dword [edi]
fld dword [edx + 0x1c]
fadd dword [edx + 0x4c]
fmul st(2)
fld dword [edx + 0xc]
fadd dword [edx + 0x5c]
fmul st(2)
fsubp st(1)
fst dword [ebp - 0x5c]
fld dword [edx + 0x38]
fsub dword [edx + 0x28]
fmulp st(7)
fxch st(6)
fst dword [ebp - 0x6424]
mov edi, dword [ebp - 0x646c]
fstp dword [ebp - 0x48]
fld dword [edx + 0x60]
fsub dword [edi + ebx*8]
add ebx, 1
mov edi, dword [ebp - 0x6348]
fmulp st(3)
fld dword [edx + 0x40]
fsub dword [edx + 0x20]
fmulp st(4)
fxch st(3)
faddp st(2)
fxch st(1)
fst dword [ebp - 0x6428]
fst dword [ebp - 0x44]
fld dword [edx + 0x58]
fsub dword [edx + 8]
fmulp st(3)
fld dword [edx + 0x48]
fsub dword [edx + 0x18]
fmulp st(2)
fxch st(2)
faddp st(1)
fst dword [ebp - 0x40]
fld dword [edx + 0x50]
fsub dword [edx + 0x10]
add edx, 8
fmul dword [edi]
fst dword [ebp - 0x3c]
fld dword [ebp - 0x641c]
fadd st(1)
fstp dword [ebp - 0x6474]
fld st(3)
fadd st(2)
fld dword [ebp - 0x6424]
fadd st(6)
fld dword [ebp - 0x6420]
faddp st(5)
fxch st(4)
fmul dword [0xb94d38]
fld dword [ebp - 0x6474]
fsub st(1)
fstp dword [ebp - 0x63b0]
fld dword [ebp - 0x6474]
faddp st(1)
fld st(1)
fadd st(5)
fmul dword [0xb94d3c]
fxch st(2)
fmul dword [0xb94d40]
fadd st(2)
fxch st(5)
fmul dword [0xb94d44]
fsubrp st(2)
fld st(0)
fadd st(2)
fstp dword [eax + 0x3c]
fld dword [ebp - 0x63b0]
fsub st(5)
fstp dword [eax + 0x2c]
fsubrp st(1)
fstp dword [eax + 0x1c]
fxch st(2)
fadd dword [ebp - 0x63b0]
fstp dword [eax + 0xc]
fld dword [ebp - 0x641c]
fsubrp st(2)
cmp ebx, dword [ebp - 0x6458]
fsubp st(2)
fxch st(2)
fsub dword [ebp - 0x6424]
fld dword [ebp - 0x6420]
fsub dword [ebp - 0x6428]
fmul dword [0xb94d38]
fld st(3)
fsub st(1)
fxch st(4)
faddp st(1)
fld st(1)
fadd st(3)
fmul dword [0xb94d3c]
fxch st(3)
fmul dword [0xb94d40]
fadd st(3)
fxch st(2)
fmul dword [0xb94d44]
fsubrp st(3)
fld st(3)
fadd st(2)
fstp dword [eax + 0x34]
fld st(0)
fsub st(3)
fstp dword [eax + 0x24]
fxch st(3)
fsubrp st(1)
fstp dword [eax + 0x14]
faddp st(1)
fstp dword [eax + 4]
jne 0x7758f9
mov eax, dword [ebp - 0x63e8]
movzx edx, byte [eax]
jmp 0x7752e1
mov edi, dword [ebp - 0x63ac]
mov eax, dword [ebp - 0x63ac]
mov edi, dword [edi + 0x14]
mov ebx, dword [eax + 0xc]
mov dword [ebp - 0x6444], edi
movzx eax, byte [eax]
test al, al
je 0x77539e
sub eax, 1
mov edx, ebx
movzx eax, al
xor ecx, ecx
lea esi, [eax + 1]
fld dword [ebx + ecx*8]
fadd dword [edx + 0x60]
fldz
fmul st(1), st(0)
fld dword [edx + 8]
fadd dword [edx + 0x58]
fld dword [0xb94d14]
fmul st(1), st(0)
fxch st(1)
fstp dword [ebp - 0x63c8]
fld dword [edx + 0x10]
fadd dword [edx + 0x50]
fmul st(2)
fstp dword [ebp - 0x63cc]
fld dword [edx + 0x18]
fadd dword [edx + 0x48]
fld dword [0xb94d18]
fmul st(1), st(0)
fxch st(1)
fstp dword [ebp - 0x63d0]
fld dword [edx + 0x20]
fadd dword [edx + 0x40]
fmul st(3)
fstp dword [ebp - 0x63d4]
fld dword [edx + 0x28]
fadd dword [edx + 0x38]
fstp dword [ebp - 0x63d8]
fld dword [0xb94d1c]
fmul dword [ebp - 0x63d8]
fstp dword [ebp - 0x63d8]
fld dword [0xb94d0c]
fmul dword [edx + 0x30]
fstp dword [ebp - 0x63dc]
fld dword [edx + 4]
fadd dword [edx + 0x64]
fmul st(3)
fld dword [edx + 0xc]
fadd dword [edx + 0x5c]
fmulp st(3)
fld dword [edx + 0x14]
fadd dword [edx + 0x54]
fmul st(4)
fld dword [edx + 0x1c]
fadd dword [edx + 0x4c]
fmulp st(3)
fld dword [edx + 0x24]
fadd dword [edx + 0x44]
fmulp st(5)
fld dword [edx + 0x2c]
fadd dword [edx + 0x3c]
fmul dword [0xb94d1c]
fld dword [0xb94d0c]
fmul dword [edx + 0x34]
add edx, 8
fstp dword [ebp - 0x63e0]
mov edi, dword [ebp - 0x6444]
fld dword [ebp - 0x63c8]
fadd st(7)
mov eax, dword [edi + ecx*4]
add ecx, 1
fadd dword [ebp - 0x63cc]
cmp ecx, esi
fadd dword [ebp - 0x63d0]
fadd dword [ebp - 0x63d4]
fadd dword [ebp - 0x63d8]
fadd dword [ebp - 0x63dc]
fstp dword [eax]
fld st(2)
fadd st(5)
fadd st(2)
fadd st(4)
fadd st(6)
fadd st(1)
fadd dword [ebp - 0x63e0]
fstp dword [eax + 4]
fxch st(6)
fsub dword [ebp - 0x63c8]
fadd dword [ebp - 0x63cc]
fsub dword [ebp - 0x63d0]
fadd dword [ebp - 0x63d4]
fsub dword [ebp - 0x63d8]
fadd dword [ebp - 0x63dc]
fstp dword [eax + 8]
fxch st(1)
fsubrp st(3)
faddp st(2)
fsubp st(1)
faddp st(1)
fsubrp st(1)
fadd dword [ebp - 0x63e0]
fstp dword [eax + 0xc]
jne 0x775ccb
mov eax, dword [ebp - 0x63e8]
movzx edx, byte [eax]
jmp 0x7752e1
mov ecx, dword [ebp - 0x63ac]
mov esi, dword [ebp - 0x63ac]
mov ecx, dword [ecx + 0x14]
mov ebx, dword [esi + 0xc]
mov dword [ebp - 0x6444], ecx
movzx eax, byte [esi]
test al, al
je 0x77539e
sub eax, 1
mov edx, ebx
movzx eax, al
xor ecx, ecx
lea esi, [eax + 1]
fld dword [0xb94d08]
fmul dword [edx + 0x30]
fstp dword [ebp - 0x63b8]
fld dword [edx + 0x10]
fadd dword [edx + 0x50]
fldz
fmulp st(1)
fsubr dword [ebp - 0x63b8]
fstp dword [ebp - 0x63b8]
fld dword [edx + 8]
fld dword [edx + 0x18]
fld dword [edx + 0x28]
fst dword [ebp - 0x63bc]
fld dword [edx + 0x58]
fadd st(3)
fmul dword [0xb94d20]
fld dword [edx + 0x48]
fadd st(3)
fmul dword [0xb94d24]
faddp st(1)
fld dword [edx + 0x38]
faddp st(2)
fxch st(1)
fmul dword [0xb94d28]
fsubp st(1)
fmul dword [0xb94d2c]
fld dword [edx + 4]
fsub dword [edx + 0x64]
fld dword [0xb94d30]
fmulp st(1)
fld dword [edx + 0x24]
fsub dword [edx + 0x44]
fmul dword [0xb94d34]
fsubp st(1)
fstp dword [ebp - 0x63c0]
fld dword [edx + 0x1c]
fld dword [edx + 0x2c]
fst dword [ebp - 0x63c4]
fld dword [edx + 0xc]
fsub dword [edx + 0x5c]
fmul dword [0xb94d20]
fld dword [edx + 0x4c]
fsubr st(3)
fmul dword [0xb94d24]
fsubp st(1)
fld dword [edx + 0x3c]
fsubp st(2)
fxch st(1)
fmul dword [0xb94d28]
fsubp st(1)
fmul dword [0xb94d38]
fld dword [ebx + ecx*8]
fsub dword [edx + 0x60]
fmul dword [0xb94d30]
fld dword [edx + 0x20]
fsub dword [edx + 0x40]
fmul dword [0xb94d34]
fsubp st(1)
fxch st(5)
fsub dword [edx + 0x58]
fmul dword [0xb94d20]
fxch st(4)
fsub dword [edx + 0x48]
fmul dword [0xb94d24]
fsubp st(4)
fld dword [ebp - 0x63bc]
fsub dword [edx + 0x38]
fld dword [0xb94d28]
fmulp st(1)
fsubp st(4)
fxch st(3)
fmul dword [0xb94d38]
fld dword [0xb94d08]
fmul dword [edx + 0x34]
fld dword [edx + 0x14]
fadd dword [edx + 0x54]
fldz
fmulp st(1)
fsubp st(1)
fld dword [edx + 0xc]
fadd dword [edx + 0x5c]
fmul dword [0xb94d20]
fxch st(3)
fadd dword [edx + 0x4c]
fmul dword [0xb94d24]
faddp st(3)
fld dword [ebp - 0x63c4]
fadd dword [edx + 0x3c]
add edx, 8
fstp dword [ebp - 0x63c4]
mov edi, dword [ebp - 0x6444]
fld dword [0xb94d28]
fmul dword [ebp - 0x63c4]
mov eax, dword [edi + ecx*4]
add ecx, 1
cmp ecx, esi
fsubp st(3)
fxch st(2)
fmul dword [0xb94d2c]
fld dword [ebp - 0x63b8]
fadd st(4)
fld dword [ebp - 0x63c0]
fadd st(1)
fadd st(6)
fstp dword [eax]
fld st(6)
fchs
fsub st(3)
fadd st(4)
fadd st(2)
fstp dword [eax + 4]
fxch st(4)
fsubr dword [ebp - 0x63b8]
fld dword [ebp - 0x63c0]
fsubr st(1)
fadd st(6)
fstp dword [eax + 8]
fld st(6)
fsub st(3)
fadd st(4)
fsub st(2)
fstp dword [eax + 0xc]
fadd dword [ebp - 0x63c0]
fsub st(5)
fstp dword [eax + 0x10]
fld st(1)
fsub st(6)
fadd st(3)
fsub st(1)
fstp dword [eax + 0x14]
fxch st(3)
fsub dword [ebp - 0x63c0]
fsubrp st(4)
fxch st(3)
fstp dword [eax + 0x18]
fxch st(3)
faddp st(2)
fxch st(2)
faddp st(1)
faddp st(1)
fstp dword [eax + 0x1c]
jne 0x775e5d
mov eax, dword [ebp - 0x63e8]
movzx edx, byte [eax]
jmp 0x7752e1
cmp byte [ebp - 0x6330], 0
jne 0x7760af
cmp byte [ebp - 0x6405], 0
je 0x7760af
lea edx, [ebp - 0x4328]
xor ecx, ecx
fld dword [edx + 0x18]
xor eax, eax
add ecx, 1
fadd dword [edx + 0x20]
mov dword [edx + 0x20], eax
fstp dword [edx + 0x18]
fld dword [edx + 0x1c]
fadd dword [edx + 0x24]
mov dword [edx + 0x24], eax
fstp dword [edx + 0x1c]
fld dword [edx + 0x10]
fadd dword [edx + 0x28]
mov dword [edx + 0x28], eax
fstp dword [edx + 0x10]
fld dword [edx + 0x14]
fadd dword [edx + 0x2c]
mov dword [edx + 0x2c], eax
fstp dword [edx + 0x14]
add edx, 0x100
cmp cl, byte [ebp - 0x6405]
jne 0x77606c
lea eax, [ebp - 0x2328]
mov dword [esp + 8], 0x1100
lea ebx, [ebp - 0x1228]
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov edx, dword [ebp + 8]
mov eax, 0xb92d60
mov dword [ebp - 0x6390], 0xb92c60
cmp byte [edx + 0x2d4], 0
cmovne eax, dword [ebp - 0x6390]
xor ecx, ecx
mov dword [ebp - 0x6390], eax
mov eax, ecx
mov edx, 1
shl eax, 7
lea eax, [eax + ecx*8]
lea eax, [ebx + eax]
mov dword [eax], 0
add eax, 4
add edx, 1
mov dword [eax], 0
add eax, 4
cmp dl, 0x22
jne 0x776114
add ecx, 1
cmp ecx, 0x20
jne 0x7760fb
mov ecx, dword [ebp + 8]
movzx ecx, byte [ecx + 0x2d6]
test cl, cl
mov byte [ebp - 0x6436], cl
je 0x7762a7
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov ebx, dword [ebx + 0x2e0]
mov edx, dword [edx + 0x2dc]
mov dword [ebp - 0x6440], ebx
movzx eax, byte [eax + 0x2d7]
mov dword [ebp - 0x6340], 0
mov dword [ebp - 0x643c], edx
mov byte [ebp - 0x6361], al
mov eax, ecx
sub eax, 1
movzx eax, al
mov dword [ebp - 0x6450], eax
mov ecx, dword [ebp - 0x6340]
movzx eax, byte [ebp - 0x6361]
mov ebx, dword [ebp - 0x6440]
mov byte [ebp - 0x6371], cl
cmp cl, al
movzx edx, byte [ebx + ecx*2]
jae 0x776a85
mov ebx, dword [ebp - 0x643c]
movzx edi, byte [ecx + ebx]
lea eax, [edi + 1]
mov byte [ebp - 0x6329], al
mov eax, edi
cmp byte [ebp - 0x6329], al
jbe 0x77628b
mov ecx, dword [ebp + 8]
movzx edx, dl
mov ebx, dword [ebp + 8]
movzx ecx, byte [ecx + 0xa]
mov byte [ebp - 0x642d], cl
movzx eax, byte [ebx + 9]
movzx esi, byte [ebx + eax + 0xa]
mov dword [ebp - 0x644c], edx
mov eax, esi
cmp byte [ebp - 0x642d], al
jae 0x77627a
movzx ecx, byte [ebp - 0x642d]
mov edx, edi
movzx ebx, dl
jmp 0x776252
movzx eax, cl
shl eax, 9
add eax, dword [ebp + 0xc]
fld dword [eax + ebx*8]
fld dword [eax + ebx*8 + 4]
fxch st(1)
fmul st(0)
fxch st(1)
movzx eax, cl
mov edx, eax
shl edx, 5
add ecx, 1
lea eax, [edx + eax*2]
add eax, dword [ebp - 0x644c]
fmul st(0)
faddp st(1)
fadd dword [ebp + eax*4 - 0x1228]
fstp dword [ebp + eax*4 - 0x1228]
mov eax, esi
cmp al, cl
jbe 0x77627a
movzx eax, byte [ebp - 0x6361]
cmp byte [ebp - 0x6371], al
jae 0x776210
movzx eax, cl
shl eax, 8
lea edx, [ebp - 0x4328]
add eax, edx
fld dword [eax + ebx*8]
fld dword [eax + ebx*8 + 4]
fxch st(1)
jmp 0x776222
add edi, 1
mov edx, edi
cmp byte [ebp - 0x6329], dl
ja 0x7761f3
mov eax, dword [ebp - 0x6450]
add dword [ebp - 0x6340], 1
add eax, 1
cmp dword [ebp - 0x6340], eax
jne 0x77618b
mov ecx, dword [ebp + 8]
cmp byte [ecx + 0x2d8], 0
je 0x77639b
movzx ebx, byte [ecx + 0xa]
xor esi, esi
mov byte [ebp - 0x642d], bl
mov edi, dword [ebp + 8]
movzx ebx, byte [ebp - 0x642d]
movzx eax, byte [edi + 9]
cmp byte [edi + eax + 0xa], bl
jbe 0x776387
mov eax, esi
movzx ecx, al
mov edx, dword [ebp + 8]
movzx eax, bl
fld dword [edx + ecx*4 + 0x4e74]
fmul dword [edx + 0x4e6c]
fst dword [edx + ecx*4 + 0x4e74]
mov edx, eax
shl edx, 5
lea eax, [edx + eax*2]
add eax, ecx
fld dword [ebp + eax*4 - 0x1228]
fucomi st(1)
jbe 0x77631d
fstp st(1)
mov edi, dword [ebp + 8]
fst dword [edi + ecx*4 + 0x4e74]
fld st(0)
mov edx, dword [ebp + 8]
fld dword [edx + ecx*4 + 0x4f84]
fxch st(2)
fsub st(1)
fsub st(2)
fmul dword [edx + 0x4e70]
faddp st(2)
fxch st(1)
fst dword [edx + ecx*4 + 0x4f84]
fld dword [edx + ecx*4 + 0x4efc]
fsub st(2), st(0)
fxch st(2)
fmul dword [edx + 0x4e70]
faddp st(2)
fxch st(1)
fst dword [edx + ecx*4 + 0x4efc]
fld dword [0xb94d58]
fmulp st(2)
fucomi st(1)
jae 0x77693c
fdivrp st(1)
mov edi, dword [ebp + 8]
add ebx, 1
fstp dword [ebp + eax*4 - 0x2328]
movzx eax, byte [edi + 9]
cmp byte [edi + eax + 0xa], bl
ja 0x7762e0
mov edx, dword [ebp + 8]
add esi, 1
mov eax, esi
cmp byte [edx + 0x2d8], al
ja 0x7762c3
cmp byte [ebp - 0x6436], 0
je 0x7769af
mov ecx, dword [ebp + 8]
mov byte [ebp - 0x632d], 0
mov ecx, dword [ecx + 0x2dc]
mov dword [ebp - 0x643c], ecx
mov ebx, dword [ebp + 8]
movzx ebx, byte [ebx + 0x2d7]
cmp byte [ebp - 0x632d], bl
mov byte [ebp - 0x6437], bl
jae 0x776a58
movzx eax, byte [ebp - 0x632d]
mov edx, dword [ebp - 0x643c]
movzx edx, byte [edx + eax]
mov byte [ebp - 0x632c], dl
add edx, 1
mov byte [ebp - 0x6389], dl
movzx edx, byte [ebp - 0x632c]
cmp byte [ebp - 0x6389], dl
jbe 0x776992
movzx ecx, byte [ebp - 0x632d]
add eax, eax
cmp byte [ebp - 0x6437], cl
mov dword [ebp - 0x636c], eax
ja 0x7766f3
mov ebx, dword [ebp + 8]
movzx eax, byte [ebx + 0x2da]
cmp byte [ebp - 0x632c], al
jbe 0x7766f3
sub al, byte [ebp - 0x632c]
cmp al, 0xec
jg 0x776978
fldz
fld dword [0xb94d60]
fmul st(1)
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 8]
fstp dword [ebp - 0x28]
fld dword [0xb94d64]
fmul st(1)
fstp dword [ebp - 0x24]
fmul dword [0xb94d68]
fstp dword [ebp - 0x20]
movzx eax, byte [eax + 0x2e4]
mov byte [ebp - 0x6388], al
movzx eax, byte [edx + 0x2e5]
mov byte [ebp - 0x1b], al
movzx eax, byte [edx + 0x2e6]
mov byte [ebp - 0x1a], al
movzx eax, byte [edx + 0x2e7]
mov byte [ebp - 0x19], al
movzx ecx, byte [edx + 0xa]
mov byte [ebp - 0x632b], cl
movzx eax, byte [edx + 9]
cmp byte [edx + eax + 0xa], cl
jbe 0x7766b6
movzx ebx, byte [ebp - 0x632c]
mov esi, dword [ebp - 0x6390]
mov edi, dword [edx + 0x2e0]
movzx edx, byte [ebp - 0x6437]
cmp byte [ebp - 0x632d], dl
lea esi, [esi + ebx*8]
lea eax, [ebx + ebx*2]
mov dword [ebp - 0x6370], esi
mov dword [ebp - 0x6440], edi
mov dword [ebp - 0x6448], eax
jae 0x776695
movzx ecx, byte [ebp - 0x632b]
lea esi, [ebp - 0x4328]
mov eax, ecx
shl eax, 8
add eax, esi
mov dword [ebp - 0x6368], ecx
mov edx, dword [eax + ebx*8]
mov ecx, dword [eax + ebx*8 + 4]
mov esi, dword [ebp + 8]
movzx eax, byte [ebp - 0x632c]
cmp al, byte [esi + 0x2d9]
jbe 0x776720
movzx eax, byte [ebp - 0x6437]
cmp byte [ebp - 0x632d], al
jb 0x776901
movzx eax, byte [ebx + esi + 0x32b]
shl eax, 6
add eax, ebx
fld dword [esi + eax*8 + 0x36c]
fld dword [esi + eax*8 + 0x370]
fxch st(1)
mov dword [esi + eax*8 + 0x36c], edx
mov dword [esi + eax*8 + 0x370], ecx
lea esi, [esi]
mov eax, dword [ebp - 0x6440]
mov edx, dword [ebp - 0x636c]
mov esi, dword [ebp + 8]
movzx ecx, byte [eax + edx]
movzx eax, byte [ebp - 0x632b]
mov edx, eax
shl edx, 5
lea eax, [edx + eax*2]
add eax, ecx
movzx ecx, byte [ebp - 0x632d]
fld dword [ebp + eax*4 - 0x2328]
fmul st(1), st(0)
cmp cl, byte [esi + 0x2d7]
fmulp st(2)
jae 0x776700
shl dword [ebp - 0x6368], 8
lea eax, [ebp - 0x6328]
add eax, dword [ebp - 0x6368]
fstp dword [eax + ebx*8]
fstp dword [eax + ebx*8 + 4]
add byte [ebp - 0x6388], 1
mov eax, 0
movzx edx, byte [ebp - 0x6388]
cmp byte [ebp - 0x6388], 2
mov esi, dword [ebp + 8]
movzx ecx, byte [ebp - 0x632c]
cmovae edx, eax
mov byte [ebp - 0x6388], dl
cmp cl, byte [esi + 0x2d9]
jbe 0x776633
movzx eax, byte [ebp - 0x632d]
cmp al, byte [esi + 0x2d7]
jb 0x776633
movzx eax, byte [ebx + esi + 0x32b]
add eax, 1
cmp al, byte [ebx + esi + 0x2eb]
mov byte [ebx + esi + 0x32b], al
jb 0x776633
mov byte [ebx + esi + 0x32b], 0
xor edx, edx
movzx eax, byte [edx + ebp - 0x1b]
add eax, 1
mov byte [edx + ebp - 0x1b], al
mov ecx, dword [ebp + 8]
cmp al, byte [edx + ecx + 0x2e8]
jb 0x776652
mov byte [edx + ebp - 0x1b], 0
add edx, 1
cmp edx, 3
jne 0x776635
mov esi, dword [ebp + 8]
add byte [ebp - 0x632b], 1
movzx edx, byte [ebp - 0x632b]
movzx eax, byte [esi + 9]
cmp byte [esi + eax + 0xa], dl
jbe 0x7766b6
movzx ecx, byte [esi + 0x2d7]
mov byte [ebp - 0x6437], cl
movzx edx, byte [ebp - 0x6437]
cmp byte [ebp - 0x632d], dl
jb 0x7764f4
movzx edi, byte [ebp - 0x632b]
mov eax, edi
shl eax, 9
add eax, dword [ebp + 0xc]
mov dword [ebp - 0x6368], edi
mov edx, dword [eax + ebx*8]
mov ecx, dword [eax + ebx*8 + 4]
jmp 0x776515
add byte [ebp - 0x632c], 1
movzx ebx, byte [ebp - 0x632c]
cmp byte [ebp - 0x6389], bl
jbe 0x776992
mov eax, dword [ebp + 8]
movzx ecx, byte [ebp - 0x632d]
movzx eax, byte [eax + 0x2d7]
mov byte [ebp - 0x6437], al
cmp byte [ebp - 0x6437], cl
jbe 0x776428
fld1
jmp 0x77644e
shl dword [ebp - 0x6368], 9
mov eax, dword [ebp + 0x10]
add eax, dword [ebp - 0x6368]
fstp dword [eax + ebx*8]
fstp dword [eax + ebx*8 + 4]
jmp 0x7765cc
movzx eax, byte [ebp - 0x6437]
cmp byte [ebp - 0x632d], al
jb 0x776901
movzx eax, byte [ebp - 0x6388]
mov esi, dword [ebp + 8]
shl eax, 6
add eax, ebx
fld dword [esi + eax*8 + 0x36c]
fld dword [esi + eax*8 + 0x370]
fld dword [ebx*8 + str.CrQ_]
fld dword [ebx*8 + 0xb92dc4]
mov dword [esi + eax*8 + 0x36c], edx
mov dword [esi + eax*8 + 0x370], ecx
lea esi, [esi]
fld st(3)
mov eax, dword [ebp - 0x6448]
fmul st(2)
shl eax, 3
lea edx, [eax + 0xb932c0]
fld st(3)
fmul st(2)
fxch st(4)
mov dword [ebp - 0x646c], edx
xor edx, edx
lea edi, [eax + 0xb92fc0]
mov dword [ebp - 0x6344], edi
lea esi, [eax + 0xb933e0]
fmulp st(3)
fxch st(4)
fmulp st(1)
fsubp st(1)
fxch st(2)
faddp st(1)
movzx ecx, byte [ebp - 0x6437]
cmp byte [ebp - 0x632d], cl
jae 0x776894
movzx ecx, byte [edx + ebp - 0x1b]
lea eax, [edx + edx*4]
mov edi, dword [ebp + 8]
add eax, ecx
shl eax, 5
add eax, ebx
mov dword [ebp - 0x6478], eax
fld dword [edi + eax*8 + 0x3f6c]
cmp byte [edi + 0x2d4], 0
fld dword [edi + eax*8 + 0x3f70]
je 0x7768f1
mov eax, dword [ebp - 0x6344]
fld dword [eax]
fld dword [eax + 4]
fld st(3)
movzx eax, byte [ebp - 0x6437]
fmul st(2)
cmp byte [ebp - 0x632d], al
fld st(3)
fmul st(2)
faddp st(1)
fxch st(2)
fmulp st(3)
fmulp st(3)
fxch st(1)
fsubrp st(2)
fld dword [ebp + edx*4 - 0x28]
fld st(3)
fmul st(1)
fsubp st(2)
fld st(4)
fmul st(1)
fsubp st(3)
fld st(0)
fmul st(2)
faddp st(4)
fmul st(2)
faddp st(4)
jae 0x7768c4
fxch st(2)
lea eax, [edx + edx*4]
add eax, ecx
mov ecx, dword [ebp + 8]
shl eax, 5
add eax, ebx
fstp dword [ecx + eax*8 + 0x3f6c]
fxch st(2)
fstp dword [ecx + eax*8 + 0x3f70]
add edx, 1
add esi, 8
add dword [ebp - 0x6344], 8
add dword [ebp - 0x646c], 8
cmp edx, 3
fld st(0)
fld st(2)
je 0x7768e8
fstp st(3)
fstp st(1)
movzx ecx, byte [ebp - 0x6437]
cmp byte [ebp - 0x632d], cl
jb 0x7767c2
movzx ecx, byte [edx + ebp - 0x1b]
lea eax, [edx + edx*4]
mov edi, dword [ebp + 8]
add eax, ecx
shl eax, 6
add eax, ebx
fld dword [edi + eax*8 + 0x216c]
fld dword [edi + eax*8 + 0x2170]
fld dword [esi]
fld dword [esi + 4]
mov dword [ebp - 0x6478], eax
jmp 0x776800
fxch st(2)
mov edi, dword [ebp + 8]
lea eax, [edx + edx*4]
add eax, ecx
shl eax, 6
add eax, ebx
fstp dword [edi + eax*8 + 0x216c]
fxch st(2)
fstp dword [edi + eax*8 + 0x2170]
jmp 0x776860
fstp st(0)
fstp st(0)
jmp 0x776570
mov edi, dword [ebp - 0x646c]
fld dword [edi]
fld dword [edi + 4]
jmp 0x776800
movzx eax, byte [ebp - 0x6388]
mov esi, dword [ebp + 8]
mov edi, dword [ebp - 0x6370]
shl eax, 5
add eax, ebx
fld dword [esi + eax*8 + 0x1f6c]
fld dword [esi + eax*8 + 0x1f70]
mov dword [esi + eax*8 + 0x1f6c], edx
mov dword [esi + eax*8 + 0x1f70], ecx
fld dword [edi]
fld dword [edi + 4]
jmp 0x776770
fstp st(0)
fstp st(0)
mov edi, dword [ebp + 8]
add ebx, 1
mov dword [ebp + eax*4 - 0x2328], 0x3f800000
movzx eax, byte [edi + 9]
cmp byte [edi + eax + 0xa], bl
ja 0x7762e0
mov edx, dword [ebp + 8]
add esi, 1
mov eax, esi
cmp byte [edx + 0x2d8], al
ja 0x7762c3
jmp 0x77639b
cbw
push eax
fild word [esp]
add esp, 4
fmul dword [0xb94d5c]
fadd dword [0xb94d10]
jmp 0x77644e
mov ecx, dword [ebp + 8]
add byte [ebp - 0x632d], 1
movzx edx, byte [ebp - 0x632d]
cmp byte [ecx + 0x2d6], dl
ja 0x7763be
mov esi, dword [ebp + 8]
lea edi, [ebp - 0x6328]
movzx ebx, byte [ebp - 0x6388]
mov byte [esi + 0x2e4], bl
movzx eax, byte [ebp - 0x1b]
mov byte [esi + 0x2e5], al
movzx eax, byte [ebp - 0x1a]
mov byte [esi + 0x2e6], al
movzx eax, byte [ebp - 0x19]
mov byte [esi + 0x2e7], al
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x4328]
mov edx, dword [ebp + 0xc]
mov dword [esp], eax
mov eax, esi
mov dword [esp + 4], edi
call fcn.00773db0
movzx edx, byte [esi + 0x2d5]
lea ecx, [ebp - 0x4328]
mov eax, dword [esi + 0x2d0]
mov dword [esp + 4], edx
movzx edx, byte [esi + 0x2d4]
mov dword [esp], edx
mov edx, dword [ebp + 0xc]
call fcn.00773970
movzx edx, byte [esi + 0x2d5]
mov ecx, edi
mov eax, dword [esi + 0x2d0]
mov dword [esp + 4], edx
movzx edx, byte [esi + 0x2d4]
mov dword [esp], edx
mov edx, dword [ebp + 0x10]
call fcn.00773970
add esp, 0x648c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
movzx eax, byte [ebp - 0x632d]
mov ecx, dword [ebp - 0x643c]
mov ebx, dword [ebp - 0x643c]
movzx ecx, byte [ecx + eax + 1]
mov byte [ebp - 0x6389], cl
movzx ebx, byte [ebx + eax]
mov byte [ebp - 0x632c], bl
jmp 0x7763fa
mov ebx, dword [ebp - 0x643c]
mov ecx, dword [ebp - 0x6340]
mov esi, dword [ebp - 0x6340]
movzx ecx, byte [ecx + ebx + 1]
mov byte [ebp - 0x6329], cl
movzx edi, byte [esi + ebx]
jmp 0x7761c3
mov ebx, dword [ebp - 0x63ac]
mov byte [ebp - 0x63ea], 3
add ebx, 1
mov dword [ebp - 0x63f0], ebx
jmp 0x7751ea
mov eax, dword [ebp + 8]
mov edx, edi
movzx ecx, dl
mov byte [eax + 0xa], 0
mov esi, dword [ebp + 8]
movzx eax, byte [esi + ecx + 0xa]
cmp al, byte [esi + 0x2d5]
jb 0x776b4e
cmp dl, 1
jbe 0x775099
mov ebx, dword [ebp + 8]
mov esi, 1
movzx eax, byte [ebx + 0x2d5]
movzx edi, byte [ebx + 9]
mov byte [ebp - 0x6435], al
movzx ebx, byte [ebp - 0x6435]
mov ecx, esi
mov eax, dword [ebp + 8]
sub dl, cl
movzx ecx, cl
sub bl, dl
mov edx, ebx
movzx ebx, byte [eax + ecx + 0xa]
movsx eax, dl
cmp ebx, eax
jg 0x776b37
mov eax, dword [ebp + 8]
movzx edx, byte [ecx + eax + 9]
add edx, 1
movsx eax, dl
cmp ebx, eax
jge 0x776b3e
mov ebx, dword [ebp + 8]
mov byte [ebx + ecx + 0xa], dl
add esi, 1
mov edx, edi
mov eax, esi
cmp dl, al
ja 0x776b04
jmp 0x775099
mov eax, ecx
shl eax, 5
lea eax, [eax + ecx*2]
add eax, esi
movzx edx, byte [eax + 0x6a]
mov byte [eax + 0x8c], dl
mov eax, ebx
shl eax, 5
lea eax, [eax + ebx*2]
mov ebx, 1
add eax, esi
movzx edx, byte [eax + 0x114]
mov byte [eax + 0x136], dl
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 9]
mov eax, ecx
shl eax, 5
lea eax, [eax + ecx*2]
add eax, ebx
add ebx, 1
add eax, dword [ebp + 8]
cmp ebx, 0x22
movzx edx, byte [eax + 0x6a]
mov byte [eax + 0x8c], dl
movzx edx, byte [eax + 0x114]
mov byte [eax + 0x136], dl
jne 0x776b7e
mov eax, ecx
shl eax, 4
add eax, ecx
mov ecx, 1
add eax, dword [ebp + 8]
movzx edx, byte [eax + 0x1cf]
mov byte [eax + 0x1e0], dl
movzx edx, byte [eax + 0x224]
mov byte [eax + 0x235], dl
mov ebx, dword [ebp + 8]
movzx edx, byte [ebx + 9]
mov eax, edx
shl eax, 4
add eax, edx
add eax, ecx
add ecx, 1
add eax, ebx
cmp ecx, 0x11
movzx edx, byte [eax + 0x1cf]
mov byte [eax + 0x1e0], dl
movzx edx, byte [eax + 0x224]
mov byte [eax + 0x235], dl
jne 0x776bda
movzx ecx, byte [ebx + 0x2d5]
lea eax, [edi + 1]
movzx edx, al
mov byte [ebx + 9], al
mov byte [ebx + edx + 0xa], cl
mov edx, eax
jmp 0x776ae2
mov esi, dword [ebp + 8]
mov dword [esi + 0x2dc], 0xb92b20
mov dword [esi + 0x2e0], 0xb92b60
mov byte [esi + 0x2d6], 0x32
mov byte [esi + 0x2d7], 0x20
mov byte [esi + 0x2d8], 0x22
mov byte [esi + 0x2da], 5
jmp 0x7751a3
mov esi, dword [ebp + 8]
mov eax, 1
mov byte [esi + 0x8c], 0
mov edi, dword [ebp + 8]
mov byte [eax + edi + 0x8c], 0
add eax, 1
cmp eax, 0x22
jne 0x776c70
jmp 0x774c76
mov esi, dword [ebp + 8]
mov eax, 1
mov byte [esi + 0x1e0], 0
mov byte [esi + 0x235], 0
mov edi, dword [ebp + 8]
mov byte [eax + edi + 0x1e0], 0
mov byte [eax + edi + 0x235], 0
add eax, 1
cmp eax, 0x11
jne 0x776c9e
mov eax, dword [ebp + 8]
movzx edi, byte [eax + 9]
jmp 0x774f78
mov ebx, dword [ebp + 8]
mov eax, 1
mov byte [ebx + 0x136], 0
mov esi, dword [ebp + 8]
mov byte [eax + esi + 0x136], 0
add eax, 1
cmp eax, 0x22
jne 0x776cd4
jmp 0x774cab