Function at 0x98b8ef
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x27c
mov eax, dword [0xa3f0c0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
and dword [ebp - 0x8c], 0
and dword [ebp - 0x88], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x140], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x134], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x134], xmm0
jmp 0x98b94e
movsd xmm0, qword [ebp - 0x134]
addsd xmm0, qword [0xa0d788]
movsd qword [ebp - 0x134], xmm0
movsd xmm0, qword [0xa0e3d8]
comisd xmm0, xmmword [ebp - 0x134]
jbe 0x98b9ff
movsd xmm0, qword [0xa0e228]
mulsd xmm0, qword [ebp - 0x134]
mulsd xmm0, qword [ebp - 0x134]
movsd xmm1, qword [ebp - 0x134]
mulsd xmm1, qword [ebp - 0x134]
subsd xmm0, xmm1
movsd xmm1, qword [0xa0d7f8]
mulsd xmm1, qword [ebp - 0x134]
mulsd xmm1, qword [ebp - 0x134]
addsd xmm1, qword [0xa0e138]
divsd xmm0, xmm1
divps xmm0, xmm1
sal edx, 0xf
pop eax
test eax, eax
addsd xmm0, qword [ebp - 0x140]
movsd qword [ebp - 0x140], xmm0
invalid
push edx
movups xmmword [ebp - 0x140], xmm0
test eax, eax
invalid
movsd xmm0, qword [ebp - 0x140]
movups xmm0, xmmword [ebp - 0x140]
adc byte [ebp - 0x140], al
comisd xmm0, xmmword [0xa0e1c8]
jbe 0x98b9fa
mov al, byte [0xf2247600]
movups xmm0, xmmword [0xa0dfd8]
add byte [esi + 0x24], dh
movsd xmm0, qword [0xa0dfd8]
adc byte [0xa0dfd8], al
mov al, byte [0x590ff200]
test esp, ecx
invalid
mulsd xmm0, qword [ebp - 0x134]
movsd xmm1, qword [ebp - 0x140]
movups xmm1, xmmword [ebp - 0x140]
invalid
subsd xmm1, xmm0
subps xmm1, xmm0
movsd qword [ebp - 0x140], xmm1
invalid
invalid
jmp 0x98b936
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x140]
jbe 0x98bab1
push edi
shl byte [esi + 0xf], 0x2f
test eax, eax
invalid
sar dh, 0xff
dec dword [edi]
xchg byte [ecx + 0x75000000], ah
mov eax, dword [0xa5779d7c]
jne 0x98b9b3
jl 0x98b9b1
ja 0x98b9bb
jns 0x98b9b9
sbb dword [edi - 0x60886286], 0xa4769a74
jnp 0x98b9c1
lcall 0x997e, 0x9d7ba476
jle 0x98b9bf
ja 0x98b9c6
ja 0x98b9c5
jp 0x98b9c6
jbe 0x98b9c6
jp 0x98b9d2
sbb dword [edi - 0x5d84608c], 0x9d82a47d
jle 0x98b9dc
je 0x98b9d3
jnp 0x98b9d8
jge 0x98b9dc
sbb byte [ebp - 0x65855f82], 0x81
mov al, byte [0x9d7fa07b]
jp 0x98b9ec
jp 0x98b9d8
and dword [eax - 0x62805f85], 0xa781a67a
jge 0x98b9ec
and dword [edi - 0x64845d83], 0xa779a47d
jnp 0x98b9e7
jge 0x98b9f2
jns 0x98b9f7
jne 0x98b9ef
js 0x98b9f8
and dword [ecx - 0x58815f82], 0x9b7ea17c
jns 0x98ba00
and byte [esp + esi*2 + 0x739d819d], 0xa5
je 0x98ba06
jp 0x98ba09
and dword [esi + esi*2 + 0x799b74a1], 0x7ca5799f
sahf
sbb byte [ecx - 0x667e628c], 0x79
mov byte [0x98749c82], al
jbe 0x98ba1f
jns 0x98ba28
jnp 0x98ba2c
jle 0x98ba32
jg 0x98ba2c
inc si
dec edx
pop esp
sub edi, dword [edx + 0x79]
xor byte [ebx], dh
sub eax, 0x2762302a
xor ebp, dword [0x2762302a]
inc eax
xor al, byte [edi + 0x2d]
and al, 0x43
bound esi, qword [edx*2 + 0x62357029]
pop esp
pop edx
jno 0x98ba96
mov byte [0xc700001a], al
test dword [edi + edi*8 - 1], esi
call dword [eax]
mov edx, 0x85c70098
js 0x98babe
mov dword [ebp - 0x8c], 0x98ba10
mov dword [ebp - 0x88], 0x98ba8e
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x170], eax
mov byte [ebp - 0xf9], 0x22
and dword [ebp - 0xb0], 0
jmp 0x98bafa
invalid
invalid
mov eax, dword [ebp - 0xb0]
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0x100
jae 0x98bb1b
mov eax, dword [ebp - 0xb0]
mov cl, byte [ebp - 0xb0]
mov byte [ebp + eax - 0x27c], cl
jmp 0x98baed
and dword [ebp - 0x12c], 0
mov byte [ebp - 0x98], 0
mov dword [ebp - 0xb0], 0xff
jmp 0x98bb42
mov eax, dword [ebp - 0xb0]
dec eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jbe 0x98bdc7
and dword [ebp - 0x154], 0
mov dword [ebp - 0x144], 1
mov eax, dword [ebp - 0x144]
cmp eax, dword [ebp - 0xb0]
jae 0x98bb80
mov eax, dword [ebp - 0x144]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x144], eax
jmp 0x98bb60
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0
je 0x98bbc5
sub dword [ebp - 0xdc], 1
je 0x98bbf3
sub dword [ebp - 0xdc], 1
je 0x98bc24
sub dword [ebp - 0xdc], 1
je 0x98bc52
jmp 0x98bc80
movzx eax, byte [ebp - 0x98]
movzx ebx, byte [ebp + eax - 0x27c]
movsd xmm0, qword [ebp - 0x140]
call fcn.00992430
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x98], bl
jmp 0x98bca7
movzx eax, byte [ebp - 0x98]
movzx ebx, byte [ebp + eax - 0x27c]
movsd xmm0, qword [ebp - 0x140]
call fcn.00992430
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x98], bl
jmp 0x98bca7
movzx eax, byte [ebp - 0x98]
movzx ebx, byte [ebp + eax - 0x27c]
movsd xmm0, qword [ebp - 0x140]
call fcn.00992430
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x98], bl
jmp 0x98bca7
movzx eax, byte [ebp - 0x98]
movzx ebx, byte [ebp + eax - 0x27c]
movsd xmm0, qword [ebp - 0x140]
call fcn.00992430
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x98], bl
jmp 0x98bca7
movzx eax, byte [ebp - 0x98]
movzx eax, byte [ebp + eax - 0x27c]
mov ecx, dword [ebp - 0x170]
add ecx, dword [ebp - 0x12c]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x98], al
mov eax, dword [ebp - 0x12c]
inc eax
mov dword [ebp - 0x12c], eax
movzx eax, byte [ebp - 0xf9]
cmp dword [ebp - 0x12c], eax
jb 0x98bce0
and dword [ebp - 0x12c], 0
movzx eax, byte [ebp - 0xf9]
movzx ecx, byte [ebp - 0x98]
add ecx, eax
mov byte [ebp - 0x98], cl
movzx eax, byte [ebp - 0x98]
and eax, dword [ebp - 0x144]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x154]
inc eax
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 0xb
jbe 0x98bd1d
mov eax, dword [ebp - 0x110]
xor edx, edx
div dword [ebp - 0xb0]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0x110]
cmp eax, dword [ebp - 0xb0]
ja 0x98bb80
mov eax, dword [ebp - 0xb0]
cmp eax, dword [ebp - 0x110]
je 0x98bdc2
mov eax, dword [ebp - 0x110]
movzx eax, byte [ebp + eax - 0x27c]
mov ecx, dword [ebp - 0xb0]
movzx ecx, byte [ebp + ecx - 0x27c]
xor ecx, eax
mov eax, dword [ebp - 0xb0]
mov byte [ebp + eax - 0x27c], cl
mov eax, dword [ebp - 0xb0]
movzx eax, byte [ebp + eax - 0x27c]
mov ecx, dword [ebp - 0x110]
movzx ecx, byte [ebp + ecx - 0x27c]
xor ecx, eax
mov eax, dword [ebp - 0x110]
mov byte [ebp + eax - 0x27c], cl
mov eax, dword [ebp - 0x110]
movzx eax, byte [ebp + eax - 0x27c]
mov ecx, dword [ebp - 0xb0]
movzx ecx, byte [ebp + ecx - 0x27c]
xor ecx, eax
mov eax, dword [ebp - 0xb0]
mov byte [ebp + eax - 0x27c], cl
jmp 0x98bb35
xor eax, eax
inc eax
shl eax, 0
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp - 0x91], al
xor eax, eax
inc eax
imul eax, eax, 3
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp - 0x92], al
xor eax, eax
inc eax
imul eax, eax, 5
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp - 0x96], al
xor eax, eax
inc eax
imul eax, eax, 7
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp - 0x93], al
movss xmm0, dword [0xa0eaf4]
movss dword [ebp - 0xa8], xmm0
movss xmm0, dword [0xa0ea68]
movss dword [ebp - 0xbc], xmm0
movss xmm0, dword [0xa0e9c4]
movss dword [ebp - 0xb4], xmm0
movss xmm0, dword [0xa0e928]
movss dword [ebp - 0xa4], xmm0
movss xmm0, dword [ebp - 0xb4]
mulss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0xb4], xmm0
movss xmm0, dword [ebp - 0xa8]
mulss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0xa8], xmm0
movss xmm0, dword [ebp - 0xb4]
addss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0xb4], xmm0
movss xmm0, dword [ebp - 0xbc]
subss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0xbc], xmm0
movss xmm0, dword [ebp - 0xa4]
comiss xmm0, dword [ebp - 0xa8]
jbe 0x98c05d
movss xmm0, dword [ebp - 0xa4]
divss xmm0, dword [ebp - 0xa8]
movss dword [ebp - 0xa4], xmm0
movss xmm0, dword [ebp - 0xa4]
divss xmm0, dword [ebp - 0xa8]
movss dword [ebp - 0xa4], xmm0
movss xmm0, dword [ebp - 0xbc]
mulss xmm0, dword [ebp - 0xb4]
movss dword [ebp - 0xbc], xmm0
movss xmm0, dword [ebp - 0xa4]
subss xmm0, dword [ebp - 0xa8]
movss dword [ebp - 0xa4], xmm0
movss xmm0, dword [ebp - 0xb4]
mulss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0xb4], xmm0
movss xmm0, dword [ebp - 0xa8]
subss xmm0, dword [ebp - 0xbc]
movss dword [ebp - 0xa8], xmm0
movss xmm0, dword [ebp - 0xbc]
divss xmm0, dword [ebp - 0xb4]
movss dword [ebp - 0xbc], xmm0
movss xmm0, dword [ebp - 0xa8]
mulss xmm0, dword [ebp - 0xbc]
movss dword [ebp - 0xa8], xmm0
movss xmm0, dword [ebp - 0xa4]
comiss xmm0, dword [ebp - 0xbc]
jbe 0x98bffb
movss xmm0, dword [ebp - 0xa4]
divss xmm0, dword [ebp - 0xa8]
movss dword [ebp - 0xa4], xmm0
movss xmm0, dword [ebp - 0xb4]
divss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0xb4], xmm0
movss xmm0, dword [ebp - 0xb4]
subss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0xb4], xmm0
movss xmm0, dword [ebp - 0xa8]
divss xmm0, dword [ebp - 0xbc]
movss dword [ebp - 0xa8], xmm0
jmp 0x98c05b
movss xmm0, dword [ebp - 0xb4]
mulss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0xb4], xmm0
movss xmm0, dword [ebp - 0xa4]
divss xmm0, dword [ebp - 0xa8]
movss dword [ebp - 0xa4], xmm0
movss xmm0, dword [ebp - 0xbc]
addss xmm0, dword [ebp - 0xb4]
movss dword [ebp - 0xbc], xmm0
movss xmm0, dword [ebp - 0xa4]
subss xmm0, dword [ebp - 0xa8]
movss dword [ebp - 0xa4], xmm0
jmp 0x98c0d1
movss xmm0, dword [ebp - 0xa8]
mulss xmm0, dword [ebp - 0xb4]
movss dword [ebp - 0xa8], xmm0
movss xmm0, dword [ebp - 0xbc]
subss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0xbc], xmm0
movss xmm0, dword [ebp - 0xa4]
subss xmm0, dword [ebp - 0xbc]
movss dword [ebp - 0xa4], xmm0
movss xmm0, dword [ebp - 0xa8]
mulss xmm0, dword [ebp - 0xb4]
movss dword [ebp - 0xa8], xmm0
movzx eax, byte [ebp - 0x98]
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp - 0x94], al
mov dword [ebp - 0x164], 0x7e
cmp dword [ebp - 0x164], 2
jle 0x98d503
mov eax, dword [ebp - 0x164]
and eax, 1
jne 0x98d503
and dword [ebp - 0xa0], 0
and dword [ebp - 0xac], 0
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xac], eax
and dword [ebp - 0xe0], 0
mov eax, dword [ebp - 0xa0]
shl eax, 1
mov dword [ebp - 0xe0], eax
and dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0xe4]
add eax, dword [ebp - 0xe0]
movzx eax, byte [eax]
add eax, dword [ebp - 0xc4]
mov dword [ebp - 0xc4], eax
and dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0xc8]
add eax, 0x73
mov dword [ebp - 0xc8], eax
and dword [ebp - 0xe8], 0
mov eax, dword [ebp - 0xa0]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xe8], eax
and dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xe4]
add eax, dword [ebp - 0xe8]
movzx eax, byte [eax]
add eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc0], eax
and dword [ebp - 0xcc], 0
mov eax, dword [ebp - 0xcc]
add eax, 0x98
mov dword [ebp - 0xcc], eax
and dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0xc4]
sub eax, dword [ebp - 0xc8]
add eax, dword [ebp - 0xd0]
mov dword [ebp - 0xd0], eax
and dword [ebp - 0xd4], 0
mov eax, dword [ebp - 0xc0]
sub eax, dword [ebp - 0xcc]
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0xd4], eax
and dword [ebp - 0xf0], 0
mov eax, dword [ebp - 0xd0]
shl eax, 4
mov dword [ebp - 0xf0], eax
and dword [ebp - 0xec], 0
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xec], eax
and dword [ebp - 0xd8], 0
mov eax, dword [ebp - 0xf0]
or eax, dword [ebp - 0xec]
mov dword [ebp - 0xd8], eax
mov byte [ebp - 0x97], 0
mov al, byte [ebp - 0xd8]
mov byte [ebp - 0x97], al
mov byte [ebp - 0x95], 0
movzx eax, byte [ebp - 0x94]
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp - 0x95], al
movzx eax, byte [ebp - 0x91]
movzx eax, byte [ebp + eax - 0x27c]
movzx ecx, byte [ebp - 0x92]
add ecx, eax
mov byte [ebp - 0x92], cl
mov al, byte [ebp - 0x91]
add al, 1
mov byte [ebp - 0x91], al
movzx eax, byte [ebp - 0x92]
movzx ecx, byte [ebp - 0x94]
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], al
movzx eax, byte [ebp - 0x93]
movzx ecx, byte [ebp - 0x92]
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], al
movzx eax, byte [ebp - 0x91]
movzx ecx, byte [ebp - 0x93]
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], al
movzx eax, byte [ebp - 0x91]
mov cl, byte [ebp - 0x95]
mov byte [ebp + eax - 0x27c], cl
movzx eax, byte [ebp - 0x95]
movzx eax, byte [ebp + eax - 0x27c]
movzx ecx, byte [ebp - 0x96]
add ecx, eax
mov byte [ebp - 0x96], cl
movzx eax, byte [ebp - 0x97]
movzx ecx, byte [ebp - 0x92]
movzx ecx, byte [ebp + ecx - 0x27c]
movzx edx, byte [ebp - 0x91]
movzx edx, byte [ebp + edx - 0x27c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x27c]
xor eax, ecx
movzx ecx, byte [ebp - 0x93]
movzx ecx, byte [ebp + ecx - 0x27c]
movzx edx, byte [ebp - 0x94]
movzx edx, byte [ebp + edx - 0x27c]
add ecx, edx
movzx edx, byte [ebp - 0x96]
movzx edx, byte [ebp + edx - 0x27c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x27c]
movzx ecx, byte [ebp + ecx - 0x27c]
xor eax, ecx
mov byte [ebp - 0x93], al
mov al, byte [ebp - 0x97]
mov byte [ebp - 0x94], al
mov al, byte [ebp - 0x93]
mov byte [ebp - 0x99], al
cmp dword [ebp - 0xa0], 0
jle 0x98c3cd
movsx ax, byte [ebp - 0x99]
mov ecx, dword [ebp - 0xa0]
mov word [ebp + ecx*2 - 0x86], ax
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xa0]
shl eax, 1
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xe4]
add eax, dword [ebp - 0xe0]
movzx eax, byte [eax]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc8], 0x73
mov eax, dword [ebp - 0xa0]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe4]
add eax, dword [ebp - 0xe8]
movzx eax, byte [eax]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xcc], 0x98
mov eax, dword [ebp - 0xc4]
sub eax, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc0]
sub eax, dword [ebp - 0xcc]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
shl eax, 4
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xf0]
or eax, dword [ebp - 0xec]
mov dword [ebp - 0xd8], eax
mov al, byte [ebp - 0xd8]
mov byte [ebp - 0x97], al
movzx eax, byte [ebp - 0x94]
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp - 0x95], al
movzx eax, byte [ebp - 0x91]
movzx eax, byte [ebp + eax - 0x27c]
movzx ecx, byte [ebp - 0x92]
add ecx, eax
mov byte [ebp - 0x92], cl
mov al, byte [ebp - 0x91]
add al, 1
mov byte [ebp - 0x91], al
movzx eax, byte [ebp - 0x92]
movzx ecx, byte [ebp - 0x94]
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], al
movzx eax, byte [ebp - 0x93]
movzx ecx, byte [ebp - 0x92]
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], al
movzx eax, byte [ebp - 0x91]
movzx ecx, byte [ebp - 0x93]
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], al
movzx eax, byte [ebp - 0x91]
mov cl, byte [ebp - 0x95]
mov byte [ebp + eax - 0x27c], cl
movzx eax, byte [ebp - 0x95]
movzx eax, byte [ebp + eax - 0x27c]
movzx ecx, byte [ebp - 0x96]
add ecx, eax
mov byte [ebp - 0x96], cl
movzx eax, byte [ebp - 0x97]
movzx ecx, byte [ebp - 0x92]
movzx ecx, byte [ebp + ecx - 0x27c]
movzx edx, byte [ebp - 0x91]
movzx edx, byte [ebp + edx - 0x27c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x27c]
xor eax, ecx
movzx ecx, byte [ebp - 0x93]
movzx ecx, byte [ebp + ecx - 0x27c]
movzx edx, byte [ebp - 0x94]
movzx edx, byte [ebp + edx - 0x27c]
add ecx, edx
movzx edx, byte [ebp - 0x96]
movzx edx, byte [ebp + edx - 0x27c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x27c]
movzx ecx, byte [ebp + ecx - 0x27c]
xor eax, ecx
mov byte [ebp - 0x93], al
movsd xmm0, qword [0xa0e6e8]
movsd qword [ebp - 0x10c], xmm0
movsd xmm0, qword [0xa0e5d0]
movsd qword [ebp - 0x120], xmm0
movsd xmm0, qword [0xa0e4d8]
movsd qword [ebp - 0xf8], xmm0
movsd xmm0, qword [0xa0e328]
movsd qword [ebp - 0x118], xmm0
movsd xmm0, qword [ebp - 0x120]
subsd xmm0, qword [ebp - 0x118]
movsd qword [ebp - 0x120], xmm0
movsd xmm0, qword [ebp - 0xf8]
mulsd xmm0, qword [ebp - 0x118]
movsd qword [ebp - 0xf8], xmm0
movsd xmm0, qword [ebp - 0x120]
mulsd xmm0, qword [ebp - 0x118]
movsd qword [ebp - 0x120], xmm0
movsd xmm0, qword [ebp - 0x120]
mulsd xmm0, qword [ebp - 0x118]
movsd qword [ebp - 0x120], xmm0
movsd xmm0, qword [ebp - 0x120]
comisd xmm0, xmmword [ebp - 0x118]
jbe 0x98c70f
movsd xmm0, qword [ebp - 0xf8]
addsd xmm0, qword [ebp - 0x10c]
movsd qword [ebp - 0xf8], xmm0
movsd xmm0, qword [ebp - 0x118]
addsd xmm0, qword [ebp - 0x120]
movsd qword [ebp - 0x118], xmm0
movsd xmm0, qword [ebp - 0xf8]
subsd xmm0, qword [ebp - 0x10c]
movsd qword [ebp - 0xf8], xmm0
movsd xmm0, qword [ebp - 0x118]
subsd xmm0, qword [ebp - 0x120]
movsd qword [ebp - 0x118], xmm0
mov al, byte [ebp - 0x97]
mov byte [ebp - 0x94], al
jmp 0x98c8a3
movsd xmm0, qword [ebp - 0x120]
subsd xmm0, qword [ebp - 0x118]
movsd qword [ebp - 0x120], xmm0
movsd xmm0, qword [ebp - 0xf8]
mulsd xmm0, qword [ebp - 0x10c]
movsd qword [ebp - 0xf8], xmm0
movsd xmm0, qword [ebp - 0xf8]
divsd xmm0, qword [ebp - 0x10c]
movsd qword [ebp - 0xf8], xmm0
movsd xmm0, qword [ebp - 0xf8]
divsd xmm0, qword [ebp - 0x10c]
movsd qword [ebp - 0xf8], xmm0
movsd xmm0, qword [ebp - 0xf8]
mulsd xmm0, qword [ebp - 0x10c]
movsd qword [ebp - 0xf8], xmm0
movsd xmm0, qword [ebp - 0x120]
subsd xmm0, qword [ebp - 0x118]
movsd qword [ebp - 0x120], xmm0
movsd xmm0, qword [ebp - 0x10c]
addsd xmm0, qword [ebp - 0xf8]
movsd qword [ebp - 0x10c], xmm0
movsd xmm0, qword [ebp - 0x10c]
addsd xmm0, qword [ebp - 0xf8]
movsd qword [ebp - 0x10c], xmm0
movsd xmm0, qword [ebp - 0x118]
comisd xmm0, xmmword [ebp - 0x120]
jbe 0x98c843
movsd xmm0, qword [ebp - 0x120]
subsd xmm0, qword [ebp - 0x118]
movsd qword [ebp - 0x120], xmm0
movsd xmm0, qword [ebp - 0xf8]
mulsd xmm0, qword [ebp - 0x10c]
movsd qword [ebp - 0xf8], xmm0
movsd xmm0, qword [ebp - 0x10c]
divsd xmm0, qword [ebp - 0xf8]
movsd qword [ebp - 0x10c], xmm0
movsd xmm0, qword [ebp - 0x10c]
divsd xmm0, qword [ebp - 0xf8]
movsd qword [ebp - 0x10c], xmm0
jmp 0x98c8a3
movsd xmm0, qword [ebp - 0xf8]
mulsd xmm0, qword [ebp - 0x118]
movsd qword [ebp - 0xf8], xmm0
movsd xmm0, qword [ebp - 0xf8]
subsd xmm0, qword [ebp - 0x118]
movsd qword [ebp - 0xf8], xmm0
movsd xmm0, qword [ebp - 0x118]
addsd xmm0, qword [ebp - 0x10c]
movsd qword [ebp - 0x118], xmm0
movsd xmm0, qword [ebp - 0x10c]
mulsd xmm0, qword [ebp - 0x120]
movsd qword [ebp - 0x10c], xmm0
mov al, byte [ebp - 0x93]
mov byte [ebp - 0x99], al
cmp dword [ebp - 0xa0], 0
jle 0x98c8ce
movsx ax, byte [ebp - 0x99]
mov ecx, dword [ebp - 0xa0]
mov word [ebp + ecx*2 - 0x86], ax
mov eax, dword [ebp - 0xac]
add eax, 0x1d
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0x158], eax
jmp 0x98c8f9
mov eax, dword [ebp - 0x158]
inc eax
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x158]
cmp eax, dword [ebp - 0xac]
jge 0x98cb59
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xa0]
shl eax, 1
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xe4]
add eax, dword [ebp - 0xe0]
movzx eax, byte [eax]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc8], 0x73
mov eax, dword [ebp - 0xa0]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe4]
add eax, dword [ebp - 0xe8]
movzx eax, byte [eax]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xcc], 0x98
mov eax, dword [ebp - 0xc4]
sub eax, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc0]
sub eax, dword [ebp - 0xcc]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
shl eax, 4
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xf0]
or eax, dword [ebp - 0xec]
mov dword [ebp - 0xd8], eax
mov al, byte [ebp - 0xd8]
mov byte [ebp - 0x97], al
movzx eax, byte [ebp - 0x94]
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp - 0x95], al
movzx eax, byte [ebp - 0x91]
movzx eax, byte [ebp + eax - 0x27c]
movzx ecx, byte [ebp - 0x92]
add ecx, eax
mov byte [ebp - 0x92], cl
mov al, byte [ebp - 0x91]
add al, 1
mov byte [ebp - 0x91], al
movzx eax, byte [ebp - 0x92]
movzx ecx, byte [ebp - 0x94]
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], al
movzx eax, byte [ebp - 0x93]
movzx ecx, byte [ebp - 0x92]
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], al
movzx eax, byte [ebp - 0x91]
movzx ecx, byte [ebp - 0x93]
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], al
movzx eax, byte [ebp - 0x91]
mov cl, byte [ebp - 0x95]
mov byte [ebp + eax - 0x27c], cl
movzx eax, byte [ebp - 0x95]
movzx eax, byte [ebp + eax - 0x27c]
movzx ecx, byte [ebp - 0x96]
add ecx, eax
mov byte [ebp - 0x96], cl
movzx eax, byte [ebp - 0x97]
movzx ecx, byte [ebp - 0x92]
movzx ecx, byte [ebp + ecx - 0x27c]
movzx edx, byte [ebp - 0x91]
movzx edx, byte [ebp + edx - 0x27c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x27c]
xor eax, ecx
movzx ecx, byte [ebp - 0x93]
movzx ecx, byte [ebp + ecx - 0x27c]
movzx edx, byte [ebp - 0x94]
movzx edx, byte [ebp + edx - 0x27c]
add ecx, edx
movzx edx, byte [ebp - 0x96]
movzx edx, byte [ebp + edx - 0x27c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x27c]
movzx ecx, byte [ebp + ecx - 0x27c]
xor eax, ecx
mov byte [ebp - 0x93], al
mov al, byte [ebp - 0x97]
mov byte [ebp - 0x94], al
mov al, byte [ebp - 0x93]
mov byte [ebp - 0x99], al
cmp dword [ebp - 0xa0], 0
jle 0x98cb54
movsx ax, byte [ebp - 0x99]
mov ecx, dword [ebp - 0xa0]
mov word [ebp + ecx*2 - 0x86], ax
jmp 0x98c8ec
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xa0]
shl eax, 1
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xe4]
add eax, dword [ebp - 0xe0]
movzx eax, byte [eax]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc8], 0x73
mov eax, dword [ebp - 0xa0]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe4]
add eax, dword [ebp - 0xe8]
movzx eax, byte [eax]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xcc], 0x98
mov eax, dword [ebp - 0xc4]
sub eax, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc0]
sub eax, dword [ebp - 0xcc]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
shl eax, 4
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xf0]
or eax, dword [ebp - 0xec]
mov dword [ebp - 0xd8], eax
mov al, byte [ebp - 0xd8]
mov byte [ebp - 0x97], al
movzx eax, byte [ebp - 0x94]
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp - 0x95], al
movzx eax, byte [ebp - 0x91]
movzx eax, byte [ebp + eax - 0x27c]
movzx ecx, byte [ebp - 0x92]
add ecx, eax
mov byte [ebp - 0x92], cl
mov al, byte [ebp - 0x91]
add al, 1
mov byte [ebp - 0x91], al
movzx eax, byte [ebp - 0x92]
movzx ecx, byte [ebp - 0x94]
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], al
movzx eax, byte [ebp - 0x93]
movzx ecx, byte [ebp - 0x92]
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], al
movzx eax, byte [ebp - 0x91]
movzx ecx, byte [ebp - 0x93]
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], al
movzx eax, byte [ebp - 0x91]
mov cl, byte [ebp - 0x95]
mov byte [ebp + eax - 0x27c], cl
movzx eax, byte [ebp - 0x95]
movzx eax, byte [ebp + eax - 0x27c]
movzx ecx, byte [ebp - 0x96]
add ecx, eax
mov byte [ebp - 0x96], cl
movzx eax, byte [ebp - 0x97]
movzx ecx, byte [ebp - 0x92]
movzx ecx, byte [ebp + ecx - 0x27c]
movzx edx, byte [ebp - 0x91]
movzx edx, byte [ebp + edx - 0x27c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x27c]
xor eax, ecx
movzx ecx, byte [ebp - 0x93]
movzx ecx, byte [ebp + ecx - 0x27c]
movzx edx, byte [ebp - 0x94]
movzx edx, byte [ebp + edx - 0x27c]
add ecx, edx
movzx edx, byte [ebp - 0x96]
movzx edx, byte [ebp + edx - 0x27c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x27c]
movzx ecx, byte [ebp + ecx - 0x27c]
xor eax, ecx
mov byte [ebp - 0x93], al
mov al, byte [ebp - 0x97]
mov byte [ebp - 0x94], al
mov al, byte [ebp - 0x93]
mov byte [ebp - 0x99], al
cmp dword [ebp - 0xa0], 0
jle 0x98cdbc
movsx ax, byte [ebp - 0x99]
mov ecx, dword [ebp - 0xa0]
mov word [ebp + ecx*2 - 0x86], ax
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xa0]
shl eax, 1
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xe4]
add eax, dword [ebp - 0xe0]
movzx eax, byte [eax]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc8], 0x73
mov eax, dword [ebp - 0xa0]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe4]
add eax, dword [ebp - 0xe8]
movzx eax, byte [eax]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xcc], 0x98
mov eax, dword [ebp - 0xc4]
sub eax, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], eax
movss xmm0, dword [0xa0eb28]
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [0xa0ead8]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [0xa0ea70]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [0xa0e9ec]
movss dword [ebp - 0x128], xmm0
movss xmm0, dword [0xa0e970]
movss dword [ebp - 0x148], xmm0
movss xmm0, dword [0xa0e8f0]
movss dword [ebp - 0xb8], xmm0
movss xmm0, dword [ebp - 0x100]
mulss xmm0, dword [ebp - 0xb8]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0x104]
mulss xmm0, dword [ebp - 0xb8]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x148]
mulss xmm0, dword [ebp - 0xb8]
movss dword [ebp - 0x148], xmm0
movss xmm0, dword [ebp - 0x100]
subss xmm0, dword [ebp - 0xb8]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0x104]
addss xmm0, dword [ebp - 0xb8]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x104]
mulss xmm0, dword [ebp - 0xb8]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0x104]
comiss xmm0, dword [ebp - 0xb8]
jbe 0x98cff0
movss xmm0, dword [ebp - 0x104]
subss xmm0, dword [ebp - 0x100]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0xb8]
addss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0xb8], xmm0
movss xmm0, dword [ebp - 0xb8]
mulss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0xb8], xmm0
movss xmm0, dword [ebp - 0x128]
addss xmm0, dword [ebp - 0x148]
movss dword [ebp - 0x128], xmm0
movss xmm0, dword [ebp - 0x100]
addss xmm0, dword [ebp - 0x128]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0x124]
subss xmm0, dword [ebp - 0x104]
movss dword [ebp - 0x124], xmm0
mov eax, dword [ebp - 0xc0]
sub eax, dword [ebp - 0xcc]
mov dword [ebp - 0xd4], eax
jmp 0x98d080
movss xmm0, dword [ebp - 0xb8]
subss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0xb8], xmm0
movss xmm0, dword [ebp - 0x128]
addss xmm0, dword [ebp - 0x148]
movss dword [ebp - 0x128], xmm0
movss xmm0, dword [ebp - 0x100]
subss xmm0, dword [ebp - 0x128]
movss dword [ebp - 0x100], xmm0
movss xmm0, dword [ebp - 0xb8]
mulss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0xb8], xmm0
movss xmm0, dword [ebp - 0xb8]
subss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0xb8], xmm0
movss xmm0, dword [ebp - 0x100]
mulss xmm0, dword [ebp - 0x128]
movss dword [ebp - 0x100], xmm0
mov eax, dword [ebp - 0xd0]
shl eax, 4
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xf0]
or eax, dword [ebp - 0xec]
mov dword [ebp - 0xd8], eax
mov al, byte [ebp - 0xd8]
mov byte [ebp - 0x97], al
movzx eax, byte [ebp - 0x94]
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp - 0x95], al
movzx eax, byte [ebp - 0x91]
movzx eax, byte [ebp + eax - 0x27c]
movzx ecx, byte [ebp - 0x92]
add ecx, eax
mov byte [ebp - 0x92], cl
mov al, byte [ebp - 0x91]
add al, 1
mov byte [ebp - 0x91], al
movzx eax, byte [ebp - 0x92]
movzx ecx, byte [ebp - 0x94]
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], al
movzx eax, byte [ebp - 0x93]
movzx ecx, byte [ebp - 0x92]
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], al
movzx eax, byte [ebp - 0x91]
movzx ecx, byte [ebp - 0x93]
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], al
movzx eax, byte [ebp - 0x91]
mov cl, byte [ebp - 0x95]
mov byte [ebp + eax - 0x27c], cl
movzx eax, byte [ebp - 0x95]
movzx eax, byte [ebp + eax - 0x27c]
movzx ecx, byte [ebp - 0x96]
add ecx, eax
mov byte [ebp - 0x96], cl
movzx eax, byte [ebp - 0x97]
movzx ecx, byte [ebp - 0x92]
movzx ecx, byte [ebp + ecx - 0x27c]
movzx edx, byte [ebp - 0x91]
movzx edx, byte [ebp + edx - 0x27c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x27c]
xor eax, ecx
movzx ecx, byte [ebp - 0x93]
movzx ecx, byte [ebp + ecx - 0x27c]
movzx edx, byte [ebp - 0x94]
movzx edx, byte [ebp + edx - 0x27c]
add ecx, edx
movzx edx, byte [ebp - 0x96]
movzx edx, byte [ebp + edx - 0x27c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x27c]
movzx ecx, byte [ebp + ecx - 0x27c]
xor eax, ecx
mov byte [ebp - 0x93], al
mov al, byte [ebp - 0x97]
mov byte [ebp - 0x94], al
mov al, byte [ebp - 0x93]
mov byte [ebp - 0x99], al
cmp dword [ebp - 0xa0], 0
jle 0x98d23c
movsx ax, byte [ebp - 0x99]
mov ecx, dword [ebp - 0xa0]
mov word [ebp + ecx*2 - 0x86], ax
mov eax, dword [ebp - 0xac]
add eax, 0x1e
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0x15c], eax
jmp 0x98d267
mov eax, dword [ebp - 0x15c]
inc eax
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x15c]
cmp eax, dword [ebp - 0xac]
jge 0x98d4c7
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xa0]
shl eax, 1
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xe4]
add eax, dword [ebp - 0xe0]
movzx eax, byte [eax]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc8], 0x73
mov eax, dword [ebp - 0xa0]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe4]
add eax, dword [ebp - 0xe8]
movzx eax, byte [eax]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xcc], 0x98
mov eax, dword [ebp - 0xc4]
sub eax, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc0]
sub eax, dword [ebp - 0xcc]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
shl eax, 4
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xf0]
or eax, dword [ebp - 0xec]
mov dword [ebp - 0xd8], eax
mov al, byte [ebp - 0xd8]
mov byte [ebp - 0x97], al
movzx eax, byte [ebp - 0x94]
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp - 0x95], al
movzx eax, byte [ebp - 0x91]
movzx eax, byte [ebp + eax - 0x27c]
movzx ecx, byte [ebp - 0x92]
add ecx, eax
mov byte [ebp - 0x92], cl
mov al, byte [ebp - 0x91]
add al, 1
mov byte [ebp - 0x91], al
movzx eax, byte [ebp - 0x92]
movzx ecx, byte [ebp - 0x94]
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], al
movzx eax, byte [ebp - 0x93]
movzx ecx, byte [ebp - 0x92]
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], al
movzx eax, byte [ebp - 0x91]
movzx ecx, byte [ebp - 0x93]
mov al, byte [ebp + eax - 0x27c]
mov byte [ebp + ecx - 0x27c], al
movzx eax, byte [ebp - 0x91]
mov cl, byte [ebp - 0x95]
mov byte [ebp + eax - 0x27c], cl
movzx eax, byte [ebp - 0x95]
movzx eax, byte [ebp + eax - 0x27c]
movzx ecx, byte [ebp - 0x96]
add ecx, eax
mov byte [ebp - 0x96], cl
movzx eax, byte [ebp - 0x97]
movzx ecx, byte [ebp - 0x92]
movzx ecx, byte [ebp + ecx - 0x27c]
movzx edx, byte [ebp - 0x91]
movzx edx, byte [ebp + edx - 0x27c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x27c]
xor eax, ecx
movzx ecx, byte [ebp - 0x93]
movzx ecx, byte [ebp + ecx - 0x27c]
movzx edx, byte [ebp - 0x94]
movzx edx, byte [ebp + edx - 0x27c]
add ecx, edx
movzx edx, byte [ebp - 0x96]
movzx edx, byte [ebp + edx - 0x27c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x27c]
movzx ecx, byte [ebp + ecx - 0x27c]
xor eax, ecx
mov byte [ebp - 0x93], al
mov al, byte [ebp - 0x97]
mov byte [ebp - 0x94], al
mov al, byte [ebp - 0x93]
mov byte [ebp - 0x99], al
cmp dword [ebp - 0xa0], 0
jle 0x98d4c2
movsx ax, byte [ebp - 0x99]
mov ecx, dword [ebp - 0xa0]
mov word [ebp + ecx*2 - 0x86], ax
jmp 0x98d25a
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xac], eax
push 2
pop eax
imul eax, eax, 0x3e
mov dword [ebp - 0x168], eax
cmp dword [ebp - 0x168], 0x7e
jae 0x98d4eb
jmp 0x98d4f1
call fcn.00992258
nop
xor eax, eax
mov ecx, dword [ebp - 0x168]
mov word [ebp + ecx - 0x84], ax
jmp 0x98d553
and dword [ebp - 0x14c], 0
jmp 0x98d519
mov eax, dword [ebp - 0x14c]
inc eax
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 0x3f
jge 0x98d553
mov eax, dword [ebp - 0x14c]
shl eax, 1
mov dword [ebp - 0x16c], eax
cmp dword [ebp - 0x16c], 0x7e
jae 0x98d53b
jmp 0x98d541
call fcn.00992258
nop
xor eax, eax
mov ecx, dword [ebp - 0x16c]
mov word [ebp + ecx - 0x84], ax
jmp 0x98d50c
and dword [ebp - 0x150], 0
jmp 0x98d569
mov eax, dword [ebp - 0x150]
inc eax
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x150]
cmp eax, dword [ebp + 0xc]
jge 0x98d600
lea eax, [ebp - 0x90]
push eax
call fcn.009ed9a2
pop ecx
lea eax, [ebp - 0x84]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x138]
add eax, 2
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x138]
mov ax, word [eax]
mov word [ebp - 0x15e], ax
add dword [ebp - 0x138], 2
cmp word [ebp - 0x15e], 0
jne 0x98d5a0
mov eax, dword [ebp - 0x138]
sub eax, dword [ebp - 0x174]
sar eax, 1
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x178]
dec ecx
mov eax, dword [ebp - 0x90]
xor edx, edx
div ecx
mov eax, dword [ebp - 0x150]
mov ecx, dword [ebp + 8]
mov dx, word [ebp + edx*2 - 0x84]
mov word [ecx + eax*2], dx
jmp 0x98d55c
xor eax, eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov word [edx + ecx*2], ax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00991d25
leave
ret