Function at 0x4a03a0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c
mov eax, dword [0x93d814]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x949344], 1
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x68], esi
jne 0x4a03dd
push dword [ebp + 0xc]
push esi
call fcn.004fddc0
add esp, 8
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005c33e1
mov esp, ebp
pop ebp
ret
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push esi
mov dword [ebp - 8], 0
call fcn.004acea0
add esp, 0x14
test eax, eax
jns 0x4a040b
or eax, 0xffffffff
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005c33e1
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x68]
movss xmm0, dword [esi + 0x20]
mulss xmm0, dword [0x6bd304]
push ebx
mov ebx, dword [esi + 0x8e0]
mov edx, dword [eax + 0x30]
sub edx, dword [eax + 0x28]
mov eax, dword [eax + 0x34]
push edi
mov edi, dword [esi + 0x4a0]
mov esi, dword [esi + 0xd20]
mov dword [ebp - 0x30], esi
mov esi, dword [ebp - 0x68]
mov dword [ebp - 0x58], edx
cvttss2si ecx, xmm0
mov dword [ebp - 0x2c], edi
sub eax, dword [esi + 0x2c]
mov dword [ebp - 0x3c], eax
lea eax, [edx*4]
mov edx, esi
mov dword [ebp - 0x28], ebx
mov edx, dword [edx + 0x49c]
sub edx, eax
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x5c], edx
mov edx, esi
mov edx, dword [edx + 0xd1c]
sub edx, eax
mov eax, esi
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x60], edx
mov eax, dword [eax + 0xc]
cmp eax, 0x21
ja case.0x4a0486.1
jmp dword [eax*4 + 0x4a2f64]
cmp dword [ebp + 0xc], 0
jne case.0x4a0486.17
nop word [eax + eax]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x38], eax
movzx edx, byte [ebx + 3]
movzx eax, byte [edi]
imul edx, ecx
movzx ecx, byte [ebx]
sub ecx, eax
shl eax, 0x10
imul ecx, edx
add ecx, eax
sar ecx, 0x10
mov byte [esi], cl
movzx eax, byte [edi + 1]
movzx ecx, byte [ebx + 1]
sub ecx, eax
shl eax, 0x10
imul ecx, edx
add ecx, eax
sar ecx, 0x10
mov byte [esi + 1], cl
movzx eax, byte [edi + 2]
movzx ecx, byte [ebx + 2]
add ebx, 4
sub ecx, eax
shl eax, 0x10
imul ecx, edx
add ecx, eax
sar ecx, 0x10
mov byte [esi + 2], cl
mov al, byte [edi + 3]
add edi, 4
mov ecx, dword [ebp - 0x48]
mov byte [esi + 3], al
add esi, 4
sub dword [ebp - 0x38], 1
jne 0x4a04a6
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
sub dword [ebp - 0x3c], 1
jne 0x4a04a0
jmp case.0x4a0486.1
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x38], eax
movzx esi, byte [ebx + 3]
movzx ebx, byte [edi + 3]
mov eax, esi
imul eax, ecx
mov dword [ebp - 0x34], eax
movzx eax, byte [edi]
shl eax, 8
movzx edx, byte [eax + ebx + 0x96e5ac]
movzx eax, byte [edi + 1]
shl eax, 8
movzx edi, byte [eax + ebx + 0x96e5ac]
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax + 2]
shl eax, 8
movzx eax, byte [eax + ebx + 0x96e5ac]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax + 1]
shl eax, 8
movzx ecx, byte [eax + esi + 0x96e5ac]
mov eax, dword [ebp - 0x28]
sub ecx, edi
shl edi, 0x10
movzx eax, byte [eax + 2]
shl eax, 8
movzx eax, byte [eax + esi + 0x96e5ac]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax]
shl eax, 8
movzx eax, byte [eax + esi + 0x96e5ac]
mov esi, dword [ebp - 0x34]
sub eax, edx
imul eax, esi
imul ecx, esi
shl edx, 0x10
add eax, edx
mov edx, dword [ebp - 0x30]
sar eax, 0x10
add ecx, edi
mov edi, dword [ebp - 0x2c]
movzx eax, al
shl eax, 8
sar ecx, 0x10
movzx ecx, cl
shl ecx, 8
movzx eax, byte [eax + ebx + 0x95e5ac]
mov byte [edx], al
movzx eax, byte [edi + 3]
mov ebx, dword [ebp - 0x28]
add ebx, 4
mov dword [ebp - 0x28], ebx
movzx eax, byte [ecx + eax + 0x95e5ac]
mov ecx, dword [ebp - 0x40]
mov byte [edx + 1], al
mov eax, dword [ebp - 0x44]
sub eax, ecx
shl ecx, 0x10
imul eax, esi
mov esi, edx
add eax, ecx
sar eax, 0x10
movzx ecx, al
movzx eax, byte [edi + 3]
shl ecx, 8
movzx eax, byte [ecx + eax + 0x95e5ac]
mov ecx, dword [ebp - 0x48]
mov byte [esi + 2], al
movzx eax, byte [edi + 3]
add edi, 4
mov byte [esi + 3], al
add esi, 4
sub dword [ebp - 0x38], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], esi
jne 0x4a0526
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
sub dword [ebp - 0x3c], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], esi
jne case.0x4a0486.17
jmp case.0x4a0486.1
cmp dword [ebp + 0xc], 0
jne case.0x4a0486.19
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x38], eax
nop dword [eax]
movzx esi, byte [ebx + 3]
movzx edx, byte [ebx + 1]
movzx ebx, byte [ebx + 2]
movzx eax, byte [edi + 1]
imul esi, ecx
mov ecx, dword [ebp - 0x28]
imul edx, eax
movzx eax, byte [edi + 2]
imul ebx, eax
movzx ecx, byte [ecx]
movzx eax, byte [edi]
imul ecx, eax
shr edx, 8
shr ebx, 8
shr ecx, 8
sub ecx, eax
shl eax, 0x10
imul ecx, esi
add ecx, eax
mov eax, dword [ebp - 0x30]
sar ecx, 0x10
mov byte [eax], cl
movzx eax, byte [edi + 1]
sub edx, eax
mov ecx, dword [ebp - 0x48]
imul edx, esi
shl eax, 0x10
add edx, eax
mov eax, dword [ebp - 0x30]
sar edx, 0x10
mov byte [eax + 1], dl
movzx eax, byte [edi + 2]
sub ebx, eax
shl eax, 0x10
imul ebx, esi
mov esi, dword [ebp - 0x30]
add ebx, eax
sar ebx, 0x10
mov byte [esi + 2], bl
mov al, byte [edi + 3]
add edi, 4
mov ebx, dword [ebp - 0x28]
mov byte [esi + 3], al
add ebx, 4
add esi, 4
mov dword [ebp - 0x28], ebx
sub dword [ebp - 0x38], 1
mov dword [ebp - 0x30], esi
jne 0x4a0670
add ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
add edi, dword [ebp - 0x5c]
sub dword [ebp - 0x3c], 1
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], esi
jne 0x4a0666
jmp case.0x4a0486.1
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x40], eax
nop dword [eax + eax]
movzx esi, byte [ebx + 3]
mov eax, esi
imul eax, ecx
movzx ecx, byte [edi + 3]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x34], eax
movzx eax, byte [edi]
shl eax, 8
movzx edx, byte [eax + ecx + 0x96e5ac]
movzx eax, byte [edi + 1]
shl eax, 8
movzx edi, byte [eax + ecx + 0x96e5ac]
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax + 2]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov dword [ebp - 0x38], eax
movzx eax, byte [ebx + 1]
shl eax, 8
movzx ecx, byte [eax + esi + 0x96e5ac]
movzx eax, byte [ebx + 2]
shl eax, 8
imul ecx, edi
movzx ebx, byte [eax + esi + 0x96e5ac]
mov eax, dword [ebp - 0x28]
imul ebx, dword [ebp - 0x38]
shr ecx, 8
sub ecx, edi
shl edi, 0x10
movzx eax, byte [eax]
shl eax, 8
shr ebx, 8
movzx eax, byte [eax + esi + 0x96e5ac]
mov esi, dword [ebp - 0x34]
imul eax, edx
imul ecx, esi
shr eax, 8
sub eax, edx
add ecx, edi
mov edi, dword [ebp - 0x2c]
imul eax, esi
shl edx, 0x10
sar ecx, 0x10
movzx ecx, cl
shl ecx, 8
add eax, edx
mov edx, dword [ebp - 0x44]
sar eax, 0x10
movzx eax, al
shl eax, 8
movzx eax, byte [eax + edx + 0x95e5ac]
mov edx, dword [ebp - 0x30]
mov byte [edx], al
movzx eax, byte [edi + 3]
movzx eax, byte [ecx + eax + 0x95e5ac]
mov byte [edx + 1], al
mov eax, dword [ebp - 0x38]
sub ebx, eax
imul ebx, esi
mov esi, edx
shl eax, 0x10
add ebx, eax
movzx eax, byte [edi + 3]
sar ebx, 0x10
movzx ecx, bl
mov ebx, dword [ebp - 0x28]
shl ecx, 8
add ebx, 4
mov dword [ebp - 0x28], ebx
movzx eax, byte [ecx + eax + 0x95e5ac]
mov ecx, dword [ebp - 0x48]
mov byte [esi + 2], al
movzx eax, byte [edi + 3]
add edi, 4
mov byte [esi + 3], al
add esi, 4
sub dword [ebp - 0x40], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], esi
jne 0x4a0730
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
sub dword [ebp - 0x3c], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], esi
jne case.0x4a0486.19
jmp case.0x4a0486.1
cmp dword [ebp + 0xc], 0
jne case.0x4a0486.20
nop dword [eax]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x38], eax
movzx edx, byte [edi]
movzx ebx, byte [ebx + 3]
mov esi, dword [ebp - 0x28]
imul ebx, ecx
mov ecx, edx
movzx eax, byte [esi]
sub ecx, eax
movzx eax, byte [esi + 1]
movzx esi, byte [edi + 1]
movzx edi, byte [edi + 2]
sub esi, eax
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax + 2]
sub edi, eax
xor eax, eax
test ecx, ecx
cmovns eax, ecx
mov ecx, dword [ebp - 0x30]
sub eax, edx
shl edx, 0x10
imul eax, ebx
add eax, edx
mov edx, dword [ebp - 0x2c]
sar eax, 0x10
mov byte [ecx], al
xor ecx, ecx
test esi, esi
movzx eax, byte [edx + 1]
cmovns ecx, esi
mov esi, dword [ebp - 0x30]
sub ecx, eax
shl eax, 0x10
imul ecx, ebx
add ecx, eax
sar ecx, 0x10
mov byte [esi + 1], cl
xor ecx, ecx
movzx eax, byte [edx + 2]
test edi, edi
cmovns ecx, edi
mov edi, edx
sub ecx, eax
shl eax, 0x10
imul ecx, ebx
mov ebx, dword [ebp - 0x28]
add ebx, 4
mov dword [ebp - 0x28], ebx
add ecx, eax
sar ecx, 0x10
mov byte [esi + 2], cl
mov al, byte [edi + 3]
add edi, 4
mov ecx, dword [ebp - 0x48]
mov byte [esi + 3], al
add esi, 4
sub dword [ebp - 0x38], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], esi
jne 0x4a0886
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
sub dword [ebp - 0x3c], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], esi
jne 0x4a0880
jmp case.0x4a0486.1
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x54], eax
nop word [eax + eax]
movzx esi, byte [ebx + 3]
movzx ebx, byte [edi + 3]
mov eax, esi
imul eax, ecx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
movzx eax, byte [edi]
shl eax, 8
movzx edi, byte [eax + ebx + 0x96e5ac]
movzx eax, byte [ecx + 1]
shl eax, 8
movzx edx, byte [eax + ebx + 0x96e5ac]
movzx eax, byte [ecx + 2]
mov ecx, edi
shl eax, 8
mov dword [ebp - 0x34], edx
movzx eax, byte [eax + ebx + 0x96e5ac]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax]
shl eax, 8
movzx eax, byte [eax + esi + 0x96e5ac]
sub ecx, eax
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax + 1]
shl eax, 8
movzx eax, byte [eax + esi + 0x96e5ac]
sub edx, eax
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax + 2]
shl eax, 8
movzx eax, byte [eax + esi + 0x96e5ac]
mov esi, dword [ebp - 0x40]
sub esi, eax
xor eax, eax
test ecx, ecx
cmovns eax, ecx
mov ecx, dword [ebp - 0x34]
sub eax, edi
shl edi, 0x10
imul eax, dword [ebp - 0x38]
add eax, edi
mov edi, dword [ebp - 0x2c]
sar eax, 0x10
movzx eax, al
shl eax, 8
movzx eax, byte [eax + ebx + 0x95e5ac]
mov ebx, dword [ebp - 0x30]
mov byte [ebx], al
xor eax, eax
test edx, edx
cmovns eax, edx
sub eax, ecx
shl ecx, 0x10
imul eax, dword [ebp - 0x38]
add eax, ecx
sar eax, 0x10
movzx ecx, al
movzx eax, byte [edi + 3]
shl ecx, 8
movzx eax, byte [ecx + eax + 0x95e5ac]
mov ecx, dword [ebp - 0x40]
mov byte [ebx + 1], al
xor eax, eax
test esi, esi
cmovns eax, esi
mov esi, ebx
sub eax, ecx
shl ecx, 0x10
imul eax, dword [ebp - 0x38]
add eax, ecx
sar eax, 0x10
movzx ecx, al
movzx eax, byte [edi + 3]
shl ecx, 8
movzx eax, byte [ecx + eax + 0x95e5ac]
mov byte [esi + 2], al
movzx eax, byte [edi + 3]
add edi, 4
mov byte [esi + 3], al
mov dword [ebp - 0x2c], edi
mov ebx, dword [ebp - 0x28]
add esi, 4
mov ecx, dword [ebp - 0x48]
add ebx, 4
sub dword [ebp - 0x54], 1
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], esi
jne 0x4a0960
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
sub dword [ebp - 0x3c], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], esi
jne case.0x4a0486.20
jmp case.0x4a0486.1
cmp dword [ebp + 0xc], 0
jne case.0x4a0486.21
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x38], eax
movzx edi, byte [ebx + 3]
mov esi, dword [ebp - 0x2c]
imul edi, ecx
movzx ecx, byte [ebx]
movzx ebx, byte [ebx + 1]
movzx eax, byte [esi + 1]
movzx edx, byte [esi]
add ebx, eax
mov eax, dword [ebp - 0x28]
add ecx, edx
movzx esi, byte [eax + 2]
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax + 2]
add esi, eax
cmp ecx, 0xff
mov eax, 0xff
cmova ecx, eax
cmp ebx, eax
cmova ebx, eax
cmp esi, eax
cmova esi, eax
sub ecx, edx
imul ecx, edi
mov dword [ebp - 0x34], esi
mov esi, dword [ebp - 0x30]
shl edx, 0x10
add ecx, edx
sar ecx, 0x10
mov byte [esi], cl
mov ecx, dword [ebp - 0x2c]
movzx eax, byte [ecx + 1]
sub ebx, eax
shl eax, 0x10
imul ebx, edi
add ebx, eax
sar ebx, 0x10
mov byte [esi + 1], bl
movzx eax, byte [ecx + 2]
mov ecx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x28]
sub ecx, eax
imul ecx, edi
add ebx, 4
mov edi, dword [ebp - 0x2c]
shl eax, 0x10
mov dword [ebp - 0x28], ebx
add ecx, eax
sar ecx, 0x10
mov byte [esi + 2], cl
mov al, byte [edi + 3]
add edi, 4
mov ecx, dword [ebp - 0x48]
mov byte [esi + 3], al
add esi, 4
sub dword [ebp - 0x38], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], esi
jne 0x4a0ac6
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
sub dword [ebp - 0x3c], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], esi
jne 0x4a0ac0
jmp case.0x4a0486.1
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x54], eax
movzx ecx, byte [ebx + 3]
movzx edx, byte [edi + 3]
mov eax, ecx
imul eax, dword [ebp - 0x48]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], eax
movzx eax, byte [edi]
shl eax, 8
movzx esi, byte [eax + edx + 0x96e5ac]
movzx eax, byte [edi + 1]
shl eax, 8
movzx edi, byte [eax + edx + 0x96e5ac]
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax + 2]
shl eax, 8
movzx eax, byte [eax + edx + 0x96e5ac]
mov dword [ebp - 0x40], eax
movzx eax, byte [ebx]
shl eax, 8
movzx edx, byte [eax + ecx + 0x96e5ac]
movzx eax, byte [ebx + 1]
add edx, esi
shl eax, 8
movzx ebx, byte [eax + ecx + 0x96e5ac]
mov eax, dword [ebp - 0x28]
add ebx, edi
movzx eax, byte [eax + 2]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov ecx, 0xff
add eax, dword [ebp - 0x40]
cmp edx, 0xff
cmova edx, ecx
cmp ebx, ecx
cmova ebx, ecx
cmp eax, ecx
cmova eax, ecx
mov ecx, dword [ebp - 0x34]
sub edx, esi
mov dword [ebp - 0x44], eax
imul edx, dword [ebp - 0x38]
sub ebx, edi
imul ebx, dword [ebp - 0x38]
shl esi, 0x10
shl edi, 0x10
add edx, esi
mov esi, dword [ebp - 0x30]
sar edx, 0x10
add ebx, edi
mov edi, dword [ebp - 0x2c]
movzx eax, dl
shl eax, 8
sar ebx, 0x10
movzx eax, byte [eax + ecx + 0x95e5ac]
mov byte [esi], al
movzx eax, byte [edi + 3]
movzx ecx, bl
shl ecx, 8
mov ebx, dword [ebp - 0x28]
add ebx, 4
mov dword [ebp - 0x28], ebx
movzx eax, byte [ecx + eax + 0x95e5ac]
mov ecx, dword [ebp - 0x40]
mov byte [esi + 1], al
mov eax, dword [ebp - 0x44]
sub eax, ecx
shl ecx, 0x10
imul eax, dword [ebp - 0x38]
add eax, ecx
sar eax, 0x10
movzx ecx, al
movzx eax, byte [edi + 3]
shl ecx, 8
movzx eax, byte [ecx + eax + 0x95e5ac]
mov byte [esi + 2], al
movzx eax, byte [edi + 3]
add edi, 4
mov byte [esi + 3], al
add esi, 4
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], esi
sub dword [ebp - 0x54], 1
jne 0x4a0ba6
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
sub dword [ebp - 0x3c], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], esi
jne case.0x4a0486.21
jmp case.0x4a0486.1
cmp dword [ebp + 0xc], 0
jne case.0x4a0486.22
mov ecx, 0xff
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x38], eax
nop dword [eax]
movzx eax, byte [ebx + 3]
mov esi, 0xff
imul eax, dword [ebp - 0x48]
movzx edx, byte [edi]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x44], eax
movzx eax, byte [ebx]
sub ecx, eax
mov eax, 0xff
sub eax, edx
imul ecx, eax
movzx eax, byte [ebx + 1]
sar ecx, 8
sub esi, ecx
mov ecx, 0xff
mov edx, ecx
sub edx, eax
movzx eax, byte [edi + 1]
sub ecx, eax
movzx eax, byte [ebx + 2]
imul edx, ecx
mov ecx, 0xff
mov edi, ecx
sar edx, 8
sub edi, edx
mov edx, ecx
sub edx, eax
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax + 2]
sub ecx, eax
mov eax, 0xff
imul edx, ecx
mov ebx, eax
mov ecx, dword [ebp - 0x34]
sar edx, 8
sub ebx, edx
mov edx, dword [ebp - 0x44]
cmp esi, eax
cmovle eax, esi
mov esi, dword [ebp - 0x30]
sub eax, ecx
shl ecx, 0x10
imul eax, edx
add eax, ecx
mov ecx, 0xff
sar eax, 0x10
cmp edi, ecx
mov byte [esi], al
mov eax, dword [ebp - 0x2c]
cmovle ecx, edi
mov edi, dword [ebp - 0x2c]
movzx eax, byte [eax + 1]
sub ecx, eax
shl eax, 0x10
imul ecx, edx
add ecx, eax
sar ecx, 0x10
mov byte [esi + 1], cl
mov ecx, 0xff
movzx eax, byte [edi + 2]
cmp ebx, ecx
cmovle ecx, ebx
mov ebx, dword [ebp - 0x28]
sub ecx, eax
add ebx, 4
imul ecx, edx
shl eax, 0x10
mov dword [ebp - 0x28], ebx
add ecx, eax
sar ecx, 0x10
mov byte [esi + 2], cl
mov ecx, 0xff
mov al, byte [edi + 3]
add edi, 4
mov byte [esi + 3], al
add esi, 4
sub dword [ebp - 0x38], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], esi
jne 0x4a0d10
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
sub dword [ebp - 0x3c], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], esi
jne 0x4a0d06
jmp case.0x4a0486.1
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x40], eax
nop dword [eax]
movzx edi, byte [ebx + 3]
mov edx, dword [ebp - 0x2c]
mov eax, edi
imul eax, ecx
movzx ecx, byte [edx + 3]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x34], eax
movzx eax, byte [edx]
shl eax, 8
movzx ebx, byte [eax + ecx + 0x96e5ac]
movzx eax, byte [edx + 1]
shl eax, 8
movzx esi, byte [eax + ecx + 0x96e5ac]
movzx eax, byte [edx + 2]
mov edx, 0xff
shl eax, 8
mov dword [ebp - 0x54], esi
movzx eax, byte [eax + ecx + 0x96e5ac]
mov ecx, edx
mov dword [ebp - 0x38], eax
sub edx, ebx
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax]
shl eax, 8
movzx eax, byte [eax + edi + 0x96e5ac]
sub ecx, eax
mov eax, dword [ebp - 0x28]
imul ecx, edx
mov edx, 0xff
movzx eax, byte [eax + 1]
shl eax, 8
sar ecx, 8
sub edx, ecx
mov ecx, 0xff
movzx eax, byte [eax + edi + 0x96e5ac]
sub ecx, eax
mov eax, 0xff
sub eax, esi
mov esi, 0xff
imul ecx, eax
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax + 2]
shl eax, 8
sar ecx, 8
sub esi, ecx
movzx eax, byte [eax + edi + 0x96e5ac]
mov edi, 0xff
mov ecx, edi
sub ecx, eax
mov eax, edi
sub eax, dword [ebp - 0x38]
imul ecx, eax
mov eax, 0xff
sar ecx, 8
sub edi, ecx
cmp edx, eax
mov ecx, dword [ebp - 0x44]
cmovle eax, edx
mov edx, dword [ebp - 0x34]
sub eax, ebx
shl ebx, 0x10
imul eax, edx
add eax, ebx
mov ebx, 0xff
sar eax, 0x10
movzx eax, al
shl eax, 8
movzx eax, byte [eax + ecx + 0x95e5ac]
mov ecx, dword [ebp - 0x30]
mov byte [ecx], al
mov eax, ebx
mov ecx, dword [ebp - 0x54]
cmp esi, eax
cmovle eax, esi
sub eax, ecx
shl ecx, 0x10
imul eax, edx
add eax, ecx
sar eax, 0x10
movzx ecx, al
shl ecx, 8
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x30]
movzx eax, byte [eax + 3]
movzx eax, byte [ecx + eax + 0x95e5ac]
mov ecx, dword [ebp - 0x38]
mov byte [esi + 1], al
mov eax, ebx
cmp edi, eax
mov ebx, dword [ebp - 0x28]
cmovle eax, edi
mov edi, dword [ebp - 0x2c]
sub eax, ecx
add ebx, 4
imul eax, edx
shl ecx, 0x10
mov dword [ebp - 0x28], ebx
add eax, ecx
sar eax, 0x10
movzx ecx, al
movzx eax, byte [edi + 3]
shl ecx, 8
movzx eax, byte [ecx + eax + 0x95e5ac]
mov ecx, dword [ebp - 0x48]
mov byte [esi + 2], al
movzx eax, byte [edi + 3]
add edi, 4
mov byte [esi + 3], al
add esi, 4
sub dword [ebp - 0x40], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], esi
jne 0x4a0e30
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
sub dword [ebp - 0x3c], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], esi
jne case.0x4a0486.22
jmp case.0x4a0486.1
cmp dword [ebp + 0xc], 0
jne case.0x4a0486.23
mov edx, 0xff
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x38], eax
nop dword [eax + eax]
movzx eax, byte [ebx + 3]
imul eax, ecx
mov dword [ebp - 0x50], eax
mov al, byte [edi]
cmp al, 0x80
movzx eax, al
mov dword [ebp - 0x4c], eax
jae 0x4a1013
movzx ecx, byte [ebx]
imul ecx, eax
add ecx, ecx
sar ecx, 8
jmp 0x4a102d
movzx eax, byte [ebx]
mov ecx, 0x100
sub ecx, eax
shl eax, 8
imul ecx, dword [ebp - 0x4c]
add ecx, eax
add ecx, ecx
sar ecx, 8
sub ecx, edx
mov al, byte [edi + 1]
cmp ecx, edx
mov byte [ebp - 0x61], al
cmovg ecx, edx
mov dword [ebp - 0x34], ecx
movzx ecx, byte [ebx + 1]
cmp al, 0x80
jae 0x4a1050
movzx eax, al
imul ecx, eax
add ecx, ecx
sar ecx, 8
jmp 0x4a1077
mov eax, 0x100
sub eax, ecx
shl ecx, 8
mov dword [ebp - 0x28], eax
mov esi, dword [ebp - 0x28]
movzx eax, byte [ebp - 0x61]
imul esi, eax
mov dword [ebp - 0x28], esi
add dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x28]
add ecx, ecx
sar ecx, 8
sub ecx, edx
mov al, byte [edi + 2]
cmp ecx, edx
mov byte [ebp - 0x61], al
cmovg ecx, edx
mov dword [ebp - 0x28], ecx
cmp al, 0x80
jae 0x4a10a6
movzx eax, byte [ebx + 2]
mov dword [ebp - 0x2c], eax
movzx eax, byte [ebp - 0x61]
mov esi, dword [ebp - 0x2c]
imul esi, eax
mov eax, esi
mov dword [ebp - 0x2c], esi
add eax, eax
sar eax, 8
jmp 0x4a10d5
movzx ecx, byte [ebx + 2]
mov eax, 0x100
sub eax, ecx
shl ecx, 8
mov dword [ebp - 0x2c], eax
movzx eax, byte [ebp - 0x61]
mov esi, dword [ebp - 0x2c]
imul esi, eax
mov eax, esi
mov dword [ebp - 0x2c], esi
add eax, ecx
mov ecx, dword [ebp - 0x28]
add eax, eax
sar eax, 8
sub eax, 0xff
mov esi, dword [ebp - 0x30]
cmp eax, 0xff
cmovg eax, edx
add ebx, 4
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x4c]
imul eax, dword [ebp - 0x50]
shl dword [ebp - 0x4c], 0x10
add eax, dword [ebp - 0x4c]
sar eax, 0x10
mov byte [esi], al
movzx eax, byte [edi + 1]
sub ecx, eax
shl eax, 0x10
imul ecx, dword [ebp - 0x50]
add ecx, eax
sar ecx, 0x10
mov byte [esi + 1], cl
movzx eax, byte [edi + 2]
mov ecx, dword [ebp - 0x2c]
sub ecx, eax
shl eax, 0x10
imul ecx, dword [ebp - 0x50]
add ecx, eax
sar ecx, 0x10
mov byte [esi + 2], cl
mov al, byte [edi + 3]
add edi, 4
mov ecx, dword [ebp - 0x48]
mov byte [esi + 3], al
add esi, 4
sub dword [ebp - 0x38], 1
mov dword [ebp - 0x30], esi
jne 0x4a0ff0
add esi, dword [ebp - 0x60]
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
sub dword [ebp - 0x3c], 1
mov dword [ebp - 0x30], esi
jne 0x4a0fe5
jmp case.0x4a0486.1
mov edx, 0xff
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x34], eax
nop dword [eax + eax]
movzx ecx, byte [ebx + 3]
movzx eax, byte [edi + 3]
mov dword [ebp - 0x38], eax
movzx eax, byte [edi]
shl eax, 8
mov dword [ebp - 0x50], ecx
imul ecx, dword [ebp - 0x48]
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x38]
movzx eax, byte [eax + ecx + 0x96e5ac]
mov dword [ebp - 0x4c], eax
movzx eax, byte [edi + 1]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov dword [ebp - 0x44], eax
movzx eax, byte [edi + 2]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x54], eax
movzx eax, byte [ebx]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov dword [ebp - 0x28], eax
movzx eax, byte [ebx + 1]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov dword [ebp - 0x2c], eax
movzx eax, byte [ebx + 2]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x4c]
cmp eax, 0x80
jae 0x4a120d
mov eax, dword [ebp - 0x28]
imul eax, dword [ebp - 0x4c]
add eax, eax
sar eax, 8
jmp 0x4a1227
mov ecx, 0x100
sub ecx, eax
shl eax, 8
imul ecx, dword [ebp - 0x28]
add eax, ecx
add eax, eax
sar eax, 8
sub eax, 0xff
cmp eax, 0xff
cmovg eax, edx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x44]
cmp eax, 0x80
jae 0x4a1249
mov ecx, dword [ebp - 0x2c]
imul ecx, eax
add ecx, ecx
sar ecx, 8
jmp 0x4a1260
mov ecx, 0x100
sub ecx, eax
shl eax, 8
imul ecx, dword [ebp - 0x2c]
add ecx, eax
add ecx, ecx
sar ecx, 8
sub ecx, edx
mov eax, dword [ebp - 0x54]
cmp ecx, edx
cmovg ecx, edx
mov dword [ebp - 0x2c], ecx
cmp eax, 0x80
jae 0x4a1280
mov eax, dword [ebp - 0x50]
imul eax, dword [ebp - 0x54]
add eax, eax
sar eax, 8
jmp 0x4a129d
mov ecx, 0x100
sub ecx, eax
shl eax, 8
imul ecx, dword [ebp - 0x50]
add eax, ecx
mov ecx, dword [ebp - 0x2c]
add eax, eax
sar eax, 8
sub eax, 0xff
cmp eax, 0xff
mov esi, dword [ebp - 0x38]
cmovg eax, edx
add ebx, 4
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x4c]
imul eax, dword [ebp - 0x40]
shl dword [ebp - 0x4c], 0x10
add eax, dword [ebp - 0x4c]
sar eax, 0x10
movzx eax, al
shl eax, 8
movzx eax, byte [eax + esi + 0x95e5ac]
mov esi, dword [ebp - 0x30]
mov byte [esi], al
mov eax, dword [ebp - 0x44]
sub ecx, eax
imul ecx, dword [ebp - 0x40]
shl eax, 0x10
add ecx, eax
movzx eax, byte [edi + 3]
sar ecx, 0x10
movzx ecx, cl
shl ecx, 8
movzx eax, byte [ecx + eax + 0x95e5ac]
mov ecx, dword [ebp - 0x54]
mov byte [esi + 1], al
mov eax, dword [ebp - 0x50]
sub eax, ecx
shl ecx, 0x10
imul eax, dword [ebp - 0x40]
add eax, ecx
sar eax, 0x10
movzx ecx, al
movzx eax, byte [edi + 3]
shl ecx, 8
movzx eax, byte [ecx + eax + 0x95e5ac]
mov byte [esi + 2], al
movzx eax, byte [edi + 3]
add edi, 4
mov byte [esi + 3], al
add esi, 4
sub dword [ebp - 0x34], 1
mov dword [ebp - 0x30], esi
jne 0x4a1170
add esi, dword [ebp - 0x60]
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
sub dword [ebp - 0x3c], 1
mov dword [ebp - 0x30], esi
jne 0x4a1165
jmp case.0x4a0486.1
cmp dword [ebp + 0xc], 0
jne case.0x4a0486.24
mov edx, 0xff
nop dword [eax + eax]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x34], eax
movzx eax, byte [ebx + 3]
imul eax, ecx
mov cl, byte [ebx]
mov dword [ebp - 0x50], eax
cmp cl, 0xff
jae 0x4a13ad
movzx eax, byte [edi]
mov esi, edx
shl eax, 8
movzx ecx, cl
sub esi, ecx
cdq
idiv esi
mov dword [ebp - 0x40], eax
cmp eax, 0xff
jle 0x4a13b7
mov eax, 0xff
mov dword [ebp - 0x40], eax
mov edx, eax
jmp 0x4a13bc
mov eax, 0xff
mov dword [ebp - 0x40], eax
jmp 0x4a13bc
mov edx, 0xff
mov cl, byte [ebx + 1]
cmp cl, 0xff
jae 0x4a13df
movzx eax, byte [edi + 1]
mov esi, edx
shl eax, 8
movzx ecx, cl
sub esi, ecx
cdq
idiv esi
mov dword [ebp - 0x54], eax
cmp eax, 0xff
jle 0x4a13e7
mov eax, 0xff
mov dword [ebp - 0x54], eax
mov cl, byte [ebx + 2]
cmp cl, 0xff
jae 0x4a140d
movzx eax, byte [edi + 2]
mov esi, 0xff
shl eax, 8
movzx ecx, cl
sub esi, ecx
cdq
idiv esi
mov ecx, eax
cmp ecx, 0xff
jle 0x4a1412
mov ecx, 0xff
movzx eax, byte [edi]
add ebx, 4
mov edx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x30]
sub edx, eax
imul edx, dword [ebp - 0x50]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [esi], dl
movzx eax, byte [edi + 1]
mov edx, dword [ebp - 0x54]
sub edx, eax
shl eax, 0x10
imul edx, dword [ebp - 0x50]
add edx, eax
sar edx, 0x10
mov byte [esi + 1], dl
mov edx, 0xff
movzx eax, byte [edi + 2]
sub ecx, eax
shl eax, 0x10
imul ecx, dword [ebp - 0x50]
add ecx, eax
sar ecx, 0x10
mov byte [esi + 2], cl
mov al, byte [edi + 3]
add edi, 4
mov ecx, dword [ebp - 0x48]
mov byte [esi + 3], al
add esi, 4
sub dword [ebp - 0x34], 1
mov dword [ebp - 0x30], esi
jne 0x4a1376
add esi, dword [ebp - 0x60]
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
sub dword [ebp - 0x3c], 1
mov dword [ebp - 0x30], esi
jne 0x4a1370
jmp case.0x4a0486.1
mov edx, 0xff
nop dword [eax]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x2c], eax
nop word [eax + eax]
movzx ecx, byte [ebx + 3]
movzx eax, byte [edi + 3]
mov dword [ebp - 0x44], eax
movzx eax, byte [edi]
shl eax, 8
mov dword [ebp - 0x40], ecx
imul ecx, dword [ebp - 0x48]
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x44]
movzx eax, byte [eax + ecx + 0x96e5ac]
mov dword [ebp - 0x34], eax
movzx eax, byte [edi + 1]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov dword [ebp - 0x38], eax
movzx eax, byte [edi + 2]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x4c], eax
movzx eax, byte [ebx]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov dword [ebp - 0x40], eax
movzx eax, byte [ebx + 1]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov dword [ebp - 0x54], eax
movzx eax, byte [ebx + 2]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x40]
cmp eax, 0xff
jae 0x4a1562
mov ecx, edx
sub ecx, eax
mov eax, dword [ebp - 0x34]
shl eax, 8
cdq
idiv ecx
mov dword [ebp - 0x40], eax
cmp eax, 0xff
jle 0x4a156c
mov eax, 0xff
mov dword [ebp - 0x40], eax
mov edx, eax
jmp 0x4a1571
mov eax, 0xff
mov dword [ebp - 0x40], eax
jmp 0x4a1571
mov edx, 0xff
mov eax, dword [ebp - 0x54]
cmp eax, 0xff
jae 0x4a1592
mov ecx, edx
sub ecx, eax
mov eax, dword [ebp - 0x38]
shl eax, 8
cdq
idiv ecx
mov dword [ebp - 0x54], eax
cmp eax, 0xff
jle 0x4a159a
mov eax, 0xff
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x28]
cmp eax, 0xff
jae 0x4a15be
mov ecx, 0xff
sub ecx, eax
mov eax, dword [ebp - 0x4c]
shl eax, 8
cdq
idiv ecx
mov edx, eax
cmp edx, 0xff
jle 0x4a15c3
mov edx, 0xff
mov eax, dword [ebp - 0x40]
add ebx, 4
mov ecx, dword [ebp - 0x34]
sub eax, ecx
imul eax, dword [ebp - 0x50]
shl ecx, 0x10
add eax, ecx
mov ecx, dword [ebp - 0x44]
sar eax, 0x10
movzx eax, al
shl eax, 8
movzx eax, byte [eax + ecx + 0x95e5ac]
mov ecx, dword [ebp - 0x38]
mov byte [esi], al
mov eax, dword [ebp - 0x54]
sub eax, ecx
shl ecx, 0x10
imul eax, dword [ebp - 0x50]
add eax, ecx
sar eax, 0x10
movzx ecx, al
movzx eax, byte [edi + 3]
shl ecx, 8
movzx eax, byte [ecx + eax + 0x95e5ac]
mov byte [esi + 1], al
mov eax, dword [ebp - 0x4c]
sub edx, eax
imul edx, dword [ebp - 0x50]
shl eax, 0x10
add edx, eax
movzx eax, byte [edi + 3]
sar edx, 0x10
movzx ecx, dl
mov edx, 0xff
shl ecx, 8
movzx eax, byte [ecx + eax + 0x95e5ac]
mov byte [esi + 2], al
movzx eax, byte [edi + 3]
add edi, 4
mov byte [esi + 3], al
add esi, 4
sub dword [ebp - 0x2c], 1
jne 0x4a14b0
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
sub dword [ebp - 0x3c], 1
jne 0x4a14a0
jmp case.0x4a0486.1
cmp dword [ebp + 0xc], 0
jne case.0x4a0486.25
nop word [eax + eax]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x34], eax
movzx eax, byte [ebx + 3]
imul eax, ecx
movzx ebx, byte [edi]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax]
lea eax, [ebx - 0xff]
inc ecx
shl eax, 8
cdq
idiv ecx
mov ecx, dword [ebp - 0x28]
movzx ecx, byte [ecx + 1]
lea esi, [eax + 0xff]
movzx eax, byte [edi + 1]
inc ecx
sub eax, 0xff
shl eax, 8
cdq
idiv ecx
mov ecx, dword [ebp - 0x28]
mov edi, eax
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [ecx + 2]
movzx eax, byte [eax + 2]
inc ecx
sub eax, 0xff
shl eax, 8
cdq
idiv ecx
xor ecx, ecx
test esi, esi
mov edx, eax
mov eax, dword [ebp - 0x2c]
cmovns ecx, esi
mov esi, dword [ebp - 0x44]
sub ecx, ebx
shl ebx, 0x10
imul ecx, esi
add ecx, ebx
mov ebx, dword [ebp - 0x30]
sar ecx, 0x10
mov byte [ebx], cl
xor ecx, ecx
movzx eax, byte [eax + 1]
add edi, 0xff
cmovns ecx, edi
mov edi, dword [ebp - 0x2c]
sub ecx, eax
shl eax, 0x10
imul ecx, esi
add ecx, eax
sar ecx, 0x10
mov byte [ebx + 1], cl
xor ecx, ecx
movzx eax, byte [edi + 2]
add edx, 0xff
cmovns ecx, edx
sub ecx, eax
shl eax, 0x10
imul ecx, esi
mov esi, ebx
mov ebx, dword [ebp - 0x28]
add ebx, 4
mov dword [ebp - 0x28], ebx
add ecx, eax
sar ecx, 0x10
mov byte [esi + 2], cl
mov al, byte [edi + 3]
add edi, 4
mov ecx, dword [ebp - 0x48]
mov byte [esi + 3], al
add esi, 4
sub dword [ebp - 0x34], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], esi
jne 0x4a1686
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
sub dword [ebp - 0x3c], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], esi
jne 0x4a1680
jmp case.0x4a0486.1
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x34], eax
movzx ebx, byte [ebx + 3]
mov eax, ebx
imul eax, ecx
movzx ecx, byte [edi + 3]
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x40], eax
movzx eax, byte [edi]
shl eax, 8
movzx edx, byte [eax + ecx + 0x96e5ac]
movzx eax, byte [edi + 1]
shl eax, 8
mov dword [ebp - 0x38], edx
movzx edi, byte [eax + ecx + 0x96e5ac]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], edi
movzx eax, byte [eax + 2]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax]
shl eax, 8
movzx ecx, byte [eax + ebx + 0x96e5ac]
lea eax, [edx - 0xff]
shl eax, 8
inc ecx
cdq
idiv ecx
lea esi, [eax + 0xff]
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax + 1]
shl eax, 8
movzx ecx, byte [eax + ebx + 0x96e5ac]
lea eax, [edi - 0xff]
shl eax, 8
inc ecx
cdq
idiv ecx
mov edi, eax
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax + 2]
shl ecx, 8
movzx ecx, byte [ecx + ebx + 0x96e5ac]
mov ebx, dword [ebp - 0x44]
inc ecx
lea eax, [ebx - 0xff]
shl eax, 8
cdq
idiv ecx
xor ecx, ecx
test esi, esi
mov edx, eax
mov eax, dword [ebp - 0x38]
cmovns ecx, esi
mov esi, dword [ebp - 0x40]
sub ecx, eax
shl eax, 0x10
imul ecx, esi
add ecx, eax
sar ecx, 0x10
movzx eax, cl
mov ecx, dword [ebp - 0x54]
shl eax, 8
movzx eax, byte [eax + ecx + 0x95e5ac]
mov ecx, dword [ebp - 0x30]
mov byte [ecx], al
xor eax, eax
mov ecx, dword [ebp - 0x50]
add edi, 0xff
cmovns eax, edi
mov edi, dword [ebp - 0x2c]
sub eax, ecx
shl ecx, 0x10
imul eax, esi
add eax, ecx
sar eax, 0x10
movzx ecx, al
movzx eax, byte [edi + 3]
shl ecx, 8
movzx eax, byte [ecx + eax + 0x95e5ac]
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 1], al
xor eax, eax
add edx, 0xff
cmovns eax, edx
sub eax, ebx
shl ebx, 0x10
imul eax, esi
mov esi, dword [ebp - 0x30]
add eax, ebx
mov ebx, dword [ebp - 0x28]
sar eax, 0x10
add ebx, 4
movzx ecx, al
movzx eax, byte [edi + 3]
shl ecx, 8
mov dword [ebp - 0x28], ebx
movzx eax, byte [ecx + eax + 0x95e5ac]
mov ecx, dword [ebp - 0x48]
mov byte [esi + 2], al
movzx eax, byte [edi + 3]
add edi, 4
mov byte [esi + 3], al
add esi, 4
sub dword [ebp - 0x34], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], esi
jne 0x4a1796
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
sub dword [ebp - 0x3c], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], esi
jne case.0x4a0486.25
jmp case.0x4a0486.1
cmp dword [ebp + 0xc], 0
jne case.0x4a0486.26
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x34], eax
nop word [eax + eax]
movzx esi, byte [ebx + 3]
mov eax, ebx
imul esi, ecx
mov ch, byte [edi]
cmp ch, byte [ebx]
mov cl, byte [ebx + 1]
cmovb eax, edi
movzx ebx, cl
cmp byte [edi + 1], cl
mov edx, dword [ebp - 0x30]
movzx eax, byte [eax]
mov dword [ebp - 0x44], eax
movzx eax, byte [edi + 1]
cmovb ebx, eax
movzx eax, bl
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x28]
mov cl, byte [eax + 2]
cmp byte [edi + 2], cl
movzx eax, byte [edi + 2]
movzx ebx, cl
cmovb ebx, eax
movzx eax, ch
mov ecx, dword [ebp - 0x44]
sub ecx, eax
shl eax, 0x10
imul ecx, esi
add ecx, eax
sar ecx, 0x10
mov byte [edx], cl
movzx eax, byte [edi + 1]
mov ecx, dword [ebp - 0x38]
sub ecx, eax
shl eax, 0x10
imul ecx, esi
add ecx, eax
sar ecx, 0x10
mov byte [edx + 1], cl
movzx eax, byte [edi + 2]
movzx ecx, bl
mov ebx, dword [ebp - 0x28]
sub ecx, eax
imul ecx, esi
add ebx, 4
shl eax, 0x10
mov esi, edx
mov dword [ebp - 0x28], ebx
add ecx, eax
sar ecx, 0x10
mov byte [esi + 2], cl
mov al, byte [edi + 3]
add edi, 4
mov ecx, dword [ebp - 0x48]
mov byte [esi + 3], al
add esi, 4
sub dword [ebp - 0x34], 1
mov dword [ebp - 0x30], esi
jne 0x4a1940
add ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
add edi, dword [ebp - 0x5c]
sub dword [ebp - 0x3c], 1
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], esi
jne 0x4a1934
jmp case.0x4a0486.1
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x44], eax
movzx edx, byte [ebx + 3]
movzx edi, byte [edi + 3]
mov eax, edx
imul eax, ecx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x34], eax
movzx eax, byte [ecx]
shl eax, 8
movzx esi, byte [eax + edi + 0x96e5ac]
movzx eax, byte [ecx + 1]
shl eax, 8
movzx eax, byte [eax + edi + 0x96e5ac]
mov dword [ebp - 0x38], eax
movzx eax, byte [ecx + 2]
shl eax, 8
movzx eax, byte [eax + edi + 0x96e5ac]
mov dword [ebp - 0x40], eax
movzx eax, byte [ebx]
shl eax, 8
movzx ecx, byte [eax + edx + 0x96e5ac]
movzx eax, byte [ebx + 1]
shl eax, 8
movzx ebx, byte [eax + edx + 0x96e5ac]
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax + 2]
shl eax, 8
cmp esi, ecx
cmovb ecx, esi
sub ecx, esi
shl esi, 0x10
movzx edx, byte [eax + edx + 0x96e5ac]
imul ecx, dword [ebp - 0x34]
add ecx, esi
mov esi, dword [ebp - 0x30]
sar ecx, 0x10
movzx eax, cl
mov ecx, dword [ebp - 0x30]
shl eax, 8
movzx eax, byte [eax + edi + 0x95e5ac]
mov edi, dword [ebp - 0x2c]
mov byte [ecx], al
mov eax, dword [ebp - 0x38]
cmp eax, ebx
cmovb ebx, eax
sub ebx, eax
shl eax, 0x10
imul ebx, dword [ebp - 0x34]
add ebx, eax
movzx eax, byte [edi + 3]
sar ebx, 0x10
movzx ecx, bl
shl ecx, 8
mov ebx, dword [ebp - 0x28]
movzx eax, byte [ecx + eax + 0x95e5ac]
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x40]
cmp eax, edx
cmovb edx, eax
add ebx, 4
sub edx, eax
mov dword [ebp - 0x28], ebx
imul edx, dword [ebp - 0x34]
shl eax, 0x10
add edx, eax
movzx eax, byte [edi + 3]
sar edx, 0x10
movzx ecx, dl
shl ecx, 8
movzx eax, byte [ecx + eax + 0x95e5ac]
mov ecx, dword [ebp - 0x48]
mov byte [esi + 2], al
movzx eax, byte [edi + 3]
add edi, 4
mov byte [esi + 3], al
add esi, 4
sub dword [ebp - 0x44], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], esi
jne 0x4a1a16
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
sub dword [ebp - 0x3c], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], esi
jne case.0x4a0486.26
jmp case.0x4a0486.1
cmp dword [ebp + 0xc], 0
jne case.0x4a0486.27
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x34], eax
nop dword [eax]
movzx esi, byte [ebx + 3]
mov eax, ebx
imul esi, ecx
mov ch, byte [edi]
cmp ch, byte [ebx]
mov cl, byte [ebx + 1]
cmova eax, edi
movzx ebx, cl
cmp byte [edi + 1], cl
mov edx, dword [ebp - 0x30]
movzx eax, byte [eax]
mov dword [ebp - 0x44], eax
movzx eax, byte [edi + 1]
cmova ebx, eax
movzx eax, bl
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x28]
mov cl, byte [eax + 2]
cmp byte [edi + 2], cl
movzx eax, byte [edi + 2]
movzx ebx, cl
cmova ebx, eax
movzx eax, ch
mov ecx, dword [ebp - 0x44]
sub ecx, eax
shl eax, 0x10
imul ecx, esi
add ecx, eax
sar ecx, 0x10
mov byte [edx], cl
movzx eax, byte [edi + 1]
mov ecx, dword [ebp - 0x38]
sub ecx, eax
shl eax, 0x10
imul ecx, esi
add ecx, eax
sar ecx, 0x10
mov byte [edx + 1], cl
movzx eax, byte [edi + 2]
movzx ecx, bl
mov ebx, dword [ebp - 0x28]
sub ecx, eax
imul ecx, esi
add ebx, 4
shl eax, 0x10
mov esi, edx
mov dword [ebp - 0x28], ebx
add ecx, eax
sar ecx, 0x10
mov byte [esi + 2], cl
mov al, byte [edi + 3]
add edi, 4
mov ecx, dword [ebp - 0x48]
mov byte [esi + 3], al
add esi, 4
sub dword [ebp - 0x34], 1
mov dword [ebp - 0x30], esi
jne 0x4a1b70
add ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
add edi, dword [ebp - 0x5c]
sub dword [ebp - 0x3c], 1
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], esi
jne 0x4a1b63
jmp case.0x4a0486.1
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x44], eax
movzx edx, byte [ebx + 3]
movzx edi, byte [edi + 3]
mov eax, edx
imul eax, ecx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x34], eax
movzx eax, byte [ecx]
shl eax, 8
movzx esi, byte [eax + edi + 0x96e5ac]
movzx eax, byte [ecx + 1]
shl eax, 8
movzx eax, byte [eax + edi + 0x96e5ac]
mov dword [ebp - 0x38], eax
movzx eax, byte [ecx + 2]
shl eax, 8
movzx eax, byte [eax + edi + 0x96e5ac]
mov dword [ebp - 0x40], eax
movzx eax, byte [ebx]
shl eax, 8
movzx ecx, byte [eax + edx + 0x96e5ac]
movzx eax, byte [ebx + 1]
shl eax, 8
movzx ebx, byte [eax + edx + 0x96e5ac]
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax + 2]
shl eax, 8
cmp esi, ecx
cmova ecx, esi
sub ecx, esi
shl esi, 0x10
movzx edx, byte [eax + edx + 0x96e5ac]
imul ecx, dword [ebp - 0x34]
add ecx, esi
mov esi, dword [ebp - 0x30]
sar ecx, 0x10
movzx eax, cl
mov ecx, dword [ebp - 0x30]
shl eax, 8
movzx eax, byte [eax + edi + 0x95e5ac]
mov edi, dword [ebp - 0x2c]
mov byte [ecx], al
mov eax, dword [ebp - 0x38]
cmp eax, ebx
cmova ebx, eax
sub ebx, eax
shl eax, 0x10
imul ebx, dword [ebp - 0x34]
add ebx, eax
movzx eax, byte [edi + 3]
sar ebx, 0x10
movzx ecx, bl
shl ecx, 8
mov ebx, dword [ebp - 0x28]
movzx eax, byte [ecx + eax + 0x95e5ac]
mov ecx, dword [ebp - 0x30]
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x40]
cmp eax, edx
cmova edx, eax
add ebx, 4
sub edx, eax
mov dword [ebp - 0x28], ebx
imul edx, dword [ebp - 0x34]
shl eax, 0x10
add edx, eax
movzx eax, byte [edi + 3]
sar edx, 0x10
movzx ecx, dl
shl ecx, 8
movzx eax, byte [ecx + eax + 0x95e5ac]
mov ecx, dword [ebp - 0x48]
mov byte [esi + 2], al
movzx eax, byte [edi + 3]
add edi, 4
mov byte [esi + 3], al
add esi, 4
sub dword [ebp - 0x44], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], esi
jne 0x4a1c46
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
sub dword [ebp - 0x3c], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], esi
jne case.0x4a0486.27
jmp case.0x4a0486.1
cmp dword [ebp + 0xc], 0
jne case.0x4a0486.28
movss xmm2, dword [0x6b8cd0]
nop dword [eax + eax]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x38], eax
movzx eax, byte [ebx + 3]
sub esp, 8
imul eax, ecx
mov dword [ebp - 0x40], eax
mov al, byte [ebx]
cmp al, 0x80
movzx eax, al
movd xmm0, eax
movzx eax, byte [edi]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
jae 0x4a1ddc
movss xmm1, dword [0x736664]
subss xmm1, xmm0
addss xmm1, xmm1
jmp 0x4a1de8
movss xmm1, dword [0x6b8530]
divss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm1
divss xmm0, xmm2
movss dword [esp], xmm0
call fcn.00497420
fstp dword [ebp - 0x14]
mov al, byte [ebx + 1]
add esp, 8
sub esp, 8
cmp al, 0x80
movzx eax, al
movd xmm0, eax
movzx eax, byte [edi + 1]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x6b8cd0]
jae 0x4a1e3b
movss xmm1, dword [0x736664]
subss xmm1, xmm0
addss xmm1, xmm1
jmp 0x4a1e47
movss xmm1, dword [0x6b8530]
divss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm1
divss xmm0, dword [0x6b8cd0]
movss dword [esp], xmm0
call fcn.00497420
fstp dword [ebp - 0x10]
mov al, byte [ebx + 2]
add esp, 8
sub esp, 8
cmp al, 0x80
movzx eax, al
movd xmm0, eax
movzx eax, byte [edi + 2]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x6b8cd0]
jae 0x4a1e9e
movss xmm1, dword [0x736664]
subss xmm1, xmm0
addss xmm1, xmm1
jmp 0x4a1eaa
movss xmm1, dword [0x6b8530]
divss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm1
divss xmm0, dword [0x6b8cd0]
movss dword [esp], xmm0
call fcn.00497420
movss xmm0, dword [ebp - 0x14]
lea eax, [ebp - 0x24]
movss xmm1, dword [0x6b8cd0]
add esp, 8
mulss xmm0, xmm1
fstp dword [ebp - 0xc]
push eax
movss dword [ebp - 0x14], xmm0
lea eax, [ebp - 0x14]
movss xmm0, dword [ebp - 0x10]
mulss xmm0, xmm1
push eax
movss dword [ebp - 0x10], xmm0
movss xmm0, dword [ebp - 0xc]
mulss xmm0, xmm1
movss dword [ebp - 0xc], xmm0
call fcn.004970b0
mov eax, dword [ebp - 0x24]
add esp, 8
mov ecx, 0xff
test eax, eax
jns 0x4a1f21
xor eax, eax
jmp 0x4a1f29
cmp eax, 0xff
cmovg eax, ecx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x20]
test eax, eax
jns 0x4a1f37
xor eax, eax
jmp 0x4a1f3f
cmp eax, 0xff
cmovg eax, ecx
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x44], eax
test edx, edx
jns 0x4a1f4d
xor edx, edx
jmp 0x4a1f56
cmp edx, 0xff
cmovg edx, ecx
movzx eax, byte [edi]
add ebx, 4
mov ecx, dword [ebp - 0x34]
sub ecx, eax
movss xmm2, dword [0x6b8cd0]
imul ecx, dword [ebp - 0x40]
shl eax, 0x10
add ecx, eax
sar ecx, 0x10
mov byte [esi], cl
movzx eax, byte [edi + 1]
mov ecx, dword [ebp - 0x44]
sub ecx, eax
shl eax, 0x10
imul ecx, dword [ebp - 0x40]
add ecx, eax
sar ecx, 0x10
mov byte [esi + 1], cl
movzx eax, byte [edi + 2]
mov ecx, dword [ebp - 0x48]
sub edx, eax
imul edx, dword [ebp - 0x40]
shl eax, 0x10
add edx, eax
sar edx, 0x10
mov byte [esi + 2], dl
mov al, byte [edi + 3]
add edi, 4
mov byte [esi + 3], al
add esi, 4
sub dword [ebp - 0x38], 1
jne 0x4a1da6
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
sub dword [ebp - 0x3c], 1
jne 0x4a1da0
jmp case.0x4a0486.1
movss xmm2, dword [0x6b8cd0]
nop dword [eax]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x44], eax
movzx edx, byte [ebx + 3]
sub esp, 8
mov eax, edx
imul eax, ecx
movzx ecx, byte [edi + 3]
mov dword [ebp - 0x4c], eax
movzx eax, byte [edi]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov dword [ebp - 0x40], eax
movzx eax, byte [edi + 1]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov dword [ebp - 0x54], eax
movzx eax, byte [edi + 2]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov dword [ebp - 0x50], eax
movzx eax, byte [ebx]
shl eax, 8
movzx ecx, byte [eax + edx + 0x96e5ac]
movzx eax, byte [ebx + 1]
shl eax, 8
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movzx eax, byte [eax + edx + 0x96e5ac]
mov dword [ebp - 0x34], eax
movzx eax, byte [ebx + 2]
shl eax, 8
divss xmm0, xmm2
movzx eax, byte [eax + edx + 0x96e5ac]
mov dword [ebp - 0x38], eax
cmp ecx, 0x80
jae 0x4a2085
movss xmm1, dword [0x736664]
subss xmm1, xmm0
addss xmm1, xmm1
jmp 0x4a2091
movss xmm1, dword [0x6b8530]
divss xmm1, xmm0
movd xmm0, dword [ebp - 0x40]
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm1
divss xmm0, xmm2
movss dword [esp], xmm0
call fcn.00497420
mov eax, dword [ebp - 0x34]
add esp, 8
sub esp, 8
fstp dword [ebp - 0x14]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x6b8cd0]
cmp eax, 0x80
jae 0x4a20e1
movss xmm1, dword [0x736664]
subss xmm1, xmm0
addss xmm1, xmm1
jmp 0x4a20ed
movss xmm1, dword [0x6b8530]
divss xmm1, xmm0
movd xmm0, dword [ebp - 0x54]
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm1
divss xmm0, dword [0x6b8cd0]
movss dword [esp], xmm0
call fcn.00497420
mov eax, dword [ebp - 0x38]
add esp, 8
sub esp, 8
fstp dword [ebp - 0x10]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x6b8cd0]
cmp eax, 0x80
jae 0x4a2141
movss xmm1, dword [0x736664]
subss xmm1, xmm0
addss xmm1, xmm1
jmp 0x4a214d
movss xmm1, dword [0x6b8530]
divss xmm1, xmm0
movd xmm0, dword [ebp - 0x50]
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm1
divss xmm0, dword [0x6b8cd0]
movss dword [esp], xmm0
call fcn.00497420
movss xmm0, dword [ebp - 0x14]
lea eax, [ebp - 0x24]
movss xmm1, dword [0x6b8cd0]
add esp, 8
mulss xmm0, xmm1
fstp dword [ebp - 0xc]
push eax
movss dword [ebp - 0x14], xmm0
lea eax, [ebp - 0x14]
movss xmm0, dword [ebp - 0x10]
mulss xmm0, xmm1
push eax
movss dword [ebp - 0x10], xmm0
movss xmm0, dword [ebp - 0xc]
mulss xmm0, xmm1
movss dword [ebp - 0xc], xmm0
call fcn.004970b0
mov ecx, dword [ebp - 0x24]
add esp, 8
mov edx, 0xff
test ecx, ecx
jns 0x4a21c5
xor ecx, ecx
jmp 0x4a21ce
cmp ecx, 0xff
cmovg ecx, edx
mov eax, dword [ebp - 0x20]
test eax, eax
jns 0x4a21d9
xor eax, eax
jmp 0x4a21e1
cmp eax, 0xff
cmovg eax, edx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x1c]
test eax, eax
jns 0x4a21ef
xor edx, edx
jmp 0x4a21fc
cmp eax, 0xff
cmovg eax, edx
mov dword [ebp - 0x38], eax
mov edx, eax
mov eax, dword [ebp - 0x40]
add ebx, 4
sub ecx, eax
movss xmm2, dword [0x6b8cd0]
imul ecx, dword [ebp - 0x4c]
shl eax, 0x10
add ecx, eax
movzx eax, byte [edi + 3]
sar ecx, 0x10
movzx ecx, cl
shl ecx, 8
movzx eax, byte [ecx + eax + 0x95e5ac]
mov ecx, dword [ebp - 0x54]
mov byte [esi], al
mov eax, dword [ebp - 0x34]
sub eax, ecx
shl ecx, 0x10
imul eax, dword [ebp - 0x4c]
add eax, ecx
sar eax, 0x10
movzx ecx, al
movzx eax, byte [edi + 3]
shl ecx, 8
movzx eax, byte [ecx + eax + 0x95e5ac]
mov byte [esi + 1], al
mov eax, dword [ebp - 0x50]
sub edx, eax
imul edx, dword [ebp - 0x4c]
shl eax, 0x10
add edx, eax
movzx eax, byte [edi + 3]
sar edx, 0x10
movzx ecx, dl
shl ecx, 8
movzx eax, byte [ecx + eax + 0x95e5ac]
mov ecx, dword [ebp - 0x48]
mov byte [esi + 2], al
movzx eax, byte [edi + 3]
add edi, 4
mov byte [esi + 3], al
add esi, 4
sub dword [ebp - 0x44], 1
jne 0x4a1fe6
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
sub dword [ebp - 0x3c], 1
jne 0x4a1fe0
jmp case.0x4a0486.1
cmp dword [ebp + 0xc], 0
jne case.0x4a0486.29
mov edx, 0xff
nop dword [eax]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x34], eax
movzx eax, byte [ebx + 3]
imul eax, ecx
mov dword [ebp - 0x40], eax
mov al, byte [ebx]
cmp al, 0x80
jae 0x4a22e6
movzx ecx, byte [edi]
movzx eax, al
imul ecx, eax
add ecx, ecx
sar ecx, 8
jmp 0x4a2312
movzx ecx, al
mov eax, 0x100
sub eax, ecx
shl ecx, 8
mov dword [ebp - 0x2c], eax
mov esi, dword [ebp - 0x2c]
movzx eax, byte [edi]
imul esi, eax
mov dword [ebp - 0x2c], esi
add dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x30]
add ecx, ecx
sar ecx, 8
sub ecx, edx
mov al, byte [ebx + 1]
cmp ecx, edx
cmovg ecx, edx
mov dword [ebp - 0x2c], ecx
cmp al, 0x80
jae 0x4a2332
movzx ecx, byte [edi + 1]
movzx eax, al
imul ecx, eax
add ecx, ecx
sar ecx, 8
jmp 0x4a235f
movzx ecx, al
mov eax, 0x100
sub eax, ecx
shl ecx, 8
mov dword [ebp - 0x28], eax
mov esi, dword [ebp - 0x28]
movzx eax, byte [edi + 1]
imul esi, eax
mov dword [ebp - 0x28], esi
add dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x30]
add ecx, ecx
sar ecx, 8
sub ecx, edx
mov al, byte [ebx + 2]
cmp ecx, edx
cmovg ecx, edx
mov dword [ebp - 0x28], ecx
movzx ecx, al
cmp al, 0x80
jae 0x4a237f
movzx eax, byte [edi + 2]
imul ecx, eax
add ecx, ecx
sar ecx, 8
jmp 0x4a23a9
mov eax, 0x100
sub eax, ecx
shl ecx, 8
mov dword [ebp - 0x4c], eax
mov esi, dword [ebp - 0x4c]
movzx eax, byte [edi + 2]
imul esi, eax
mov dword [ebp - 0x4c], esi
add dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x30]
add ecx, ecx
sar ecx, 8
sub ecx, edx
movzx eax, byte [edi]
cmp ecx, edx
cmovg ecx, edx
add ebx, 4
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x2c]
sub ecx, eax
shl eax, 0x10
imul ecx, dword [ebp - 0x40]
add ecx, eax
sar ecx, 0x10
mov byte [esi], cl
movzx eax, byte [edi + 1]
mov ecx, dword [ebp - 0x28]
sub ecx, eax
shl eax, 0x10
imul ecx, dword [ebp - 0x40]
add ecx, eax
sar ecx, 0x10
mov byte [esi + 1], cl
movzx eax, byte [edi + 2]
mov ecx, dword [ebp - 0x4c]
sub ecx, eax
shl eax, 0x10
imul ecx, dword [ebp - 0x40]
add ecx, eax
sar ecx, 0x10
mov byte [esi + 2], cl
mov al, byte [edi + 3]
add edi, 4
mov ecx, dword [ebp - 0x48]
mov byte [esi + 3], al
add esi, 4
sub dword [ebp - 0x34], 1
mov dword [ebp - 0x30], esi
jne 0x4a22c6
add esi, dword [ebp - 0x60]
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
sub dword [ebp - 0x3c], 1
mov dword [ebp - 0x30], esi
jne 0x4a22c0
jmp case.0x4a0486.1
mov edx, 0xff
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x44], eax
nop dword [eax]
movzx ecx, byte [ebx + 3]
movzx eax, byte [edi + 3]
mov dword [ebp - 0x34], eax
movzx eax, byte [edi]
shl eax, 8
mov dword [ebp - 0x40], ecx
imul ecx, dword [ebp - 0x48]
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x34]
movzx eax, byte [eax + ecx + 0x96e5ac]
mov dword [ebp - 0x4c], eax
movzx eax, byte [edi + 1]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov dword [ebp - 0x2c], eax
movzx eax, byte [edi + 2]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x28], eax
movzx eax, byte [ebx]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov dword [ebp - 0x40], eax
movzx eax, byte [ebx + 1]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov dword [ebp - 0x50], eax
movzx eax, byte [ebx + 2]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x40]
cmp eax, 0x80
jae 0x4a24da
imul eax, dword [ebp - 0x4c]
add eax, eax
sar eax, 8
jmp 0x4a24f7
mov ecx, 0x100
sub ecx, dword [ebp - 0x4c]
imul ecx, eax
mov eax, dword [ebp - 0x4c]
shl eax, 8
add eax, ecx
add eax, eax
sar eax, 8
sub eax, 0xff
mov ecx, dword [ebp - 0x50]
cmp eax, 0xff
cmovg eax, edx
mov dword [ebp - 0x40], eax
cmp ecx, 0x80
jae 0x4a2518
imul ecx, dword [ebp - 0x2c]
add ecx, ecx
sar ecx, 8
jmp 0x4a2533
mov eax, dword [ebp - 0x2c]
mov ecx, 0x100
sub ecx, dword [ebp - 0x2c]
imul ecx, dword [ebp - 0x50]
shl eax, 8
add ecx, eax
add ecx, ecx
sar ecx, 8
sub ecx, edx
mov eax, dword [ebp - 0x54]
cmp ecx, edx
cmovg ecx, edx
mov dword [ebp - 0x50], ecx
cmp eax, 0x80
jae 0x4a2550
imul eax, dword [ebp - 0x28]
add eax, eax
sar eax, 8
jmp 0x4a2570
mov ecx, 0x100
sub ecx, dword [ebp - 0x28]
imul ecx, eax
mov eax, dword [ebp - 0x28]
shl eax, 8
add eax, ecx
mov ecx, dword [ebp - 0x50]
add eax, eax
sar eax, 8
sub eax, 0xff
cmp eax, 0xff
mov esi, dword [ebp - 0x34]
cmovg eax, edx
add ebx, 4
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x4c]
imul eax, dword [ebp - 0x38]
shl dword [ebp - 0x4c], 0x10
add eax, dword [ebp - 0x4c]
sar eax, 0x10
movzx eax, al
shl eax, 8
movzx eax, byte [eax + esi + 0x95e5ac]
mov esi, dword [ebp - 0x30]
mov byte [esi], al
mov eax, dword [ebp - 0x2c]
sub ecx, eax
imul ecx, dword [ebp - 0x38]
shl eax, 0x10
add ecx, eax
movzx eax, byte [edi + 3]
sar ecx, 0x10
movzx ecx, cl
shl ecx, 8
movzx eax, byte [ecx + eax + 0x95e5ac]
mov ecx, dword [ebp - 0x28]
mov byte [esi + 1], al
mov eax, dword [ebp - 0x54]
sub eax, ecx
shl ecx, 0x10
imul eax, dword [ebp - 0x38]
add eax, ecx
sar eax, 0x10
movzx ecx, al
movzx eax, byte [edi + 3]
shl ecx, 8
movzx eax, byte [ecx + eax + 0x95e5ac]
mov byte [esi + 2], al
movzx eax, byte [edi + 3]
add edi, 4
mov byte [esi + 3], al
add esi, 4
sub dword [ebp - 0x44], 1
mov dword [ebp - 0x30], esi
jne 0x4a2440
add esi, dword [ebp - 0x60]
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
sub dword [ebp - 0x3c], 1
mov dword [ebp - 0x30], esi
jne 0x4a2436
jmp case.0x4a0486.1
cmp dword [ebp + 0xc], 0
jne case.0x4a0486.30
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x34], eax
nop dword [eax]
movzx edi, byte [ebx + 3]
movzx eax, byte [ebx]
mov edx, dword [ebp - 0x2c]
imul edi, ecx
mov ecx, 0x80
sub ecx, eax
shl eax, 7
movzx esi, byte [edx]
imul ecx, esi
add ecx, eax
mov eax, 0xff
add ecx, ecx
sar ecx, 8
cmp ecx, 0xff
cmovg ecx, eax
movzx eax, byte [edx + 1]
mov dword [ebp - 0x44], ecx
mov edx, 0x80
movzx ecx, byte [ebx + 1]
mov ebx, 0x80
sub ebx, ecx
shl ecx, 7
imul ebx, eax
mov eax, 0xff
add ebx, ecx
add ebx, ebx
sar ebx, 8
cmp ebx, 0xff
cmovg ebx, eax
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax + 2]
mov eax, dword [ebp - 0x2c]
sub edx, ecx
shl ecx, 7
movzx eax, byte [eax + 2]
imul edx, eax
mov eax, 0xff
add edx, ecx
mov ecx, dword [ebp - 0x2c]
add edx, edx
sar edx, 8
cmp edx, 0xff
cmovg edx, eax
mov eax, dword [ebp - 0x44]
sub eax, esi
shl esi, 0x10
imul eax, edi
add eax, esi
mov esi, dword [ebp - 0x30]
sar eax, 0x10
mov byte [esi], al
movzx eax, byte [ecx + 1]
sub ebx, eax
shl eax, 0x10
imul ebx, edi
add ebx, eax
sar ebx, 0x10
mov byte [esi + 1], bl
movzx eax, byte [ecx + 2]
mov ebx, dword [ebp - 0x28]
sub edx, eax
imul edx, edi
add ebx, 4
shl eax, 0x10
mov edi, ecx
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x28], ebx
add edx, eax
sar edx, 0x10
mov byte [esi + 2], dl
mov al, byte [edi + 3]
add edi, 4
mov byte [esi + 3], al
add esi, 4
sub dword [ebp - 0x34], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], esi
jne 0x4a2640
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
sub dword [ebp - 0x3c], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], esi
jne 0x4a2636
jmp case.0x4a0486.1
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x40], eax
movzx edx, byte [ebx + 3]
mov ebx, dword [ebp - 0x2c]
mov eax, edx
imul eax, ecx
movzx ecx, byte [edi + 3]
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x44], eax
movzx eax, byte [edi]
shl eax, 8
movzx edi, byte [eax + ecx + 0x96e5ac]
movzx eax, byte [ebx + 1]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov dword [ebp - 0x34], eax
movzx eax, byte [ebx + 2]
mov ebx, dword [ebp - 0x28]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov dword [ebp - 0x38], eax
movzx eax, byte [ebx + 1]
shl eax, 8
movzx ecx, byte [eax + edx + 0x96e5ac]
movzx eax, byte [ebx + 2]
shl eax, 8
movzx esi, byte [eax + edx + 0x96e5ac]
movzx eax, byte [ebx]
mov ebx, 0x80
shl eax, 8
movzx edx, byte [eax + edx + 0x96e5ac]
mov eax, 0x80
sub eax, edi
imul edx, eax
mov eax, edi
shl eax, 7
add edx, eax
mov eax, 0xff
add edx, edx
sar edx, 8
cmp edx, 0xff
cmovg edx, eax
sub ebx, dword [ebp - 0x34]
imul ebx, ecx
mov ecx, dword [ebp - 0x34]
mov eax, ecx
shl eax, 7
mov dword [ebp - 0x54], edx
mov edx, 0x80
add ebx, eax
mov eax, 0xff
add ebx, ebx
sar ebx, 8
cmp ebx, 0xff
cmovg ebx, eax
mov eax, dword [ebp - 0x38]
sub edx, eax
shl eax, 7
imul edx, esi
mov esi, dword [ebp - 0x50]
add edx, eax
mov eax, 0xff
add edx, edx
sar edx, 8
cmp edx, 0xff
cmovg edx, eax
mov eax, dword [ebp - 0x54]
sub eax, edi
sub ebx, ecx
imul eax, dword [ebp - 0x44]
imul ebx, dword [ebp - 0x44]
shl edi, 0x10
shl ecx, 0x10
add eax, edi
sar eax, 0x10
add ebx, ecx
movzx eax, al
shl eax, 8
sar ebx, 0x10
movzx ecx, bl
movzx eax, byte [eax + esi + 0x95e5ac]
mov esi, dword [ebp - 0x30]
mov byte [esi], al
mov edi, dword [ebp - 0x2c]
shl ecx, 8
mov ebx, dword [ebp - 0x28]
add ebx, 4
movzx eax, byte [edi + 3]
mov dword [ebp - 0x28], ebx
movzx eax, byte [ecx + eax + 0x95e5ac]
mov ecx, esi
mov byte [ecx + 1], al
mov eax, dword [ebp - 0x38]
sub edx, eax
imul edx, dword [ebp - 0x44]
shl eax, 0x10
add edx, eax
movzx eax, byte [edi + 3]
sar edx, 0x10
movzx ecx, dl
shl ecx, 8
movzx eax, byte [ecx + eax + 0x95e5ac]
mov ecx, dword [ebp - 0x48]
mov byte [esi + 2], al
movzx eax, byte [edi + 3]
add edi, 4
mov byte [esi + 3], al
add esi, 4
sub dword [ebp - 0x40], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], esi
jne 0x4a2766
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
sub dword [ebp - 0x3c], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], esi
jne case.0x4a0486.30
jmp case.0x4a0486.1
cmp dword [ebp + 0xc], 0
jne case.0x4a0486.31
nop word [eax + eax]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x34], eax
nop word [eax + eax]
movzx eax, byte [ebx + 3]
mov edx, 0x100
imul eax, ecx
sar eax, 8
sub edx, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x50], edx
movzx edx, byte [edi + 3]
mov dword [ebp - 0x44], edx
imul edx, dword [ebp - 0x50]
shl eax, 8
add edx, eax
mov dword [ebp - 0x40], edx
je 0x4a29d1
movzx eax, byte [edi]
xor edx, edx
imul eax, dword [ebp - 0x44]
movzx ecx, byte [ebx]
imul ecx, dword [ebp - 0x38]
imul eax, dword [ebp - 0x50]
shl ecx, 8
add eax, ecx
div dword [ebp - 0x40]
xor edx, edx
mov byte [esi], al
movzx ecx, byte [edi + 3]
movzx eax, byte [edi + 1]
imul eax, ecx
movzx ecx, byte [ebx + 1]
imul ecx, dword [ebp - 0x38]
imul eax, dword [ebp - 0x50]
shl ecx, 8
add eax, ecx
div dword [ebp - 0x40]
xor edx, edx
mov byte [esi + 1], al
movzx ecx, byte [edi + 3]
movzx eax, byte [edi + 2]
imul eax, ecx
movzx ecx, byte [ebx + 2]
imul ecx, dword [ebp - 0x38]
imul eax, dword [ebp - 0x50]
shl ecx, 8
add eax, ecx
mov ecx, dword [ebp - 0x40]
div ecx
shr ecx, 8
mov byte [esi + 3], cl
mov ecx, dword [ebp - 0x48]
mov byte [esi + 2], al
add edi, 4
add ebx, 4
add esi, 4
sub dword [ebp - 0x34], 1
jne 0x4a2930
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
sub dword [ebp - 0x3c], 1
jne 0x4a2920
jmp case.0x4a0486.1
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x44], eax
movzx eax, byte [edi + 3]
mov dword [ebp - 0x4c], eax
mov esi, dword [ebp - 0x4c]
movzx eax, byte [edi]
shl eax, 8
movzx ecx, byte [ebx + 3]
mov edx, ecx
imul edx, dword [ebp - 0x48]
movzx eax, byte [eax + esi + 0x96e5ac]
mov dword [ebp - 0x40], eax
movzx eax, byte [edi + 1]
shl eax, 8
sar edx, 8
mov dword [ebp - 0x34], edx
movzx eax, byte [eax + esi + 0x96e5ac]
mov dword [ebp - 0x50], eax
movzx eax, byte [edi + 2]
shl eax, 8
movzx eax, byte [eax + esi + 0x96e5ac]
mov dword [ebp - 0x28], eax
movzx eax, byte [ebx]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov dword [ebp - 0x54], eax
movzx eax, byte [ebx + 1]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov dword [ebp - 0x2c], eax
movzx eax, byte [ebx + 2]
shl eax, 8
movzx eax, byte [eax + ecx + 0x96e5ac]
mov ecx, esi
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x6c], eax
mov eax, 0x100
sub eax, edx
imul ecx, eax
mov dword [ebp - 0x38], eax
mov eax, edx
shl eax, 8
add ecx, eax
mov dword [ebp - 0x4c], ecx
je 0x4a2b48
mov eax, ecx
mov ecx, edx
imul ecx, dword [ebp - 0x54]
xor edx, edx
shr eax, 8
mov byte [esi + 3], al
movzx esi, al
movzx eax, byte [edi + 3]
imul eax, dword [ebp - 0x38]
shl ecx, 8
imul eax, dword [ebp - 0x40]
add eax, ecx
mov ecx, dword [ebp - 0x30]
div dword [ebp - 0x4c]
xor edx, edx
movzx eax, al
shl eax, 8
movzx eax, byte [eax + esi + 0x95e5ac]
mov byte [ecx], al
movzx eax, byte [edi + 3]
imul eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
imul ecx, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x50]
shl ecx, 8
add eax, ecx
mov ecx, dword [ebp - 0x30]
div dword [ebp - 0x4c]
xor edx, edx
movzx eax, al
shl eax, 8
movzx eax, byte [eax + esi + 0x95e5ac]
mov byte [ecx + 1], al
movzx eax, byte [edi + 3]
imul eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
imul ecx, dword [ebp - 0x6c]
imul eax, dword [ebp - 0x28]
shl ecx, 8
add eax, ecx
div dword [ebp - 0x4c]
movzx eax, al
shl eax, 8
movzx eax, byte [eax + esi + 0x95e5ac]
mov esi, dword [ebp - 0x30]
mov byte [esi + 2], al
add esi, 4
add edi, 4
add ebx, 4
mov dword [ebp - 0x30], esi
sub dword [ebp - 0x44], 1
jne 0x4a2a06
add esi, dword [ebp - 0x60]
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
sub dword [ebp - 0x3c], 1
mov dword [ebp - 0x30], esi
jne case.0x4a0486.31
jmp case.0x4a0486.1
cmp dword [ebp + 0xc], 0
jne case.0x4a0486.32
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x44], eax
nop dword [eax]
movzx eax, byte [ebx + 3]
movzx edx, byte [edi + 3]
imul eax, ecx
mov dword [ebp - 0x34], edx
mov edx, 0x100
sar eax, 8
sub edx, eax
mov dword [ebp - 0x38], eax
imul edx, dword [ebp - 0x34]
shl eax, 8
add edx, eax
shr edx, 8
mov dword [ebp - 0x50], edx
test edx, edx
je 0x4a2c4c
movzx eax, byte [ebx]
xor edx, edx
imul eax, dword [ebp - 0x38]
movzx ecx, byte [edi]
imul ecx, dword [ebp - 0x34]
add eax, ecx
div dword [ebp - 0x50]
cmp eax, 0xff
movzx ecx, al
mov eax, 0xff
cmova ecx, eax
xor edx, edx
mov byte [esi], cl
movzx ecx, byte [edi + 3]
movzx eax, byte [edi + 1]
imul eax, ecx
movzx ecx, byte [ebx + 1]
imul ecx, dword [ebp - 0x38]
add eax, ecx
div dword [ebp - 0x50]
cmp eax, 0xff
movzx ecx, al
mov eax, 0xff
cmova ecx, eax
xor edx, edx
mov byte [esi + 1], cl
movzx ecx, byte [edi + 3]
movzx eax, byte [edi + 2]
imul eax, ecx
movzx ecx, byte [ebx + 2]
imul ecx, dword [ebp - 0x38]
add eax, ecx
div dword [ebp - 0x50]
movzx ecx, al
cmp eax, 0xff
mov eax, 0xff
cmova ecx, eax
mov eax, dword [ebp - 0x50]
mov byte [esi + 2], cl
mov ecx, dword [ebp - 0x48]
mov byte [esi + 3], al
add edi, 4
add ebx, 4
add esi, 4
sub dword [ebp - 0x44], 1
jne 0x4a2b90
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
sub dword [ebp - 0x3c], 1
jne 0x4a2b83
jmp case.0x4a0486.1
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x44], eax
nop word [eax + eax]
movzx edx, byte [edi + 3]
movzx eax, byte [edi + 1]
shl eax, 8
mov dword [ebp - 0x34], edx
movzx eax, byte [eax + edx + 0x96e5ac]
mov dword [ebp - 0x40], eax
movzx eax, byte [edi + 2]
shl eax, 8
movzx eax, byte [eax + edx + 0x96e5ac]
movzx edx, byte [ebx + 3]
mov dword [ebp - 0x50], eax
movzx eax, byte [ebx + 1]
shl eax, 8
mov dword [ebp - 0x6c], edx
movzx eax, byte [eax + edx + 0x96e5ac]
mov dword [ebp - 0x54], eax
movzx eax, byte [ebx + 2]
shl eax, 8
movzx eax, byte [eax + edx + 0x96e5ac]
mov dword [ebp - 0x2c], eax
mov eax, edx
imul eax, ecx
mov edx, 0x100
sar eax, 8
sub edx, eax
mov dword [ebp - 0x38], eax
imul edx, dword [ebp - 0x34]
shl eax, 8
add edx, eax
shr edx, 8
mov dword [ebp - 0x4c], edx
test edx, edx
je 0x4a2ddb
movzx eax, byte [ebx]
mov ecx, dword [ebp - 0x6c]
shl eax, 8
mov edx, dword [ebp - 0x34]
movzx eax, byte [eax + ecx + 0x96e5ac]
imul eax, dword [ebp - 0x38]
movzx ecx, byte [edi]
shl ecx, 8
movzx ecx, byte [ecx + edx + 0x96e5ac]
imul ecx, edx
xor edx, edx
add eax, ecx
div dword [ebp - 0x4c]
cmp eax, 0xff
movzx ecx, al
mov eax, 0xff
cmova ecx, eax
xor edx, edx
movzx eax, cl
mov ecx, dword [ebp - 0x4c]
shl eax, 8
movzx eax, byte [eax + ecx + 0x95e5ac]
mov ecx, dword [ebp - 0x38]
imul ecx, dword [ebp - 0x54]
mov byte [esi], al
movzx eax, byte [edi + 3]
imul eax, dword [ebp - 0x40]
add eax, ecx
div dword [ebp - 0x4c]
mov edx, dword [ebp - 0x38]
cmp eax, 0xff
movzx ecx, al
mov eax, 0xff
cmova ecx, eax
imul edx, dword [ebp - 0x2c]
movzx eax, cl
mov ecx, dword [ebp - 0x4c]
shl eax, 8
movzx eax, byte [eax + ecx + 0x95e5ac]
mov byte [esi + 1], al
movzx eax, byte [edi + 3]
imul eax, dword [ebp - 0x50]
add eax, edx
xor edx, edx
div ecx
movzx ecx, al
cmp eax, 0xff
mov eax, 0xff
cmova ecx, eax
movzx eax, cl
mov ecx, dword [ebp - 0x4c]
shl eax, 8
movzx eax, byte [eax + ecx + 0x95e5ac]
mov byte [esi + 3], cl
mov ecx, dword [ebp - 0x48]
mov byte [esi + 2], al
add edi, 4
add ebx, 4
add esi, 4
sub dword [ebp - 0x44], 1
jne 0x4a2c90
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
sub dword [ebp - 0x3c], 1
jne case.0x4a0486.32
jmp case.0x4a0486.1
cmp dword [ebp + 0xc], 0
jne case.0x4a0486.33
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x34], eax
nop word [eax + eax]
movzx eax, byte [edi + 3]
movzx edx, byte [ebx + 3]
add ebx, 4
imul edx, eax
movzx eax, byte [edi]
mov byte [esi], al
movzx eax, byte [edi + 1]
mov byte [esi + 1], al
movzx eax, byte [edi + 2]
mov byte [esi + 2], al
movzx ecx, byte [edi + 3]
add edi, 4
shr edx, 8
sub edx, ecx
shl ecx, 0x10
imul edx, dword [ebp - 0x48]
imul eax, edx, 0xff
add eax, ecx
sar eax, 0x10
mov byte [esi + 3], al
add esi, 4
sub dword [ebp - 0x34], 1
jne 0x4a2e20
add edi, dword [ebp - 0x5c]
add ebx, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
sub dword [ebp - 0x3c], 1
jne 0x4a2e10
jmp case.0x4a0486.1
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x34], eax
movzx ecx, byte [edi + 3]
movzx eax, byte [edi]
shl eax, 8
movzx edx, byte [eax + ecx + 0x96e5ac]
movzx eax, byte [edi + 1]
shl eax, 8
shl edx, 8
movzx esi, byte [eax + ecx + 0x96e5ac]
movzx eax, byte [edi + 2]
shl eax, 8
shl esi, 8
movzx edi, byte [eax + ecx + 0x96e5ac]
movzx eax, byte [ebx + 3]
add ebx, 4
imul eax, ecx
shl edi, 8
shr eax, 8
sub eax, ecx
shl ecx, 0x10
imul eax, dword [ebp - 0x48]
imul eax, eax, 0xff
add eax, ecx
mov ecx, dword [ebp - 0x30]
sar eax, 0x10
mov byte [ecx + 3], al
movzx eax, al
movzx eax, byte [edx + eax + 0x95e5ac]
mov byte [ecx], al
movzx eax, byte [ecx + 3]
movzx eax, byte [esi + eax + 0x95e5ac]
mov esi, ecx
mov byte [esi + 1], al
movzx eax, byte [esi + 3]
movzx eax, byte [edi + eax + 0x95e5ac]
mov edi, dword [ebp - 0x2c]
mov byte [esi + 2], al
add edi, 4
add esi, 4
mov dword [ebp - 0x2c], edi
sub dword [ebp - 0x34], 1
mov dword [ebp - 0x30], esi
jne 0x4a2e86
add edi, dword [ebp - 0x5c]
add esi, dword [ebp - 0x60]
add ebx, dword [ebp - 0x5c]
sub dword [ebp - 0x3c], 1
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], esi
jne case.0x4a0486.33
push dword [ebp - 0x68]
call fcn.004ad030
mov ecx, dword [ebp - 4]
add esp, 4
xor ecx, ebp
xor eax, eax
pop edi
pop ebx
pop esi
call fcn.005c33e1
mov esp, ebp
pop ebp
ret