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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x22c
mov eax, dword [0x5c3040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ecx + 0x10]
push esi
mov dword [ebp - 0x224], eax
lea esi, [ebp - 0x204]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x220], edx
mov dword [ebp - 0x228], ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x22c], eax
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x21c], edi
cmp eax, 0x200
jb 0x49d215
mov esi, dword [ecx]
movsx edx, word [edx]
sub edx, dword [ebp + 8]
mov eax, edx
sar eax, 0x1f
add edx, eax
xor eax, edx
movzx ecx, byte [eax + 0x58c270]
mov eax, 1
shl eax, cl
dec eax
and eax, edx
mov edx, 2
mov edi, dword [edi + ecx*4]
shl edi, cl
or edi, eax
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x208], edi
movsx eax, byte [eax + ecx + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x49d333
mov ecx, ebx
mov eax, edi
mov edi, dword [ebp - 0x228]
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x214], eax
mov eax, dword [edi + 8]
shl eax, cl
mov ecx, dword [ebp - 0x214]
or ecx, eax
mov dword [ebp - 0x214], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49d30d
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [ebp - 0x208]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x214]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x214]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x214]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49d340
mov edi, dword [ebp - 0x208]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x49d340
mov edx, dword [ebp - 0x228]
mov eax, dword [edx + 8]
shl eax, cl
or edi, eax
mov eax, dword [ebp - 0x220]
mov edx, dword [ebp - 0x224]
movsx ecx, word [eax + 2]
test ecx, ecx
jne 0x49d35e
mov ecx, 0x10
jmp 0x49d48b
mov eax, ecx
mov dword [ebp - 0x210], ebx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [ebp - 0x21c], ecx
movzx ecx, byte [eax + 0x58c270]
mov eax, dword [edx + ecx*4]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x21c]
or dword [ebp - 0x20c], eax
movsx eax, byte [edx + ecx + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x49d47b
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x210]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x214], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49d455
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x214]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x214]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x214]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49d483
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x49d483
shl edi, cl
or edi, dword [ebp - 0x20c]
mov eax, dword [ebp - 0x220]
xor ecx, ecx
movsx eax, word [eax + 0x10]
mov dword [ebp - 0x208], eax
test eax, eax
jne 0x49d4a1
add ecx, 0x10
jmp 0x49d5da
sar eax, 0x1f
add dword [ebp - 0x208], eax
xor eax, dword [ebp - 0x208]
mov dword [ebp - 0x210], ebx
movzx eax, byte [eax + 0x58c270]
add ecx, eax
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x21c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x208]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x49d5d0
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x210]
shl edi, cl
or edx, edi
mov dword [ebp - 0x210], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x49d5aa
shr eax, 0x18
mov edx, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edx
sbb ecx, ecx
mov edi, dword [ebp - 0x20c]
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x210]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x210]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x210]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49d5d8
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x49d5d8
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx edx, word [eax + 0x20]
test edx, edx
jne 0x49d5f0
add ecx, 0x10
jmp 0x49d72b
mov eax, edx
mov dword [ebp - 0x208], ebx
sar eax, 0x1f
add edx, eax
xor eax, edx
mov dword [ebp - 0x210], edx
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x21c], eax
lea edx, [ecx + eax]
mov eax, dword [ebp - 0x224]
mov ecx, dword [ebp - 0x21c]
mov eax, dword [eax + edx*4]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x224]
movsx eax, byte [eax + edx + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x49d71b
mov edx, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [ebp - 0x208]
shl edi, cl
or edx, edi
mov dword [ebp - 0x210], edx
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x49d6f5
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
sbb eax, eax
mov edi, dword [ebp - 0x20c]
neg eax
sub esi, eax
mov eax, edx
shr eax, 0x10
add esi, 2
cmp al, 0xff
mov edx, 2
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x210]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x210]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edx
mov byte [esi + 1], 0
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49d723
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, edx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, edx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], dl
add esi, 4
add ebx, 0x20
jmp 0x49d723
shl edi, cl
or edi, dword [ebp - 0x20c]
mov eax, dword [ebp - 0x220]
xor ecx, ecx
movsx edx, word [eax + 0x12]
test edx, edx
jne 0x49d741
mov edx, dword [ebp - 0x224]
add ecx, 0x10
jmp 0x49d9bd
mov eax, edx
sar eax, 0x1f
add edx, eax
xor eax, edx
mov dword [ebp - 0x218], edx
mov edx, dword [ebp - 0x224]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x208], eax
cmp ecx, 0x100
jb 0x49d892
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x210], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
nop word [eax + eax]
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x21c], ebx
sub ebx, ecx
jns 0x49d875
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x21c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x20c], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49d84f
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x20c]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x20c]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x20c]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49d879
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x49d879
shl edi, cl
or edi, eax
sub dword [ebp - 0x210], 1
jne 0x49d790
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x208]
add ecx, eax
mov dword [ebp - 0x21c], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x208]
shl eax, cl
mov dword [ebp - 0x208], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x218]
or dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x49d9ad
mov eax, dword [ebp - 0x208]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x21c]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x20c], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49d987
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x20c]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x20c]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x20c]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x208]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49d9b5
mov edi, dword [ebp - 0x208]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x49d9b5
shl edi, cl
or edi, dword [ebp - 0x208]
mov eax, dword [ebp - 0x220]
xor ecx, ecx
movsx eax, word [eax + 4]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x49d9d3
add ecx, 0x10
jmp 0x49dc3a
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x21c], eax
cmp ecx, 0x100
jl 0x49db15
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x20c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x49daf8
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49dad2
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49dafc
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x49dafc
shl edi, cl
or edi, eax
sub dword [ebp - 0x20c], 1
jne 0x49da13
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x21c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x21c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x49dc30
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49dc0a
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49dc38
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x49dc38
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 6]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x49dc56
add ecx, 0x10
jmp 0x49dec7
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x49dda2
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
nop word [eax + eax]
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x49dd85
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49dd5f
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49dd89
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x49dd89
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x49dca0
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x49debd
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49de97
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49dec5
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x49dec5
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x14]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x49dee3
add ecx, 0x10
jmp 0x49e14a
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x49e025
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x49e008
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49dfe2
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49e00c
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x49e00c
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x49df23
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x49e140
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49e11a
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49e148
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x49e148
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x22]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x49e166
add ecx, 0x10
jmp 0x49e3d7
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x49e2b2
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
nop word [eax + eax]
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x49e295
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49e26f
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49e299
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x49e299
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x49e1b0
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x49e3cd
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49e3a7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49e3d5
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x49e3d5
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x30]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x49e3f3
add ecx, 0x10
jmp 0x49e65a
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x49e535
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x49e518
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49e4f2
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49e51c
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x49e51c
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x49e433
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x49e650
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49e62a
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49e658
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x49e658
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x40]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x49e676
add ecx, 0x10
jmp 0x49e8e7
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x49e7c2
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
nop word [eax + eax]
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x49e7a5
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49e77f
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49e7a9
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x49e7a9
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x49e6c0
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x49e8dd
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49e8b7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49e8e5
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x49e8e5
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x32]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x49e903
add ecx, 0x10
jmp 0x49eb6a
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x49ea45
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x49ea28
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49ea02
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49ea2c
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x49ea2c
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x49e943
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x49eb60
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49eb3a
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49eb68
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x49eb68
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x24]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x49eb86
add ecx, 0x10
jmp 0x49edf7
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x49ecd2
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
nop word [eax + eax]
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x49ecb5
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49ec8f
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49ecb9
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x49ecb9
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x49ebd0
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x49eded
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49edc7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49edf5
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x49edf5
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x16]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x49ee13
add ecx, 0x10
jmp 0x49f07a
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x49ef55
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x49ef38
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49ef12
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49ef3c
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x49ef3c
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x49ee53
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x49f070
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49f04a
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49f078
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x49f078
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 8]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x49f096
add ecx, 0x10
jmp 0x49f307
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x49f1e2
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
nop word [eax + eax]
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x49f1c5
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49f19f
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49f1c9
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x49f1c9
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x49f0e0
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x49f2fd
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49f2d7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49f305
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x49f305
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0xa]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x49f323
add ecx, 0x10
jmp 0x49f58a
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x49f465
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x49f448
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49f422
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49f44c
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x49f44c
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x49f363
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x49f580
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49f55a
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49f588
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x49f588
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x18]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x49f5a6
add ecx, 0x10
jmp 0x49f817
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x49f6f2
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
nop word [eax + eax]
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x49f6d5
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49f6af
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49f6d9
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x49f6d9
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x49f5f0
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x49f80d
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49f7e7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49f815
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x49f815
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x26]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x49f833
add ecx, 0x10
jmp 0x49fa9a
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x49f975
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x49f958
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49f932
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49f95c
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x49f95c
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x49f873
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x49fa90
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49fa6a
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49fa98
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x49fa98
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x34]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x49fab6
add ecx, 0x10
jmp 0x49fd27
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x49fc02
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
nop word [eax + eax]
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x49fbe5
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49fbbf
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49fbe9
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x49fbe9
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x49fb00
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x49fd1d
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49fcf7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49fd25
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x49fd25
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x42]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x49fd43
add ecx, 0x10
jmp 0x49ffaa
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x49fe85
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x49fe68
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49fe42
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49fe6c
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x49fe6c
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x49fd83
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x49ffa0
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x49ff7a
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x49ffa8
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x49ffa8
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x50]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x49ffc6
add ecx, 0x10
jmp 0x4a0237
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x4a0112
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
nop word [eax + eax]
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x4a00f5
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a00cf
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a00f9
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x4a00f9
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x4a0010
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4a022d
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a0207
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a0235
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x4a0235
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x60]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a0253
add ecx, 0x10
jmp 0x4a04ba
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x4a0395
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x4a0378
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a0352
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a037c
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x4a037c
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x4a0293
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4a04b0
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a048a
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a04b8
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x4a04b8
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x52]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a04d6
add ecx, 0x10
jmp 0x4a0747
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x4a0622
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
nop word [eax + eax]
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x4a0605
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a05df
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a0609
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x4a0609
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x4a0520
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4a073d
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a0717
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a0745
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x4a0745
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x44]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a0763
add ecx, 0x10
jmp 0x4a09ca
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x4a08a5
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x4a0888
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a0862
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a088c
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x4a088c
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x4a07a3
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4a09c0
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a099a
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a09c8
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x4a09c8
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x36]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a09e6
add ecx, 0x10
jmp 0x4a0c57
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x4a0b32
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
nop word [eax + eax]
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x4a0b15
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a0aef
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a0b19
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x4a0b19
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x4a0a30
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4a0c4d
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a0c27
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a0c55
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x4a0c55
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x28]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a0c73
add ecx, 0x10
jmp 0x4a0eda
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x4a0db5
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x4a0d98
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a0d72
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a0d9c
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x4a0d9c
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x4a0cb3
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4a0ed0
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a0eaa
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a0ed8
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x4a0ed8
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x1a]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a0ef6
add ecx, 0x10
jmp 0x4a1167
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x4a1042
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
nop word [eax + eax]
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x4a1025
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a0fff
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a1029
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x4a1029
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x4a0f40
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4a115d
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a1137
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a1165
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x4a1165
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0xc]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a1183
add ecx, 0x10
jmp 0x4a13ea
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x4a12c5
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x4a12a8
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a1282
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a12ac
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x4a12ac
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x4a11c3
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4a13e0
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a13ba
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a13e8
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x4a13e8
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0xe]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a1406
add ecx, 0x10
jmp 0x4a1677
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x4a1552
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
nop word [eax + eax]
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x4a1535
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a150f
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a1539
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x4a1539
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x4a1450
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4a166d
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a1647
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a1675
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x4a1675
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x1c]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a1693
add ecx, 0x10
jmp 0x4a18fa
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x4a17d5
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x4a17b8
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a1792
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a17bc
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x4a17bc
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x4a16d3
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4a18f0
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a18ca
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a18f8
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x4a18f8
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x2a]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a1916
add ecx, 0x10
jmp 0x4a1b87
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x4a1a62
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
nop word [eax + eax]
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x4a1a45
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a1a1f
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a1a49
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x4a1a49
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x4a1960
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4a1b7d
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a1b57
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a1b85
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x4a1b85
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x38]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a1ba3
add ecx, 0x10
jmp 0x4a1e0a
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x4a1ce5
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x4a1cc8
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a1ca2
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a1ccc
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x4a1ccc
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x4a1be3
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4a1e00
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a1dda
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a1e08
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x4a1e08
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x46]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a1e26
add ecx, 0x10
jmp 0x4a209a
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x4a1f75
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
nop word [eax + eax]
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x4a1f58
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a1f2f
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a1f5c
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x4a1f5c
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x4a1e70
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4a2090
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a206a
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a2098
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x4a2098
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x54]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a20ba
add ecx, 0x10
jmp 0x4a232a
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x4a2205
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
nop word [eax + eax]
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x4a21e8
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a21bf
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a21ec
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x4a21ec
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x4a2100
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4a2320
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a22fa
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a2328
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x4a2328
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x62]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a234a
add ecx, 0x10
jmp 0x4a25bd
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x4a2495
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
nop word [eax + eax]
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x4a2478
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a244f
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a247c
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x4a247c
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x4a2390
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4a25b3
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a258a
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a25bb
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x4a25bb
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x70]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a25dd
add ecx, 0x10
jmp 0x4a284d
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x4a2725
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
nop dword [eax]
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x4a2708
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a26df
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a270c
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x4a270c
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x4a2620
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4a2843
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a281a
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a284b
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x4a284b
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x72]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a286d
add ecx, 0x10
jmp 0x4a2add
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x4a29b5
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
nop dword [eax]
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x4a2998
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a296f
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a299c
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x4a299c
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x4a28b0
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4a2ad3
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a2aaa
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a2adb
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x4a2adb
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x64]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a2afd
add ecx, 0x10
jmp 0x4a2d6d
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x4a2c45
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
nop dword [eax]
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x4a2c28
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a2bff
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a2c2c
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x4a2c2c
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x4a2b40
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4a2d63
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a2d3a
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a2d6b
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x4a2d6b
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x56]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a2d8d
add ecx, 0x10
jmp 0x4a2ffd
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x4a2ed5
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
nop dword [eax]
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x4a2eb8
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a2e8f
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a2ebc
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x4a2ebc
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x4a2dd0
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4a2ff3
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a2fca
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a2ffb
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x4a2ffb
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x48]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a301d
add ecx, 0x10
jmp 0x4a328d
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x4a3165
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
nop dword [eax]
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x4a3148
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a311f
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a314c
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x4a314c
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x4a3060
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4a3283
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a325a
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a328b
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x4a328b
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x3a]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a32ad
add ecx, 0x10
jmp 0x4a351d
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x4a33f5
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
nop dword [eax]
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x4a33d8
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a33af
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a33dc
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x4a33dc
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x4a32f0
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4a3513
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a34ea
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a351b
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x4a351b
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x2c]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a353d
add ecx, 0x10
jmp 0x4a37ad
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x4a3685
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
nop dword [eax]
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x4a3668
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a363f
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a366c
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x4a366c
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x4a3580
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4a37a3
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a377a
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a37ab
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x4a37ab
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x1e]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a37cd
add ecx, 0x10
jmp 0x4a3a40
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x4a3918
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
nop dword [eax]
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x4a38fb
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a38d2
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [edx + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a38ff
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
mov edi, dword [edx + 0x3c0]
add ebx, 0x20
jmp 0x4a38ff
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x4a3810
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x20c]
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4a3a36
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a3a0d
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, edi
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
shr eax, 8
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
mov eax, dword [ebp - 0x208]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp - 0x20c]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4a3a3e
mov edi, dword [ebp - 0x20c]
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, ecx
shr eax, 8
mov byte [esi + 2], al
mov byte [esi + 3], cl
add esi, 4
add ebx, 0x20
jmp 0x4a3a3e
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x2e]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a3a60
add ecx, 0x10
jmp 0x4a3cd3
sar eax, 0x1f
add dword [ebp - 0x210], eax
xor eax, dword [ebp - 0x210]
movzx eax, byte [eax + 0x58c270]
mov dword [ebp - 0x20c], eax
cmp ecx, 0x100
jl 0x4a3ba8
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x21c], eax
neg eax
shl eax, 8
add ecx, eax
mov dword [ebp - 0x214], ecx
movsx ecx, byte [edx + 0x4f0]
mov eax, dword [edx + 0x3c0]
mov dword [ebp - 0x218], ebx
sub ebx, ecx
jns 0x4a3b8b
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a3b62
shl edi, cl
or edi, eax
sub dword [ebp - 0x21c], 1
jne 0x4a3aa0
add ecx, eax
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ecx
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x20c]
shl eax, cl
mov dword [ebp - 0x20c], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [ebp - 0x210]
or dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x214]
movsx eax, byte [edx + eax + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4a3cc9
mov eax, dword [ebp - 0x20c]
mov ecx, ebx
neg ecx
sar eax, cl
mov ecx, dword [ebp - 0x218]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x208], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4a3ca0
shl edi, cl
or edi, dword [ebp - 0x20c]
xor ecx, ecx
mov eax, dword [ebp - 0x220]
movsx eax, word [eax + 0x3c]
mov dword [ebp - 0x210], eax
test eax, eax
jne 0x4a3cf3