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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x128
mov eax, dword [0x58f080]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x18]
push ebx
push esi
mov esi, dword [ebp + 8]
mov eax, dword [ecx + 0x3c0]
mov dword [ebp - 0x120], eax
movsx eax, byte [ecx + 0x4f0]
cmp dword [esi + 4], 0x100
mov dword [ebp - 0x118], eax
mov eax, dword [esi + 8]
push edi
mov edi, dword [esi + 0xc]
mov dword [ebp - 0x124], esi
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x114], eax
jae 0x4bcdcc
mov dword [ebp - 0x128], 1
lea esi, [ebp - 0x104]
jmp 0x4bcdce
mov esi, dword [esi]
mov eax, dword [ebp + 0xc]
movsx eax, word [eax]
sub eax, dword [ebp + 0x10]
mov edx, eax
mov ecx, eax
sar edx, 0x1f
add eax, edx
mov dword [ebp - 0x108], eax
mov eax, edx
xor eax, ecx
sub eax, edx
mov edx, dword [ebp - 0x114]
movzx ebx, byte [eax + 0x50e150]
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x10c], ebx
movsx ecx, byte [ebx + eax + 0x400]
shl edx, cl
add edi, ecx
or edx, dword [eax + ebx*4]
cmp edi, 0xf
jle 0x4bce3c
mov eax, edx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bce28
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, edx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bce3c
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x10c]
add edi, ebx
mov eax, 1
shl edx, cl
mov ebx, eax
mov dword [ebp - 0x11c], eax
shl ebx, cl
dec ebx
and ebx, dword [ebp - 0x108]
or ebx, edx
cmp edi, 0xf
jle 0x4bce89
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bce75
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bce89
mov byte [esi], 0
inc esi
mov eax, dword [ebp + 0xc]
movsx edx, word [eax + 2]
test edx, edx
jne 0x4bce9e
mov edx, 1
jmp 0x4bcf52
mov ecx, edx
sar ecx, 0x1f
lea eax, [ecx + edx]
mov dword [ebp - 0x108], eax
mov eax, ecx
xor eax, edx
mov edx, dword [ebp + 0x18]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov eax, dword [ebp - 0x11c]
shl eax, cl
dec eax
mov dword [ebp - 0x114], ecx
movsx edx, byte [ecx + edx + 0x400]
and dword [ebp - 0x108], eax
add edi, edx
mov eax, dword [ebp + 0x18]
mov ecx, edx
mov edx, dword [ebp - 0x114]
shl ebx, cl
or ebx, dword [eax + edx*4]
cmp edi, 0xf
jle 0x4bcf16
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bcf02
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bcf16
mov byte [esi], 0
inc esi
mov ecx, edx
add edi, edx
shl ebx, cl
or ebx, dword [ebp - 0x108]
cmp edi, 0xf
jle 0x4bcf4d
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bcf39
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bcf4d
mov byte [esi], 0
inc esi
mov eax, dword [ebp + 0xc]
xor edx, edx
movsx eax, word [eax + 0x10]
mov dword [ebp - 0x114], eax
test eax, eax
jne 0x4bcf66
inc edx
jmp 0x4bd0a0
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x114]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4bd001
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4bcff2
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bcfd8
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4bcff2
mov byte [esi], 0
inc esi
dec edx
jne 0x4bcfb5
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4bd063
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd04f
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd063
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4bd09e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd08a
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd09e
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x20]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4bd0b7
inc edx
jmp 0x4bd1f1
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4bd152
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4bd143
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd129
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4bd143
mov byte [esi], 0
inc esi
dec edx
jne 0x4bd106
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4bd1b4
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd1a0
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd1b4
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4bd1ef
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd1db
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd1ef
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x12]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4bd208
inc edx
jmp 0x4bd342
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4bd2a3
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4bd294
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd27a
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4bd294
mov byte [esi], 0
inc esi
dec edx
jne 0x4bd257
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4bd305
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd2f1
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd305
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4bd340
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd32c
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd340
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 4]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4bd359
inc edx
jmp 0x4bd493
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4bd3f4
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4bd3e5
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd3cb
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4bd3e5
mov byte [esi], 0
inc esi
dec edx
jne 0x4bd3a8
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4bd456
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd442
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd456
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4bd491
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd47d
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd491
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 6]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4bd4aa
inc edx
jmp 0x4bd5eb
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4bd54c
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
lea esp, [esp]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4bd53d
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd523
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4bd53d
mov byte [esi], 0
inc esi
dec edx
jne 0x4bd500
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4bd5ae
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd59a
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd5ae
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4bd5e9
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd5d5
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd5e9
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x14]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4bd602
inc edx
jmp 0x4bd73c
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4bd69d
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4bd68e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd674
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4bd68e
mov byte [esi], 0
inc esi
dec edx
jne 0x4bd651
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4bd6ff
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd6eb
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd6ff
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4bd73a
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd726
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd73a
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x22]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4bd753
inc edx
jmp 0x4bd88d
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4bd7ee
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4bd7df
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd7c5
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4bd7df
mov byte [esi], 0
inc esi
dec edx
jne 0x4bd7a2
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4bd850
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd83c
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd850
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4bd88b
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd877
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd88b
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x30]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4bd8a4
inc edx
jmp 0x4bd9de
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4bd93f
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4bd930
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd916
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4bd930
mov byte [esi], 0
inc esi
dec edx
jne 0x4bd8f3
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4bd9a1
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd98d
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd9a1
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4bd9dc
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd9c8
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bd9dc
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x40]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4bd9f5
inc edx
jmp 0x4bdb2f
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4bda90
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4bda81
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bda67
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4bda81
mov byte [esi], 0
inc esi
dec edx
jne 0x4bda44
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4bdaf2
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bdade
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bdaf2
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4bdb2d
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bdb19
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bdb2d
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x32]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4bdb46
inc edx
jmp 0x4bdc80
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4bdbe1
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4bdbd2
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bdbb8
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4bdbd2
mov byte [esi], 0
inc esi
dec edx
jne 0x4bdb95
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4bdc43
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bdc2f
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bdc43
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4bdc7e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bdc6a
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bdc7e
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x24]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4bdc97
inc edx
jmp 0x4bdddb
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4bdd3c
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
lea ebx, [ebx]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4bdd2d
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bdd13
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4bdd2d
mov byte [esi], 0
inc esi
dec edx
jne 0x4bdcf0
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4bdd9e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bdd8a
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bdd9e
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4bddd9
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bddc5
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bddd9
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x16]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4bddf2
inc edx
jmp 0x4bdf2c
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4bde8d
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4bde7e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bde64
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4bde7e
mov byte [esi], 0
inc esi
dec edx
jne 0x4bde41
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4bdeef
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bdedb
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bdeef
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4bdf2a
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bdf16
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bdf2a
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 8]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4bdf43
inc edx
jmp 0x4be07d
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4bdfde
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4bdfcf
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bdfb5
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4bdfcf
mov byte [esi], 0
inc esi
dec edx
jne 0x4bdf92
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4be040
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be02c
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be040
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4be07b
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be067
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be07b
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0xa]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4be094
inc edx
jmp 0x4be1d2
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4be133
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4be124
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be10a
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4be124
mov byte [esi], 0
inc esi
dec edx
jne 0x4be0e7
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4be195
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be181
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be195
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4be1d0
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be1bc
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be1d0
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x18]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4be1e9
inc edx
jmp 0x4be32b
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4be28c
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
lea esp, [esp]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4be27d
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be263
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4be27d
mov byte [esi], 0
inc esi
dec edx
jne 0x4be240
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4be2ee
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be2da
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be2ee
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4be329
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be315
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be329
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x26]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4be342
inc edx
jmp 0x4be480
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4be3e1
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4be3d2
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be3b8
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4be3d2
mov byte [esi], 0
inc esi
dec edx
jne 0x4be395
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4be443
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be42f
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be443
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4be47e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be46a
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be47e
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x34]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4be497
inc edx
jmp 0x4be5db
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4be53c
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
lea ebx, [ebx]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4be52d
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be513
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4be52d
mov byte [esi], 0
inc esi
dec edx
jne 0x4be4f0
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4be59e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be58a
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be59e
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4be5d9
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be5c5
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be5d9
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x42]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4be5f2
inc edx
jmp 0x4be72c
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4be68d
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4be67e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be664
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4be67e
mov byte [esi], 0
inc esi
dec edx
jne 0x4be641
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4be6ef
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be6db
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be6ef
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4be72a
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be716
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be72a
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x50]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4be743
inc edx
jmp 0x4be881
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4be7e2
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4be7d3
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be7b9
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4be7d3
mov byte [esi], 0
inc esi
dec edx
jne 0x4be796
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4be844
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be830
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be844
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4be87f
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be86b
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be87f
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x60]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4be898
inc edx
jmp 0x4be9db
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4be93c
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
jmp 0x4be8f0
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4be92d
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be913
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4be92d
mov byte [esi], 0
inc esi
dec edx
jne 0x4be8f0
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4be99e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be98a
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be99e
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4be9d9
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be9c5
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4be9d9
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x52]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4be9f2
inc edx
jmp 0x4beb2c
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4bea8d
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4bea7e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bea64
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4bea7e
mov byte [esi], 0
inc esi
dec edx
jne 0x4bea41
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4beaef
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4beadb
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4beaef
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4beb2a
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4beb16
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4beb2a
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x44]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4beb43
inc edx
jmp 0x4bec81
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4bebe2
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4bebd3
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bebb9
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4bebd3
mov byte [esi], 0
inc esi
dec edx
jne 0x4beb96
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4bec44
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bec30
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bec44
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4bec7f
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bec6b
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bec7f
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x36]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4bec98
inc edx
jmp 0x4beddb
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4bed3c
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
jmp 0x4becf0
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4bed2d
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bed13
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4bed2d
mov byte [esi], 0
inc esi
dec edx
jne 0x4becf0
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4bed9e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bed8a
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bed9e
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4bedd9
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bedc5
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bedd9
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x28]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4bedf2
inc edx
jmp 0x4bef30
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4bee91
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4bee82
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bee68
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4bee82
mov byte [esi], 0
inc esi
dec edx
jne 0x4bee45
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4beef3
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4beedf
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4beef3
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4bef2e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bef1a
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bef2e
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x1a]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4bef47
inc edx
jmp 0x4bf08b
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4befec
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
lea ebx, [ebx]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4befdd
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4befc3
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4befdd
mov byte [esi], 0
inc esi
dec edx
jne 0x4befa0
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4bf04e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf03a
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf04e
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4bf089
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf075
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf089
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0xc]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4bf0a2
inc edx
jmp 0x4bf1dc
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4bf13d
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4bf12e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf114
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4bf12e
mov byte [esi], 0
inc esi
dec edx
jne 0x4bf0f1
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4bf19f
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf18b
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf19f
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4bf1da
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf1c6
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf1da
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0xe]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4bf1f3
inc edx
jmp 0x4bf331
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4bf292
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4bf283
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf269
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4bf283
mov byte [esi], 0
inc esi
dec edx
jne 0x4bf246
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4bf2f4
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf2e0
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf2f4
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4bf32f
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf31b
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf32f
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x1c]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4bf348
inc edx
jmp 0x4bf48b
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4bf3ec
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
jmp 0x4bf3a0
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4bf3dd
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf3c3
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4bf3dd
mov byte [esi], 0
inc esi
dec edx
jne 0x4bf3a0
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4bf44e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf43a
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf44e
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4bf489
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf475
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf489
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x2a]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4bf4a2
inc edx
jmp 0x4bf5dc
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4bf53d
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4bf52e
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf514
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4bf52e
mov byte [esi], 0
inc esi
dec edx
jne 0x4bf4f1
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4bf59f
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf58b
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf59f
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4bf5da
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf5c6
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf5da
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x38]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4bf5f3
inc edx
jmp 0x4bf731
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4bf692
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
mov ecx, eax
add edi, eax
shl ebx, cl
or ebx, dword [ebp - 0x120]
cmp edi, 0xf
jle 0x4bf683
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf669
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
mov eax, dword [ebp - 0x118]
jne 0x4bf683
mov byte [esi], 0
inc esi
dec edx
jne 0x4bf646
mov edx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4bf6f4
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf6e0
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf6f4
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x114]
add edi, ecx
shl ebx, cl
or ebx, dword [ebp - 0x10c]
cmp edi, 0xf
jle 0x4bf72f
mov eax, ebx
lea ecx, [edi - 8]
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf71b
mov byte [esi], 0
inc esi
sub edi, 0x10
mov eax, ebx
mov ecx, edi
shr eax, cl
mov byte [esi], al
inc esi
cmp al, 0xff
jne 0x4bf72f
mov byte [esi], 0
inc esi
xor edx, edx
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x46]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4bf748
inc edx
jmp 0x4bf88b
mov ecx, eax
sar ecx, 0x1f
add eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, ecx
xor eax, dword [ebp - 0x110]
sub eax, ecx
movzx ecx, byte [eax + 0x50e150]
mov dword [ebp - 0x114], ecx
cmp edx, 0xf
jle 0x4bf7ec
lea eax, [edx - 0x10]
shr eax, 4
inc eax
mov dword [ebp - 0x110], eax
neg eax
shl eax, 4
add edx, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0x110]
jmp 0x4bf7a0
mov eax, dword [ebp + 0x18]
shl edx, 4
add edx, ecx
mov dword [ebp - 0x108], edx
movsx edx, byte [edx + eax + 0x400]
mov eax, dword [ebp - 0x11c]
add edi, edx
shl eax, cl
mov ecx, edx
mov edx, dword [ebp + 0x18]
dec eax
and dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
shl ebx, cl
or ebx, dword [edx + eax*4]
cmp edi, 0xf
jle 0x4bf84e
mov eax, dword [ebp + 0xc]
movsx eax, word [eax + 0x54]
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x4bf8a2