Function at 0x492170
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 0x4921d0
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 + 0x57c6d0]
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 0x4922e6
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 0x4922c6
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 0x4922f2
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 0x4922f2
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 0x492310
mov edx, 0x10
jmp 0x492444
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 + 0x57c6d0]
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 0x492432
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 0x49240c
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 0x49243c
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 0x49243c
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 0x49245a
add edx, 0x10
jmp 0x492596
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
mov dword [ebp - 0x218], ebx
movzx ecx, byte [ecx + 0x57c6d0]
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 0x49258a
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 0x492564
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 0x492594
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 0x492594
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 0x4925b2
add edx, 0x10
jmp 0x4926ee
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
mov dword [ebp - 0x218], ebx
movzx ecx, byte [ecx + 0x57c6d0]
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 0x4926e2
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 0x4926bc
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 0x4926ec
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 0x4926ec
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 0x49270a
add edx, 0x10
jmp 0x492846
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
mov dword [ebp - 0x218], ebx
movzx ecx, byte [ecx + 0x57c6d0]
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 0x49283a
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 0x492814
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 0x492844
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 0x492844
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 0x492862
add edx, 0x10
jmp 0x49299e
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
mov dword [ebp - 0x218], ebx
movzx ecx, byte [ecx + 0x57c6d0]
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 0x492992
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 0x49296c
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 0x49299c
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 0x49299c
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 0x4929ba
add edx, 0x10
jmp 0x492c07
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x492ae7
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 0x492aca
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 0x492aa4
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 0x492ace
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 0x492ace
shl eax, cl
or eax, edx
sub dword [ebp - 0x20c], 1
jne 0x492a00
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 0x492bfb
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 0x492bd5
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 0x492c05
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 0x492c05
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 0x492c23
add edx, 0x10
jmp 0x492e77
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x210], ecx
cmp edx, 0x100
jb 0x492d57
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 0x492d3a
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 0x492d14
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 0x492d3e
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 0x492d3e
shl eax, cl
or eax, edx
sub dword [ebp - 0x218], 1
jne 0x492c70
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 0x492e6b
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 0x492e45
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 0x492e75
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 0x492e75
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 0x492e93
add edx, 0x10
jmp 0x4930e7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x492fc7
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 0x492faa
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 0x492f84
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 0x492fae
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 0x492fae
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x492ee0
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 0x4930db
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 0x4930b5
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 0x4930e5
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 0x4930e5
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 0x493103
add edx, 0x10
jmp 0x493357
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x493237
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 0x49321a
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 0x4931f4
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 0x49321e
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 0x49321e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x493150
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 0x49334b
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 0x493325
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 0x493355
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 0x493355
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 0x493373
add edx, 0x10
jmp 0x4935c7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4934a7
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 0x49348a
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 0x493464
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 0x49348e
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 0x49348e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4933c0
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 0x4935bb
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 0x493595
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 0x4935c5
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 0x4935c5
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 0x4935e3
add edx, 0x10
jmp 0x493837
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x493717
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 0x4936fa
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 0x4936d4
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 0x4936fe
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 0x4936fe
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x493630
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 0x49382b
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 0x493805
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 0x493835
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 0x493835
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 0x493853
add edx, 0x10
jmp 0x493aa7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x493987
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 0x49396a
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 0x493944
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 0x49396e
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 0x49396e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4938a0
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 0x493a9b
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 0x493a75
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 0x493aa5
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 0x493aa5
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 0x493ac3
add edx, 0x10
jmp 0x493d17
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x493bf7
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 0x493bda
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 0x493bb4
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 0x493bde
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 0x493bde
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x493b10
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 0x493d0b
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 0x493ce5
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 0x493d15
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 0x493d15
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 0x493d33
add edx, 0x10
jmp 0x493f87
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x493e67
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 0x493e4a
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 0x493e24
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 0x493e4e
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 0x493e4e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x493d80
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 0x493f7b
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 0x493f55
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 0x493f85
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 0x493f85
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 0x493fa3
add edx, 0x10
jmp 0x4941f7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4940d7
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 0x4940ba
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 0x494094
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 0x4940be
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 0x4940be
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x493ff0
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 0x4941eb
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 0x4941c5
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 0x4941f5
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 0x4941f5
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 0x494213
add edx, 0x10
jmp 0x494467
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x494347
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 0x49432a
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 0x494304
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 0x49432e
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 0x49432e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x494260
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 0x49445b
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 0x494435
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 0x494465
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 0x494465
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 0x494483
add edx, 0x10
jmp 0x4946d7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4945b7
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 0x49459a
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 0x494574
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 0x49459e
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 0x49459e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4944d0
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 0x4946cb
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 0x4946a5
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 0x4946d5
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 0x4946d5
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 0x4946f3
add edx, 0x10
jmp 0x494947
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x494827
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 0x49480a
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 0x4947e4
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 0x49480e
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 0x49480e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x494740
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 0x49493b
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 0x494915
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 0x494945
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 0x494945
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 0x494963
add edx, 0x10
jmp 0x494bb7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x494a97
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 0x494a7a
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 0x494a54
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 0x494a7e
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 0x494a7e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4949b0
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 0x494bab
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 0x494b85
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 0x494bb5
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 0x494bb5
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 0x494bd3
add edx, 0x10
jmp 0x494e27
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x494d07
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 0x494cea
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 0x494cc4
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 0x494cee
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 0x494cee
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x494c20
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 0x494e1b
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 0x494df5
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 0x494e25
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 0x494e25
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 0x494e43
add edx, 0x10
jmp 0x495097
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x494f77
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 0x494f5a
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 0x494f34
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 0x494f5e
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 0x494f5e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x494e90
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 0x49508b
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 0x495065
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 0x495095
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 0x495095
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 0x4950b3
add edx, 0x10
jmp 0x495307
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4951e7
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 0x4951ca
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 0x4951a4
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 0x4951ce
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 0x4951ce
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x495100
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 0x4952fb
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 0x4952d5
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 0x495305
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 0x495305
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 0x495323
add edx, 0x10
jmp 0x495577
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x495457
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 0x49543a
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 0x495414
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 0x49543e
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 0x49543e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x495370
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 0x49556b
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 0x495545
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 0x495575
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 0x495575
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 0x495593
add edx, 0x10
jmp 0x4957e7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x4956c7
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 0x4956aa
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 0x495684
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 0x4956ae
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 0x4956ae
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4955e0
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 0x4957db
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 0x4957b5
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 0x4957e5
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 0x4957e5
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 0x495803
add edx, 0x10
jmp 0x495a57
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x495937
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 0x49591a
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 0x4958f4
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 0x49591e
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 0x49591e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x495850
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 0x495a4b
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 0x495a25
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 0x495a55
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 0x495a55
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 0x495a73
add edx, 0x10
jmp 0x495cc7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x495ba7
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 0x495b8a
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 0x495b64
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 0x495b8e
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 0x495b8e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x495ac0
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 0x495cbb
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 0x495c95
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 0x495cc5
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 0x495cc5
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 0x495ce3
add edx, 0x10
jmp 0x495f37
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x495e17
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 0x495dfa
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 0x495dd4
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 0x495dfe
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 0x495dfe
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x495d30
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 0x495f2b
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 0x495f05
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 0x495f35
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 0x495f35
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 0x495f53
add edx, 0x10
jmp 0x4961a7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jb 0x496087
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 0x49606a
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 0x496044
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 0x49606e
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 0x49606e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x495fa0
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 0x49619b
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 0x496175
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 0x4961a5
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 0x4961a5
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 0x4961c3
add edx, 0x10
jmp 0x496417
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x4962f7
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 0x4962da
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 0x4962b4
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 0x4962de
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 0x4962de
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x496210
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 0x49640b
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 0x4963e5
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 0x496415
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 0x496415
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 0x496433
add edx, 0x10
jmp 0x496687
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x496567
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 0x49654a
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 0x496524
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 0x49654e
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 0x49654e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x496480
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 0x49667b
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 0x496655
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 0x496685
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 0x496685
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 0x4966a3
add edx, 0x10
jmp 0x4968f7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x4967d7
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 0x4967ba
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 0x496794
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 0x4967be
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 0x4967be
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4966f0
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 0x4968eb
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 0x4968c5
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 0x4968f5
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 0x4968f5
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 0x496913
add edx, 0x10
jmp 0x496b67
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x496a47
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 0x496a2a
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 0x496a04
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 0x496a2e
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 0x496a2e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x496960
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 0x496b5b
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 0x496b35
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 0x496b65
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 0x496b65
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 0x496b83
add edx, 0x10
jmp 0x496dd7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x496cb7
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 0x496c9a
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 0x496c74
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 0x496c9e
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 0x496c9e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x496bd0
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 0x496dcb
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 0x496da5
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 0x496dd5
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 0x496dd5
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 0x496df3
add edx, 0x10
jmp 0x497047
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x496f27
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 0x496f0a
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 0x496ee4
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 0x496f0e
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 0x496f0e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x496e40
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 0x49703b
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 0x497015
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 0x497045
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 0x497045
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 0x497063
add edx, 0x10
jmp 0x4972b7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x497197
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 0x49717a
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 0x497154
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 0x49717e
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 0x49717e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4970b0
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 0x4972ab
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 0x497285
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 0x4972b5
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 0x4972b5
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 0x4972d3
add edx, 0x10
jmp 0x497527
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x497407
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 0x4973ea
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 0x4973c4
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 0x4973ee
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 0x4973ee
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x497320
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 0x49751b
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 0x4974f5
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 0x497525
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 0x497525
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 0x497543
add edx, 0x10
jmp 0x497797
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x497677
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 0x49765a
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 0x497634
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 0x49765e
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 0x49765e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x497590
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 0x49778b
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 0x497765
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 0x497795
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 0x497795
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 0x4977b3
add edx, 0x10
jmp 0x497a07
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x4978e7
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 0x4978ca
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 0x4978a4
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 0x4978ce
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 0x4978ce
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x497800
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 0x4979fb
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 0x4979d5
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 0x497a05
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 0x497a05
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 0x497a23
add edx, 0x10
jmp 0x497c77
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x497b57
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 0x497b3a
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 0x497b14
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 0x497b3e
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 0x497b3e
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x497a70
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 0x497c6b
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 0x497c45
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 0x497c75
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 0x497c75
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 0x497c93
add edx, 0x10
jmp 0x497ee7
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x497dc7
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 0x497daa
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 0x497d84
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 0x497dae
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 0x497dae
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x497ce0
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 0x497edb
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 0x497eb5
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 0x497ee5
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 0x497ee5
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 0x497f03
add edx, 0x10
jmp 0x49815d
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x49803a
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 0x49801d
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 0x497ff4
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 0x498021
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 0x498021
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x497f50
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 0x498151
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 0x498128
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 0x49815b
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 0x49815b
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 0x49817d
add edx, 0x10
jmp 0x4983cd
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x4982aa
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 0x49828d
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 0x498264
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 0x498291
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 0x498291
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x4981c0
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 0x4983c1
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 0x498398
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 0x4983cb
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 0x4983cb
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 0x4983ed
add edx, 0x10
jmp 0x49863d
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x49851a
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 0x4984fd
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 0x4984d4
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 0x498501
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 0x498501
shl eax, cl
or eax, edx
sub dword [ebp - 0x210], 1
jne 0x498430
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 0x498631
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 0x498608
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 0x49863b
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 0x49863b
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 0x49865d
add edx, 0x10
jmp 0x4988ad
sar ecx, 0x1f
add dword [ebp - 0x208], ecx
xor ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 0x57c6d0]
mov dword [ebp - 0x218], ecx
cmp edx, 0x100
jl 0x49878a
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 0x49876d
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 0x4988a1
mov ecx, dword [ebp - 0x21c]
movsx ecx, word [ecx + 0x4a]
mov dword [ebp - 0x208], ecx
test ecx, ecx
jne 0x4988cd