Function at 0x4f50a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x228
mov eax, dword [0x79b0b4]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x14]
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x224], edi
mov dword [ebp - 0x21c], ecx
mov eax, dword [edi + 8]
mov ebx, dword [edi + 0x10]
mov dword [ebp - 0x20c], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x210], edx
mov dword [ebp - 0x208], ebx
mov dword [ebp - 0x228], eax
cmp eax, 0x200
jae 0x4f5104
lea edi, [ebp - 0x204]
jmp 0x4f5106
mov edi, dword [edi]
movsx esi, word [ecx]
sub esi, dword [ebp + 0x10]
mov eax, esi
sar eax, 0x1f
add esi, eax
xor eax, esi
movzx ecx, byte [eax + 0x7569e0]
mov dword [ebp - 0x218], ecx
mov eax, dword [edx + ecx*4]
mov edx, 1
mov dword [ebp - 0x220], edx
shl edx, cl
dec edx
shl eax, cl
and edx, esi
mov esi, 2
or eax, edx
mov edx, dword [ebp - 0x210]
movsx ecx, byte [edx + ecx + 0x400]
mov edx, dword [ebp - 0x218]
add edx, ecx
sub ebx, edx
jns 0x4f521c
mov ecx, ebx
mov edx, eax
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x208]
shl dword [ebp - 0x20c], cl
or edx, dword [ebp - 0x20c]
mov dword [ebp - 0x208], edx
lea ecx, [edx + 0x1010101]
not ecx
and ecx, edx
test ecx, 0x80808080
mov ecx, edx
je 0x4f51fc
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, esi
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, dword [ebp - 0x208]
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, esi
sub ecx, edx
add edi, ecx
mov ecx, dword [ebp - 0x208]
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, esi
sub ecx, edx
add edi, ecx
mov ecx, dword [ebp - 0x208]
cmp cl, 0xff
sbb edx, edx
mov byte [edi], cl
neg edx
mov ecx, esi
mov byte [edi + 1], 0
sub ecx, edx
add edi, ecx
add ebx, 0x20
jmp 0x4f5228
shr ecx, 0x18
mov byte [edi], cl
mov ecx, edx
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, edx
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f5228
mov ecx, edx
mov edx, dword [ebp - 0x20c]
shl edx, cl
or eax, edx
mov ecx, dword [ebp - 0x21c]
mov esi, dword [ebp - 0x214]
movsx edx, word [ecx + 2]
test edx, edx
jne 0x4f5246
mov edx, 0x10
jmp 0x4f537a
mov ecx, edx
mov dword [ebp - 0x208], ebx
sar ecx, 0x1f
add edx, ecx
xor ecx, edx
mov dword [ebp - 0x210], edx
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
mov edx, dword [esi + ecx*4]
shl edx, cl
mov dword [ebp - 0x214], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
movsx ecx, byte [esi + ecx + 0x400]
dec edx
and edx, dword [ebp - 0x210]
or dword [ebp - 0x214], edx
mov edx, dword [ebp - 0x218]
add edx, ecx
sub ebx, edx
jns 0x4f5368
mov edx, dword [ebp - 0x214]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x208]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f5342
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x214]
add ebx, 0x20
jmp 0x4f5372
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x214]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f5372
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x21c]
xor edx, edx
movsx ecx, word [ecx + 0x10]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f5390
add edx, 0x10
jmp 0x4f54cc
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
mov dword [ebp - 0x218], ebx
movzx ecx, byte [ecx + 0x7569e0]
add edx, ecx
mov dword [ebp - 0x210], ecx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x210]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f54c0
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x218]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f549a
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f54ca
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f54ca
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x20]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f54e8
add edx, 0x10
jmp 0x4f5624
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
mov dword [ebp - 0x218], ebx
movzx ecx, byte [ecx + 0x7569e0]
add edx, ecx
mov dword [ebp - 0x210], ecx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x210]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f5618
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x218]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f55f2
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f5622
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f5622
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x12]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f5640
add edx, 0x10
jmp 0x4f577c
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
mov dword [ebp - 0x218], ebx
movzx ecx, byte [ecx + 0x7569e0]
add edx, ecx
mov dword [ebp - 0x210], ecx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x210]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f5770
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x218]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f574a
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f577a
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f577a
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 4]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f5798
add edx, 0x10
jmp 0x4f58d4
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
mov dword [ebp - 0x218], ebx
movzx ecx, byte [ecx + 0x7569e0]
add edx, ecx
mov dword [ebp - 0x210], ecx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x210]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f58c8
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x218]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f58a2
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f58d2
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f58d2
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 6]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f58f0
add edx, 0x10
jmp 0x4f5b3b
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4f5a17
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x20c], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f59fa
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f59d4
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f59fe
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f59fe
shl eax, cl
or eax, edx
sub dword [ebp - 0x20c], 1
jne 0x4f5930
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f5b2f
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f5b09
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f5b39
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f5b39
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x14]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f5b57
add edx, 0x10
jmp 0x4f5da7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x210], ecx
cmp edx, 0x100
jb 0x4f5c87
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x218], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f5c6a
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f5c44
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f5c6e
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f5c6e
shl eax, cl
or eax, edx
sub dword [ebp - 0x218], 1
jne 0x4f5ba0
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x210]
add edx, ecx
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x210]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f5d9b
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x218]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f5d75
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f5da5
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f5da5
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x22]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f5dc3
add edx, 0x10
jmp 0x4f6017
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4f5ef7
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f5eda
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f5eb4
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f5ede
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f5ede
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f5e10
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f600b
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f5fe5
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f6015
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f6015
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x30]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f6033
add edx, 0x10
jmp 0x4f6287
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4f6167
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f614a
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f6124
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f614e
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f614e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f6080
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f627b
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f6255
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f6285
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f6285
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x40]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f62a3
add edx, 0x10
jmp 0x4f64f7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4f63d7
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f63ba
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f6394
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f63be
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f63be
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f62f0
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f64eb
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f64c5
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f64f5
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f64f5
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x32]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f6513
add edx, 0x10
jmp 0x4f6767
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4f6647
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f662a
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f6604
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f662e
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f662e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f6560
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f675b
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f6735
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f6765
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f6765
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x24]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f6783
add edx, 0x10
jmp 0x4f69d7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4f68b7
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f689a
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f6874
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f689e
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f689e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f67d0
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f69cb
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f69a5
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f69d5
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f69d5
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x16]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f69f3
add edx, 0x10
jmp 0x4f6c47
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4f6b27
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f6b0a
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f6ae4
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f6b0e
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f6b0e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f6a40
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f6c3b
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f6c15
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f6c45
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f6c45
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 8]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f6c63
add edx, 0x10
jmp 0x4f6eb7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4f6d97
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f6d7a
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f6d54
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f6d7e
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f6d7e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f6cb0
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f6eab
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f6e85
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f6eb5
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f6eb5
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0xa]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f6ed3
add edx, 0x10
jmp 0x4f7127
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4f7007
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f6fea
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f6fc4
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f6fee
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f6fee
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f6f20
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f711b
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f70f5
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f7125
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f7125
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x18]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f7143
add edx, 0x10
jmp 0x4f7397
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4f7277
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f725a
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f7234
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f725e
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f725e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f7190
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f738b
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f7365
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f7395
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f7395
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x26]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f73b3
add edx, 0x10
jmp 0x4f7607
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4f74e7
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f74ca
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f74a4
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f74ce
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f74ce
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f7400
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f75fb
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f75d5
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f7605
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f7605
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x34]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f7623
add edx, 0x10
jmp 0x4f7877
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4f7757
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f773a
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f7714
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f773e
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f773e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f7670
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f786b
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f7845
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f7875
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f7875
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x42]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f7893
add edx, 0x10
jmp 0x4f7ae7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4f79c7
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f79aa
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f7984
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f79ae
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f79ae
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f78e0
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f7adb
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f7ab5
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f7ae5
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f7ae5
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x50]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f7b03
add edx, 0x10
jmp 0x4f7d57
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4f7c37
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f7c1a
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f7bf4
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f7c1e
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f7c1e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f7b50
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f7d4b
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f7d25
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f7d55
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f7d55
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x60]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f7d73
add edx, 0x10
jmp 0x4f7fc7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4f7ea7
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f7e8a
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f7e64
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f7e8e
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f7e8e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f7dc0
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f7fbb
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f7f95
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f7fc5
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f7fc5
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x52]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f7fe3
add edx, 0x10
jmp 0x4f8237
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4f8117
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f80fa
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f80d4
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f80fe
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f80fe
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f8030
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f822b
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f8205
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f8235
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f8235
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x44]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f8253
add edx, 0x10
jmp 0x4f84a7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4f8387
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f836a
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f8344
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f836e
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f836e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f82a0
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f849b
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f8475
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f84a5
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f84a5
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x36]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f84c3
add edx, 0x10
jmp 0x4f8717
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4f85f7
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f85da
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f85b4
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f85de
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f85de
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f8510
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f870b
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f86e5
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f8715
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f8715
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x28]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f8733
add edx, 0x10
jmp 0x4f8987
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4f8867
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f884a
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f8824
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f884e
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f884e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f8780
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f897b
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f8955
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f8985
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f8985
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x1a]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f89a3
add edx, 0x10
jmp 0x4f8bf7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4f8ad7
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f8aba
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f8a94
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f8abe
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f8abe
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f89f0
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f8beb
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f8bc5
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f8bf5
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f8bf5
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0xc]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f8c13
add edx, 0x10
jmp 0x4f8e67
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4f8d47
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f8d2a
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f8d04
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f8d2e
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f8d2e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f8c60
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f8e5b
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f8e35
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f8e65
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f8e65
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0xe]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f8e83
add edx, 0x10
jmp 0x4f90d7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4f8fb7
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f8f9a
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f8f74
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f8f9e
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f8f9e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f8ed0
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f90cb
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f90a5
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f90d5
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f90d5
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x1c]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f90f3
add edx, 0x10
jmp 0x4f9347
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x4f9227
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f920a
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f91e4
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f920e
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f920e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f9140
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f933b
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f9315
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f9345
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f9345
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x2a]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f9363
add edx, 0x10
jmp 0x4f95b7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x4f9497
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f947a
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f9454
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f947e
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f947e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f93b0
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f95ab
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f9585
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f95b5
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f95b5
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x38]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f95d3
add edx, 0x10
jmp 0x4f9827
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x4f9707
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f96ea
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f96c4
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f96ee
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f96ee
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f9620
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f981b
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f97f5
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f9825
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f9825
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x46]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f9843
add edx, 0x10
jmp 0x4f9a97
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x4f9977
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f995a
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f9934
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f995e
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f995e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f9890
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f9a8b
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f9a65
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f9a95
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f9a95
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x54]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f9ab3
add edx, 0x10
jmp 0x4f9d07
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x4f9be7
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f9bca
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f9ba4
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f9bce
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f9bce
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f9b00
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f9cfb
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f9cd5
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f9d05
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f9d05
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x62]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f9d23
add edx, 0x10
jmp 0x4f9f77
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x4f9e57
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4f9e3a
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4f9e14
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f9e3e
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4f9e3e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f9d70
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4f9f6b
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4f9f45
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4f9f75
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4f9f75
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x70]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4f9f93
add edx, 0x10
jmp 0x4fa1e7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x4fa0c7
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4fa0aa
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4fa084
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4fa0ae
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4fa0ae
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4f9fe0
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4fa1db
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4fa1b5
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4fa1e5
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4fa1e5
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x72]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4fa203
add edx, 0x10
jmp 0x4fa457
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x4fa337
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4fa31a
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4fa2f4
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4fa31e
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4fa31e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4fa250
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4fa44b
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4fa425
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4fa455
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4fa455
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x64]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4fa473
add edx, 0x10
jmp 0x4fa6cd
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x4fa5aa
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4fa58d
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4fa564
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4fa591
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4fa591
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4fa4c0
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4fa6c1
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4fa698
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4fa6cb
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4fa6cb
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x56]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4fa6ed
add edx, 0x10
jmp 0x4fa93d
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x4fa81a
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4fa7fd
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4fa7d4
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4fa801
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4fa801
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4fa730
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4fa931
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4fa908
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4fa93b
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4fa93b
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x48]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4fa95d
add edx, 0x10
jmp 0x4fabad
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x4faa8a
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4faa6d
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4faa44
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4faa71
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4faa71
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4fa9a0
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4faba1
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4fab78
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4fabab
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4fabab
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x3a]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4fabcd
add edx, 0x10
jmp 0x4fae1d
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x4facfa
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4facdd
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4facb4
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4face1
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4face1
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4fac10
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4fae11
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4fade8
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4fae1b
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4fae1b
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x2c]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4fae3d
add edx, 0x10
jmp 0x4fb08d
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x4faf6a
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4faf4d
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4faf24
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4faf51
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4faf51
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4fae80
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4fb081
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4fb058
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4fb08b
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4fb08b
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x1e]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4fb0ad
add edx, 0x10
jmp 0x4fb2fd
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x4fb1da
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4fb1bd
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4fb194
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4fb1c1
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4fb1c1
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4fb0f0
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4fb2f1
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4fb2c8
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4fb2fb
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4fb2fb
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x2e]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4fb31d
add edx, 0x10
jmp 0x4fb573
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x4fb44d
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4fb430
add ecx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
shr edx, cl
or eax, edx
lea ecx, [eax + 0x1010101]
not ecx
and ecx, eax
test ecx, 0x80808080
mov ecx, eax
je 0x4fb407
shr ecx, 0x18
mov byte [edi], cl
cmp cl, 0xff
mov byte [edi + 1], 0
mov ecx, 2
sbb edx, edx
neg edx
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 0x10
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
mov ecx, eax
shr ecx, 8
cmp cl, 0xff
mov byte [edi], cl
sbb edx, edx
neg edx
mov byte [edi + 1], 0
mov ecx, 2
sub ecx, edx
add edi, ecx
cmp al, 0xff
sbb ecx, ecx
neg ecx
mov byte [edi], al
mov eax, 2
sub eax, ecx
mov byte [edi + 1], 0
add edi, eax
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4fb434
shr ecx, 0x18
mov byte [edi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 1], cl
mov ecx, eax
shr ecx, 8
mov byte [edi + 2], cl
mov byte [edi + 3], al
add edi, 4
mov eax, dword [esi + 0x3c0]
add ebx, 0x20
jmp 0x4fb434
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4fb360
mov edx, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x218]
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4fb567
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl eax, cl
or edx, eax
mov dword [ebp - 0x208], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4fb53e
shr eax, 0x18
mov edx, 2
mov byte [edi], al
cmp al, 0xff
mov byte [edi + 1], 0
mov eax, edx
sbb ecx, ecx
neg ecx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [edi], al
sbb ecx, ecx
neg ecx
mov byte [edi + 1], 0
mov eax, edx
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [edi], al
neg ecx
mov eax, edx
mov byte [edi + 1], 0
sub eax, ecx
add edi, eax
mov eax, dword [ebp - 0x20c]
add ebx, 0x20
jmp 0x4fb571
shr eax, 0x18
mov byte [edi], al
mov eax, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, edx
shr eax, 8
mov byte [edi + 2], al
mov eax, dword [ebp - 0x20c]
mov byte [edi + 3], dl
add edi, 4
add ebx, 0x20
jmp 0x4fb571
mov ecx, edx
shl eax, cl
or eax, dword [ebp - 0x20c]
xor edx, edx
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x3c]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4fb593
add edx, 0x10
jmp 0x4fb7f3
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x7569e0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x4fb6cd
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x210], ecx
neg ecx
shl ecx, 8
add edx, ecx
mov dword [ebp - 0x214], edx
nop dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x4fb6b0
add edx, ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x214], edx
mov edx, dword [esi + edx*4]
shl edx, cl
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x220]
shl edx, cl
mov ecx, dword [ebp - 0x214]
dec edx
and edx, dword [ebp - 0x208]
or dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x218]
movsx ecx, byte [esi + ecx + 0x400]
add edx, ecx
sub ebx, edx
jns 0x4fb7e7
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x4a]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4fb813