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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x228
mov eax, dword [0x5b0008]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ecx + 0x10]
mov dword [ebp - 0x214], eax
mov eax, dword [ecx + 8]
push esi
mov esi, edx
mov dword [ebp - 0x20c], eax
mov eax, dword [ecx + 4]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x21c], esi
mov dword [ebp - 0x224], ecx
mov dword [ebp - 0x210], edx
mov dword [ebp - 0x208], ebx
mov dword [ebp - 0x228], eax
push edi
lea edi, [ebp - 0x204]
cmp eax, 0x200
jb 0x491520
mov edi, dword [ecx]
movsx esi, word [esi]
sub esi, dword [ebp + 8]
mov eax, esi
sar eax, 0x1f
add esi, eax
xor eax, esi
movzx ecx, byte [eax + 0x57c690]
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 0x491636
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 0x491616
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 0x491642
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 0x491642
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 0x491660
mov edx, 0x10
jmp 0x491794
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 + 0x57c690]
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 0x491782
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 0x49175c
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 0x49178c
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 0x49178c
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 0x4917aa
add edx, 0x10
jmp 0x4918e6
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
mov dword [ebp - 0x218], ebx
movzx ecx, byte [ecx + 0x57c690]
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 0x4918da
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 0x4918b4
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 0x4918e4
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 0x4918e4
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 0x491902
add edx, 0x10
jmp 0x491a3e
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
mov dword [ebp - 0x218], ebx
movzx ecx, byte [ecx + 0x57c690]
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 0x491a32
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 0x491a0c
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 0x491a3c
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 0x491a3c
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 0x491a5a
add edx, 0x10
jmp 0x491b96
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
mov dword [ebp - 0x218], ebx
movzx ecx, byte [ecx + 0x57c690]
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 0x491b8a
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 0x491b64
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 0x491b94
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 0x491b94
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 0x491bb2
add edx, 0x10
jmp 0x491cee
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
mov dword [ebp - 0x218], ebx
movzx ecx, byte [ecx + 0x57c690]
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 0x491ce2
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 0x491cbc
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 0x491cec
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 0x491cec
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 0x491d0a
add edx, 0x10
jmp 0x491f57
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x491e37
mov ecx, edx
shr ecx, 8
mov dword [ebp - 0x20c], 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 0x491e1a
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 0x491df4
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 0x491e1e
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 0x491e1e
shl eax, cl
or eax, edx
sub dword [ebp - 0x20c], 1
jne 0x491d50
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 0x491f4b
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 0x491f25
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 0x491f55
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 0x491f55
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 0x491f73
add edx, 0x10
jmp 0x4921c7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x210], ecx
cmp edx, 0x100
jb 0x4920a7
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 dword [eax]
nop word [eax + eax]
movsx ecx, byte [esi + 0x4f0]
sub ebx, ecx
mov edx, dword [esi + 0x3c0]
jns 0x49208a
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 0x492064
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 0x49208e
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 0x49208e
shl eax, cl
or eax, edx
sub dword [ebp - 0x218], 1
jne 0x491fc0
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 0x4921bb
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 0x492195
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 0x4921c5
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 0x4921c5
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 0x4921e3
add edx, 0x10
jmp 0x492437
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x492317
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 0x4922fa
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 0x4922d4
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 0x4922fe
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 0x4922fe
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x492230
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 0x49242b
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 0x492405
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 0x492435
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 0x492435
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 0x492453
add edx, 0x10
jmp 0x4926a7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x492587
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 0x49256a
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 0x492544
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 0x49256e
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 0x49256e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4924a0
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 0x49269b
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 0x492675
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 0x4926a5
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 0x4926a5
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 0x4926c3
add edx, 0x10
jmp 0x492917
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4927f7
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 0x4927da
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 0x4927b4
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 0x4927de
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 0x4927de
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x492710
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 0x49290b
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 0x4928e5
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 0x492915
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 0x492915
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 0x492933
add edx, 0x10
jmp 0x492b87
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x492a67
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 0x492a4a
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 0x492a24
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 0x492a4e
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 0x492a4e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x492980
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 0x492b7b
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 0x492b55
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 0x492b85
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 0x492b85
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 0x492ba3
add edx, 0x10
jmp 0x492df7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x492cd7
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 0x492cba
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 0x492c94
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 0x492cbe
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 0x492cbe
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x492bf0
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 0x492deb
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 0x492dc5
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 0x492df5
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 0x492df5
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 0x492e13
add edx, 0x10
jmp 0x493067
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x492f47
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 0x492f2a
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 0x492f04
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 0x492f2e
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 0x492f2e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x492e60
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 0x49305b
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 0x493035
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 0x493065
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 0x493065
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 0x493083
add edx, 0x10
jmp 0x4932d7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4931b7
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 0x49319a
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 0x493174
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 0x49319e
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 0x49319e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4930d0
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 0x4932cb
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 0x4932a5
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 0x4932d5
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 0x4932d5
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 0x4932f3
add edx, 0x10
jmp 0x493547
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x493427
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 0x49340a
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 0x4933e4
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 0x49340e
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 0x49340e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x493340
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 0x49353b
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 0x493515
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 0x493545
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 0x493545
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 0x493563
add edx, 0x10
jmp 0x4937b7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x493697
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 0x49367a
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 0x493654
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 0x49367e
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 0x49367e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4935b0
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 0x4937ab
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 0x493785
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 0x4937b5
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 0x4937b5
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 0x4937d3
add edx, 0x10
jmp 0x493a27
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x493907
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 0x4938ea
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 0x4938c4
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 0x4938ee
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 0x4938ee
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x493820
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 0x493a1b
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 0x4939f5
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 0x493a25
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 0x493a25
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 0x493a43
add edx, 0x10
jmp 0x493c97
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x493b77
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 0x493b5a
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 0x493b34
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 0x493b5e
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 0x493b5e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x493a90
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 0x493c8b
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 0x493c65
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 0x493c95
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 0x493c95
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 0x493cb3
add edx, 0x10
jmp 0x493f07
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x493de7
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 0x493dca
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 0x493da4
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 0x493dce
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 0x493dce
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x493d00
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 0x493efb
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 0x493ed5
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 0x493f05
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 0x493f05
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 0x493f23
add edx, 0x10
jmp 0x494177
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x494057
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 0x49403a
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 0x494014
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 0x49403e
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 0x49403e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x493f70
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 0x49416b
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 0x494145
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 0x494175
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 0x494175
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 0x494193
add edx, 0x10
jmp 0x4943e7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4942c7
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 0x4942aa
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 0x494284
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 0x4942ae
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 0x4942ae
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4941e0
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 0x4943db
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 0x4943b5
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 0x4943e5
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 0x4943e5
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 0x494403
add edx, 0x10
jmp 0x494657
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x494537
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 0x49451a
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 0x4944f4
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 0x49451e
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 0x49451e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x494450
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 0x49464b
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 0x494625
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 0x494655
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 0x494655
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 0x494673
add edx, 0x10
jmp 0x4948c7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4947a7
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 0x49478a
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 0x494764
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 0x49478e
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 0x49478e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4946c0
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 0x4948bb
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 0x494895
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 0x4948c5
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 0x4948c5
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 0x4948e3
add edx, 0x10
jmp 0x494b37
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x494a17
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 0x4949fa
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 0x4949d4
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 0x4949fe
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 0x4949fe
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x494930
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 0x494b2b
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 0x494b05
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 0x494b35
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 0x494b35
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 0x494b53
add edx, 0x10
jmp 0x494da7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x494c87
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 0x494c6a
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 0x494c44
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 0x494c6e
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 0x494c6e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x494ba0
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 0x494d9b
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 0x494d75
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 0x494da5
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 0x494da5
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 0x494dc3
add edx, 0x10
jmp 0x495017
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x494ef7
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 0x494eda
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 0x494eb4
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 0x494ede
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 0x494ede
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x494e10
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 0x49500b
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 0x494fe5
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 0x495015
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 0x495015
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 0x495033
add edx, 0x10
jmp 0x495287
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x495167
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 0x49514a
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 0x495124
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 0x49514e
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 0x49514e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x495080
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 0x49527b
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 0x495255
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 0x495285
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 0x495285
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 0x4952a3
add edx, 0x10
jmp 0x4954f7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4953d7
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 0x4953ba
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 0x495394
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 0x4953be
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 0x4953be
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4952f0
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 0x4954eb
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 0x4954c5
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 0x4954f5
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 0x4954f5
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 0x495513
add edx, 0x10
jmp 0x495767
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x495647
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 0x49562a
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 0x495604
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 0x49562e
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 0x49562e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x495560
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 0x49575b
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 0x495735
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 0x495765
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 0x495765
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 0x495783
add edx, 0x10
jmp 0x4959d7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x4958b7
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 0x49589a
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 0x495874
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 0x49589e
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 0x49589e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4957d0
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 0x4959cb
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 0x4959a5
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 0x4959d5
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 0x4959d5
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 0x4959f3
add edx, 0x10
jmp 0x495c47
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x495b27
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 0x495b0a
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 0x495ae4
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 0x495b0e
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 0x495b0e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x495a40
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 0x495c3b
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 0x495c15
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 0x495c45
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 0x495c45
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 0x495c63
add edx, 0x10
jmp 0x495eb7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x495d97
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 0x495d7a
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 0x495d54
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 0x495d7e
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 0x495d7e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x495cb0
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 0x495eab
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 0x495e85
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 0x495eb5
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 0x495eb5
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 0x495ed3
add edx, 0x10
jmp 0x496127
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x496007
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 0x495fea
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 0x495fc4
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 0x495fee
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 0x495fee
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x495f20
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 0x49611b
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 0x4960f5
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 0x496125
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 0x496125
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 0x496143
add edx, 0x10
jmp 0x496397
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x496277
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 0x49625a
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 0x496234
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 0x49625e
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 0x49625e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x496190
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 0x49638b
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 0x496365
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 0x496395
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 0x496395
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 0x4963b3
add edx, 0x10
jmp 0x496607
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x4964e7
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 0x4964ca
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 0x4964a4
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 0x4964ce
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 0x4964ce
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x496400
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 0x4965fb
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 0x4965d5
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 0x496605
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 0x496605
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 0x496623
add edx, 0x10
jmp 0x496877
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x496757
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 0x49673a
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 0x496714
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 0x49673e
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 0x49673e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x496670
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 0x49686b
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 0x496845
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 0x496875
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 0x496875
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 0x496893
add edx, 0x10
jmp 0x496ae7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x4969c7
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 0x4969aa
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 0x496984
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 0x4969ae
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 0x4969ae
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4968e0
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 0x496adb
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 0x496ab5
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 0x496ae5
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 0x496ae5
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 0x496b03
add edx, 0x10
jmp 0x496d57
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x496c37
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 0x496c1a
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 0x496bf4
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 0x496c1e
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 0x496c1e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x496b50
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 0x496d4b
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 0x496d25
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 0x496d55
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 0x496d55
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 0x496d73
add edx, 0x10
jmp 0x496fc7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x496ea7
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 0x496e8a
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 0x496e64
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 0x496e8e
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 0x496e8e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x496dc0
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 0x496fbb
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 0x496f95
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 0x496fc5
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 0x496fc5
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 0x496fe3
add edx, 0x10
jmp 0x497237
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x497117
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 0x4970fa
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 0x4970d4
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 0x4970fe
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 0x4970fe
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x497030
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 0x49722b
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 0x497205
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 0x497235
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 0x497235
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 0x497253
add edx, 0x10
jmp 0x4974ad
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x49738a
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 0x49736d
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 0x497344
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 0x497371
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 0x497371
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4972a0
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 0x4974a1
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 0x497478
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 0x4974ab
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 0x4974ab
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 0x4974cd
add edx, 0x10
jmp 0x49771d
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x4975fa
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 0x4975dd
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 0x4975b4
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 0x4975e1
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 0x4975e1
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x497510
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 0x497711
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 0x4976e8
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 0x49771b
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 0x49771b
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 0x49773d
add edx, 0x10
jmp 0x49798d
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x49786a
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 0x49784d
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 0x497824
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 0x497851
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 0x497851
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x497780
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 0x497981
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 0x497958
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 0x49798b
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 0x49798b
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 0x4979ad
add edx, 0x10
jmp 0x497bfd
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c690]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x497ada
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 0x497abd
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 0x497bf1
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x4a]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x497c1d