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

Disassembly:
sub esp, 0x22c
mov eax, dword [0x5d60c4]
xor eax, esp
mov dword [esp + 0x228], eax
mov ecx, dword [esp + 0x230]
mov eax, dword [esp + 0x234]
push ebx
push ebp
mov ebp, dword [esp + 0x248]
mov ebx, dword [ecx + 0x10]
mov edx, dword [ecx + 8]
push esi
push edi
mov edi, dword [ecx + 0x28]
lea esi, [esp + 0x38]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x24c]
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x38]
add eax, 2
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x34], eax
cmp eax, 0x200
jb 0x4b8e13
mov esi, dword [ecx]
mov eax, dword [esp + 0x28]
movsx ecx, word [eax]
sub ecx, dword [esp + 0x248]
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x1c], ecx
movzx ecx, byte [eax + 0x56e1a0]
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x20], ecx
cmp ecx, eax
jle 0x4b8e64
mov eax, dword [edi]
mov dword [eax + 0x14], 6
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
mov ecx, dword [esp + 0x24]
add esp, 4
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x1c]
mov edi, dword [edi + ecx*4]
shl edi, cl
or edi, eax
mov eax, dword [esp + 0x18]
movsx eax, byte [eax + ecx + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4b8f3f
mov eax, dword [esp + 0x10]
mov ecx, ebx
neg ecx
mov edx, edi
sar edx, cl
mov ecx, dword [esp + 0x14]
shl eax, cl
or edx, eax
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4b8f1f
shr eax, 0x18
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, 2
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4b8f43
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 0x4b8f43
shl edx, cl
or edi, edx
mov eax, dword [esp + 0x28]
movsx ecx, word [eax + 2]
test ecx, ecx
jne 0x4b8f57
lea eax, [ecx + 0x10]
jmp 0x4b9073
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x1c], ecx
movzx ecx, byte [eax + 0x56e1a0]
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x2c]
jle 0x4b8f96
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
mov ecx, dword [esp + 0x18]
add esp, 4
mov edx, dword [ebp + ecx*4]
mov eax, 1
shl eax, cl
dec eax
shl edx, cl
and eax, dword [esp + 0x1c]
or edx, eax
mov dword [esp + 0x14], ebx
movsx eax, byte [ecx + ebp + 0x400]
add ecx, eax
mov dword [esp + 0x1c], edx
sub ebx, ecx
jns 0x4b906d
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4b9049
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x1c]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4b9071
mov edi, dword [esp + 0x1c]
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 0x4b9071
shl edi, cl
or edi, edx
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x10]
test ecx, ecx
jne 0x4b908b
add eax, 0x10
jmp 0x4b91b5
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x1c], ecx
movzx ecx, byte [eax + 0x56e1a0]
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x2c]
jle 0x4b90ca
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
mov ecx, dword [esp + 0x18]
add esp, 4
mov edx, dword [esp + 0x10]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x1c]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4b91ad
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4b9189
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4b91b3
mov edi, dword [esp + 0x10]
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 0x4b91b3
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x20]
test ecx, ecx
jne 0x4b91cd
add eax, 0x10
jmp 0x4b92f7
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x1c], ecx
movzx ecx, byte [eax + 0x56e1a0]
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x2c]
jle 0x4b920c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
mov ecx, dword [esp + 0x18]
add esp, 4
mov edx, dword [esp + 0x10]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x1c]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4b92ef
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4b92cb
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4b92f5
mov edi, dword [esp + 0x10]
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 0x4b92f5
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x12]
test ecx, ecx
jne 0x4b930f
add eax, 0x10
jmp 0x4b9439
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x1c], ecx
movzx ecx, byte [eax + 0x56e1a0]
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x2c]
jle 0x4b934e
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
mov ecx, dword [esp + 0x18]
add esp, 4
mov edx, dword [esp + 0x10]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x1c]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4b9431
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4b940d
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4b9437
mov edi, dword [esp + 0x10]
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 0x4b9437
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 4]
test ecx, ecx
jne 0x4b9451
add eax, 0x10
jmp 0x4b957b
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x1c], ecx
movzx ecx, byte [eax + 0x56e1a0]
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x2c]
jle 0x4b9490
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
mov ecx, dword [esp + 0x18]
add esp, 4
mov edx, dword [esp + 0x10]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x1c]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4b9573
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4b954f
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4b9579
mov edi, dword [esp + 0x10]
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 0x4b9579
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 6]
test ecx, ecx
jne 0x4b9593
add eax, 0x10
jmp 0x4b97d9
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4b95ce
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jb 0x4b96ee
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop word [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4b96dd
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4b96b7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4b96e1
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4b96e1
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4b9600
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4b97d1
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4b97ad
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4b97d7
mov edi, dword [esp + 0x10]
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 0x4b97d7
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x14]
test ecx, ecx
jne 0x4b97f1
add eax, 0x10
jmp 0x4b9a39
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4b982c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jb 0x4b994e
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4b993d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4b9917
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4b9941
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4b9941
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4b9860
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4b9a31
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4b9a0d
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4b9a37
mov edi, dword [esp + 0x10]
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 0x4b9a37
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x22]
test ecx, ecx
jne 0x4b9a51
add eax, 0x10
jmp 0x4b9c99
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4b9a8c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jb 0x4b9bae
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4b9b9d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4b9b77
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4b9ba1
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4b9ba1
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4b9ac0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4b9c91
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4b9c6d
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4b9c97
mov edi, dword [esp + 0x10]
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 0x4b9c97
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x30]
test ecx, ecx
jne 0x4b9cb1
add eax, 0x10
jmp 0x4b9ef9
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4b9cec
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jb 0x4b9e0e
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4b9dfd
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4b9dd7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4b9e01
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4b9e01
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4b9d20
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4b9ef1
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4b9ecd
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4b9ef7
mov edi, dword [esp + 0x10]
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 0x4b9ef7
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x40]
test ecx, ecx
jne 0x4b9f11
add eax, 0x10
jmp 0x4ba159
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4b9f4c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jb 0x4ba06e
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4ba05d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4ba037
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4ba061
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4ba061
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4b9f80
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4ba151
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4ba12d
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4ba157
mov edi, dword [esp + 0x10]
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 0x4ba157
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x32]
test ecx, ecx
jne 0x4ba171
add eax, 0x10
jmp 0x4ba3b9
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4ba1ac
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jb 0x4ba2ce
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4ba2bd
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4ba297
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4ba2c1
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4ba2c1
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4ba1e0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4ba3b1
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4ba38d
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4ba3b7
mov edi, dword [esp + 0x10]
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 0x4ba3b7
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x24]
test ecx, ecx
jne 0x4ba3d1
add eax, 0x10
jmp 0x4ba619
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4ba40c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jb 0x4ba52e
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4ba51d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4ba4f7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4ba521
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4ba521
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4ba440
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4ba611
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4ba5ed
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4ba617
mov edi, dword [esp + 0x10]
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 0x4ba617
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x16]
test ecx, ecx
jne 0x4ba631
add eax, 0x10
jmp 0x4ba879
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4ba66c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jb 0x4ba78e
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4ba77d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4ba757
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4ba781
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4ba781
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4ba6a0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4ba871
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4ba84d
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4ba877
mov edi, dword [esp + 0x10]
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 0x4ba877
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 8]
test ecx, ecx
jne 0x4ba891
add eax, 0x10
jmp 0x4baad9
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4ba8cc
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jb 0x4ba9ee
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4ba9dd
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4ba9b7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4ba9e1
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4ba9e1
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4ba900
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4baad1
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4baaad
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4baad7
mov edi, dword [esp + 0x10]
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 0x4baad7
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0xa]
test ecx, ecx
jne 0x4baaf1
add eax, 0x10
jmp 0x4bad39
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4bab2c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jb 0x4bac4e
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4bac3d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4bac17
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4bac41
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4bac41
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4bab60
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4bad31
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4bad0d
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4bad37
mov edi, dword [esp + 0x10]
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 0x4bad37
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x18]
test ecx, ecx
jne 0x4bad51
add eax, 0x10
jmp 0x4baf99
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4bad8c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jb 0x4baeae
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4bae9d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4bae77
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4baea1
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4baea1
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4badc0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4baf91
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4baf6d
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4baf97
mov edi, dword [esp + 0x10]
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 0x4baf97
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x26]
test ecx, ecx
jne 0x4bafb1
add eax, 0x10
jmp 0x4bb1f9
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4bafec
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jb 0x4bb10e
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4bb0fd
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4bb0d7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4bb101
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4bb101
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4bb020
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4bb1f1
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4bb1cd
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4bb1f7
mov edi, dword [esp + 0x10]
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 0x4bb1f7
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x34]
test ecx, ecx
jne 0x4bb211
add eax, 0x10
jmp 0x4bb459
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4bb24c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jb 0x4bb36e
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4bb35d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4bb337
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4bb361
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4bb361
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4bb280
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4bb451
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4bb42d
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4bb457
mov edi, dword [esp + 0x10]
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 0x4bb457
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x42]
test ecx, ecx
jne 0x4bb471
add eax, 0x10
jmp 0x4bb6b9
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4bb4ac
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jb 0x4bb5ce
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4bb5bd
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4bb597
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4bb5c1
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4bb5c1
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4bb4e0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4bb6b1
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4bb68d
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4bb6b7
mov edi, dword [esp + 0x10]
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 0x4bb6b7
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x50]
test ecx, ecx
jne 0x4bb6d1
add eax, 0x10
jmp 0x4bb919
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4bb70c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jb 0x4bb82e
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4bb81d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4bb7f7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4bb821
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4bb821
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4bb740
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4bb911
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4bb8ed
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4bb917
mov edi, dword [esp + 0x10]
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 0x4bb917
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x60]
test ecx, ecx
jne 0x4bb931
add eax, 0x10
jmp 0x4bbb79
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4bb96c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jb 0x4bba8e
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4bba7d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4bba57
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4bba81
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4bba81
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4bb9a0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4bbb71
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4bbb4d
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4bbb77
mov edi, dword [esp + 0x10]
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 0x4bbb77
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x52]
test ecx, ecx
jne 0x4bbb91
add eax, 0x10
jmp 0x4bbdd9
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4bbbcc
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jb 0x4bbcee
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4bbcdd
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4bbcb7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4bbce1
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4bbce1
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4bbc00
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4bbdd1
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4bbdad
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4bbdd7
mov edi, dword [esp + 0x10]
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 0x4bbdd7
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x44]
test ecx, ecx
jne 0x4bbdf1
add eax, 0x10
jmp 0x4bc039
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4bbe2c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jb 0x4bbf4e
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4bbf3d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4bbf17
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4bbf41
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4bbf41
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4bbe60
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4bc031
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4bc00d
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4bc037
mov edi, dword [esp + 0x10]
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 0x4bc037
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x36]
test ecx, ecx
jne 0x4bc051
add eax, 0x10
jmp 0x4bc299
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4bc08c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jb 0x4bc1ae
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4bc19d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4bc177
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4bc1a1
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4bc1a1
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4bc0c0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4bc291
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4bc26d
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4bc297
mov edi, dword [esp + 0x10]
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 0x4bc297
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x28]
test ecx, ecx
jne 0x4bc2b1
add eax, 0x10
jmp 0x4bc4f9
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4bc2ec
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jb 0x4bc40e
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4bc3fd
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4bc3d7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4bc401
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4bc401
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4bc320
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4bc4f1
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4bc4cd
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4bc4f7
mov edi, dword [esp + 0x10]
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 0x4bc4f7
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x1a]
test ecx, ecx
jne 0x4bc511
add eax, 0x10
jmp 0x4bc759
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4bc54c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jb 0x4bc66e
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4bc65d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4bc637
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4bc661
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4bc661
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4bc580
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4bc751
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4bc72d
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4bc757
mov edi, dword [esp + 0x10]
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 0x4bc757
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0xc]
test ecx, ecx
jne 0x4bc771
add eax, 0x10
jmp 0x4bc9b9
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4bc7ac
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jb 0x4bc8ce
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4bc8bd
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4bc897
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4bc8c1
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4bc8c1
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4bc7e0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4bc9b1
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4bc98d
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4bc9b7
mov edi, dword [esp + 0x10]
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 0x4bc9b7
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0xe]
test ecx, ecx
jne 0x4bc9d1
add eax, 0x10
jmp 0x4bcc19
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4bca0c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jb 0x4bcb2e
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4bcb1d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4bcaf7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4bcb21
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4bcb21
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4bca40
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4bcc11
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4bcbed
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4bcc17
mov edi, dword [esp + 0x10]
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 0x4bcc17
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x1c]
test ecx, ecx
jne 0x4bcc31
add eax, 0x10
jmp 0x4bce79
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4bcc6c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x4bcd8e
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4bcd7d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4bcd57
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4bcd81
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4bcd81
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4bcca0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4bce71
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4bce4d
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4bce77
mov edi, dword [esp + 0x10]
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 0x4bce77
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x2a]
test ecx, ecx
jne 0x4bce91
add eax, 0x10
jmp 0x4bd0d9
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4bcecc
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x4bcfee
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4bcfdd
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4bcfb7
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4bcfe1
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4bcfe1
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4bcf00
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4bd0d1
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4bd0ad
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4bd0d7
mov edi, dword [esp + 0x10]
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 0x4bd0d7
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x38]
test ecx, ecx
jne 0x4bd0f1
add eax, 0x10
jmp 0x4bd339
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4bd12c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x4bd24e
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4bd23d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4bd217
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4bd241
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4bd241
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4bd160
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4bd331
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4bd30d
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4bd337
mov edi, dword [esp + 0x10]
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 0x4bd337
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x46]
test ecx, ecx
jne 0x4bd351
add eax, 0x10
jmp 0x4bd599
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4bd38c
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x4bd4ae
mov eax, edx
shr eax, 8
mov dword [esp + 0x14], eax
neg eax
shl eax, 8
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
nop dword [eax]
nop dword [eax + eax]
movsx ecx, byte [ebp + 0x4f0]
mov eax, dword [ebp + 0x3c0]
mov dword [esp + 0x14], ebx
sub ebx, ecx
jns 0x4bd49d
mov ecx, ebx
neg ecx
shr eax, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
mov ecx, eax
or ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x18], ecx
lea eax, [ecx + 0x1010101]
not eax
and eax, ecx
test eax, 0x80808080
mov eax, ecx
je 0x4bd477
shr eax, 0x18
mov edi, 2
mov byte [esi], al
cmp al, 0xff
mov byte [esi + 1], 0
mov eax, 2
sbb ecx, ecx
neg ecx
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
shr eax, 0x10
cmp al, 0xff
mov byte [esi], al
sbb ecx, ecx
neg ecx
mov byte [esi + 1], 0
mov eax, 2
sub eax, ecx
add esi, eax
mov eax, dword [esp + 0x18]
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 [esp + 0x18]
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov eax, edi
mov byte [esi + 1], 0
mov edi, dword [ebp + 0x3c0]
sub eax, ecx
add esi, eax
add ebx, 0x20
jmp 0x4bd4a1
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 [ebp + 0x3c0]
add ebx, 0x20
jmp 0x4bd4a1
shl edi, cl
or edi, eax
sub edx, 1
jne 0x4bd3c0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + edx*4]
shl eax, cl
mov dword [esp + 0x10], eax
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x20]
or dword [esp + 0x10], eax
movsx eax, byte [edx + ebp + 0x400]
add ecx, eax
sub ebx, ecx
jns 0x4bd591
mov edx, dword [esp + 0x10]
mov ecx, ebx
neg ecx
sar edx, cl
mov ecx, dword [esp + 0x14]
shl edi, cl
or edx, edi
lea eax, [edx + 0x1010101]
not eax
and eax, edx
test eax, 0x80808080
mov eax, edx
je 0x4bd56d
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, edx
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, edx
shr eax, 8
cmp al, 0xff
sbb ecx, ecx
mov byte [esi], al
neg ecx
mov byte [esi + 1], 0
mov eax, edi
sub eax, ecx
add esi, eax
cmp dl, 0xff
mov eax, edi
mov edi, dword [esp + 0x10]
sbb ecx, ecx
neg ecx
mov byte [esi], dl
sub eax, ecx
mov byte [esi + 1], 0
add esi, eax
add ebx, 0x20
jmp 0x4bd597
mov edi, dword [esp + 0x10]
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 0x4bd597
shl edi, cl
or edi, dword [esp + 0x10]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x54]
test ecx, ecx
jne 0x4bd5b1
add eax, 0x10
jmp 0x4bd7f9
mov eax, ecx
sar eax, 0x1f
add ecx, eax
xor eax, ecx
mov dword [esp + 0x20], ecx
movzx eax, byte [eax + 0x56e1a0]
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x2c]
jle 0x4bd5ec
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x28]
mov eax, dword [eax]
mov dword [eax + 0x14], 6
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx]
call eax
add esp, 4
mov edx, dword [esp + 0x10]
cmp edx, 0x100
jl 0x4bd70e
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
movsx ecx, word [ecx + 0x62]
test ecx, ecx
jne 0x4bd811