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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x120
mov eax, dword [0x5523d4]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [ecx + 4], 0x100
mov eax, dword [ebp + 0x14]
mov edx, dword [eax + 0x3c0]
movsx eax, byte [eax + 0x4f0]
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, dword [ecx + 8]
mov dword [ebp - 0x118], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x11c], 0
jae 0x4c4a96
mov dword [ebp - 0x11c], 1
lea esi, [ebp - 0x104]
jmp 0x4c4a98
mov esi, dword [ecx]
movsx edx, word [ebx]
sub edx, dword [ebp + 0xc]
mov ecx, edx
sar ecx, 0x1f
mov dword [ebp - 0x110], edx
add edx, ecx
mov dword [ebp - 0x10c], edx
mov edx, ecx
xor edx, dword [ebp - 0x110]
sub edx, ecx
movzx edx, byte [edx + 0x505a20]
mov ecx, dword [ebp + 0x10]
movsx ecx, byte [edx + ecx + 0x400]
shl edi, cl
add eax, ecx
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x108], edx
or edi, dword [ecx + edx*4]
mov dword [ebp - 0x110], edi
cmp eax, 0xf
jle 0x4c4b1c
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c4afe
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov edx, dword [ebp - 0x108]
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c4b1c
mov byte [esi], 0
inc esi
mov ecx, edx
mov edi, 1
shl edi, cl
add eax, edx
mov edx, dword [ebp - 0x110]
shl edx, cl
dec edi
and edi, dword [ebp - 0x10c]
or edi, edx
cmp eax, 0xf
jle 0x4c4b6b
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c4b53
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c4b6b
mov byte [esi], 0
inc esi
movsx edx, word [ebx + 2]
test edx, edx
jne 0x4c4b7d
mov edx, 1
jmp 0x4c4c58
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0x108], ecx
mov edx, ecx
movsx ecx, word [ebx + 2]
xor edx, ecx
sub edx, dword [ebp - 0x108]
movzx ecx, byte [edx + 0x505a20]
mov edx, dword [ebp + 0x14]
movsx edx, byte [ecx + edx + 0x400]
mov dword [ebp - 0x110], edx
mov edx, 1
shl edx, cl
mov dword [ebp - 0x108], ecx
mov ecx, dword [ebp - 0x110]
shl edi, cl
dec edx
and dword [ebp - 0x10c], edx
mov edx, dword [ebp - 0x108]
add eax, ecx
mov ecx, dword [ebp + 0x14]
or edi, dword [ecx + edx*4]
cmp eax, 0xf
jle 0x4c4c13
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c4bfb
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c4c13
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c4c56
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c4c3e
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c4c56
mov byte [esi], 0
inc esi
xor edx, edx
movsx ecx, word [ebx + 0x10]
test ecx, ecx
jne 0x4c4c66
inc edx
jmp 0x4c4da1
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0x10]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c4d01
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
mov edi, edi
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c4cf3
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c4cdb
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c4cf3
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c4cb0
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c4d59
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c4d41
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c4d59
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c4d9c
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c4d84
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c4d9c
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0x20]
test ecx, ecx
jne 0x4c4daf
inc edx
jmp 0x4c4ef1
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0x20]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c4e51
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c4e00
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c4e43
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c4e2b
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c4e43
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c4e00
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c4ea9
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c4e91
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c4ea9
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c4eec
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c4ed4
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c4eec
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0x12]
test ecx, ecx
jne 0x4c4eff
inc edx
jmp 0x4c5041
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0x12]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c4fa1
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c4f50
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c4f93
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c4f7b
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c4f93
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c4f50
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c4ff9
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c4fe1
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c4ff9
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c503c
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5024
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c503c
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 4]
test ecx, ecx
jne 0x4c504f
inc edx
jmp 0x4c5191
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 4]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c50f1
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c50a0
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c50e3
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c50cb
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c50e3
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c50a0
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c5149
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5131
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5149
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c518c
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5174
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c518c
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 6]
test ecx, ecx
jne 0x4c519f
inc edx
jmp 0x4c52e1
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 6]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c5241
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c51f0
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c5233
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c521b
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5233
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c51f0
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c5299
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5281
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5299
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c52dc
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c52c4
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c52dc
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0x14]
test ecx, ecx
jne 0x4c52ef
inc edx
jmp 0x4c5431
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0x14]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c5391
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c5340
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c5383
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c536b
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5383
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c5340
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c53e9
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c53d1
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c53e9
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c542c
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5414
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c542c
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0x22]
test ecx, ecx
jne 0x4c543f
inc edx
jmp 0x4c5581
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0x22]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c54e1
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c5490
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c54d3
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c54bb
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c54d3
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c5490
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c5539
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5521
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5539
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c557c
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5564
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c557c
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0x30]
test ecx, ecx
jne 0x4c558f
inc edx
jmp 0x4c56d1
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0x30]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c5631
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c55e0
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c5623
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c560b
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5623
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c55e0
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c5689
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5671
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5689
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c56cc
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c56b4
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c56cc
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0x40]
test ecx, ecx
jne 0x4c56df
inc edx
jmp 0x4c5821
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0x40]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c5781
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c5730
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c5773
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c575b
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5773
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c5730
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c57d9
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c57c1
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c57d9
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c581c
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5804
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c581c
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0x32]
test ecx, ecx
jne 0x4c582f
inc edx
jmp 0x4c5971
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0x32]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c58d1
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c5880
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c58c3
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c58ab
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c58c3
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c5880
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c5929
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5911
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5929
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c596c
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5954
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c596c
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0x24]
test ecx, ecx
jne 0x4c597f
inc edx
jmp 0x4c5ac1
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0x24]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c5a21
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c59d0
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c5a13
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c59fb
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5a13
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c59d0
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c5a79
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5a61
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5a79
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c5abc
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5aa4
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5abc
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0x16]
test ecx, ecx
jne 0x4c5acf
inc edx
jmp 0x4c5c11
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0x16]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c5b71
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c5b20
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c5b63
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5b4b
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5b63
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c5b20
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c5bc9
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5bb1
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5bc9
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c5c0c
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5bf4
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5c0c
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 8]
test ecx, ecx
jne 0x4c5c1f
inc edx
jmp 0x4c5d61
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 8]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c5cc1
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c5c70
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c5cb3
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5c9b
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5cb3
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c5c70
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c5d19
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5d01
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5d19
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c5d5c
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5d44
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5d5c
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0xa]
test ecx, ecx
jne 0x4c5d6f
inc edx
jmp 0x4c5eb1
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0xa]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c5e11
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c5dc0
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c5e03
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5deb
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5e03
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c5dc0
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c5e69
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5e51
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5e69
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c5eac
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5e94
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5eac
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0x18]
test ecx, ecx
jne 0x4c5ebf
inc edx
jmp 0x4c6001
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0x18]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c5f61
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c5f10
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c5f53
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5f3b
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5f53
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c5f10
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c5fb9
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5fa1
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5fb9
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c5ffc
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5fe4
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c5ffc
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0x26]
test ecx, ecx
jne 0x4c600f
inc edx
jmp 0x4c6151
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0x26]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c60b1
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c6060
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c60a3
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c608b
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c60a3
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c6060
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c6109
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c60f1
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6109
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c614c
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6134
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c614c
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0x34]
test ecx, ecx
jne 0x4c615f
inc edx
jmp 0x4c62a1
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0x34]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c6201
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c61b0
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c61f3
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c61db
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c61f3
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c61b0
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c6259
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6241
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6259
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c629c
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6284
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c629c
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0x42]
test ecx, ecx
jne 0x4c62af
inc edx
jmp 0x4c63f1
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0x42]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c6351
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c6300
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c6343
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c632b
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6343
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c6300
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c63a9
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6391
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c63a9
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c63ec
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c63d4
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c63ec
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0x50]
test ecx, ecx
jne 0x4c63ff
inc edx
jmp 0x4c6541
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0x50]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c64a1
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c6450
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c6493
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c647b
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6493
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c6450
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c64f9
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c64e1
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c64f9
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c653c
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6524
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c653c
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0x60]
test ecx, ecx
jne 0x4c654f
inc edx
jmp 0x4c6691
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0x60]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c65f1
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c65a0
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c65e3
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c65cb
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c65e3
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c65a0
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c6649
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6631
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6649
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c668c
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6674
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c668c
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0x52]
test ecx, ecx
jne 0x4c669f
inc edx
jmp 0x4c67e1
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0x52]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c6741
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c66f0
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c6733
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c671b
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6733
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c66f0
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c6799
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6781
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6799
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c67dc
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c67c4
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c67dc
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0x44]
test ecx, ecx
jne 0x4c67ef
inc edx
jmp 0x4c6931
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0x44]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c6891
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c6840
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c6883
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c686b
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6883
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c6840
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c68e9
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c68d1
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c68e9
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c692c
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6914
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c692c
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0x36]
test ecx, ecx
jne 0x4c693f
inc edx
jmp 0x4c6a81
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0x36]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c69e1
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c6990
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c69d3
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c69bb
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c69d3
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c6990
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c6a39
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6a21
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6a39
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c6a7c
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6a64
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6a7c
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0x28]
test ecx, ecx
jne 0x4c6a8f
inc edx
jmp 0x4c6bd1
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0x28]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c6b31
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c6ae0
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c6b23
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6b0b
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6b23
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c6ae0
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c6b89
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6b71
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6b89
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c6bcc
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6bb4
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6bcc
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0x1a]
test ecx, ecx
jne 0x4c6bdf
inc edx
jmp 0x4c6d21
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0x1a]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c6c81
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c6c30
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c6c73
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6c5b
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6c73
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c6c30
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c6cd9
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6cc1
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6cd9
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c6d1c
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6d04
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6d1c
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0xc]
test ecx, ecx
jne 0x4c6d2f
inc edx
jmp 0x4c6e71
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0xc]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c6dd1
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c6d80
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c6dc3
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6dab
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6dc3
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c6d80
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c6e29
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6e11
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6e29
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c6e6c
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6e54
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6e6c
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0xe]
test ecx, ecx
jne 0x4c6e7f
inc edx
jmp 0x4c6fc1
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0xe]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c6f21
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c6ed0
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c6f13
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6efb
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6f13
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c6ed0
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c6f79
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6f61
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6f79
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c6fbc
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6fa4
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c6fbc
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0x1c]
test ecx, ecx
jne 0x4c6fcf
inc edx
jmp 0x4c7129
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0x1c]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c7079
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c7020
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c706b
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c704f
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c706b
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c7020
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c70d9
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c70bd
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c70d9
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c7124
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c7108
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c7124
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0x2a]
test ecx, ecx
jne 0x4c713b
inc edx
jmp 0x4c7274
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0x2a]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c71d4
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c71c6
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c71ae
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c71c6
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c7183
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c722c
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c7214
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c722c
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c726f
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c7257
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c726f
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0x38]
test ecx, ecx
jne 0x4c7282
inc edx
jmp 0x4c73c1
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0x38]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c7321
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
lea ebx, [ebx]
mov ecx, dword [ebp - 0x118]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x114]
cmp eax, 0xf
jle 0x4c7313
lea ecx, [eax - 8]
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c72fb
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov ebx, edi
shr ebx, cl
inc esi
mov cl, bl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c7313
mov byte [esi], 0
inc esi
dec dword [ebp - 0x110]
jne 0x4c72d0
mov ecx, dword [ebp - 0x108]
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c7379
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c7361
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c7379
mov byte [esi], 0
inc esi
mov ecx, dword [ebp - 0x108]
shl edi, cl
add eax, ecx
or edi, dword [ebp - 0x10c]
cmp eax, 0xf
jle 0x4c73bc
lea ecx, [eax - 8]
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c73a4
mov byte [esi], 0
inc esi
sub eax, 0x10
mov ecx, eax
mov edx, edi
shr edx, cl
inc esi
mov cl, dl
mov byte [esi - 1], cl
cmp cl, 0xff
jne 0x4c73bc
mov byte [esi], 0
inc esi
mov ebx, dword [ebp + 8]
xor edx, edx
movsx ecx, word [ebx + 0x46]
test ecx, ecx
jne 0x4c73cf
inc edx
jmp 0x4c7511
mov ebx, ecx
sar ebx, 0x1f
add ecx, ebx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp + 8]
movsx ecx, word [ecx + 0x46]
mov dword [ebp - 0x108], ebx
xor ebx, ecx
sub ebx, dword [ebp - 0x108]
movzx ecx, byte [ebx + 0x505a20]
mov dword [ebp - 0x108], ecx
cmp edx, 0xf
jle 0x4c7471
lea ecx, [edx - 0x10]
shr ecx, 4
inc ecx
mov dword [ebp - 0x110], ecx
neg ecx
shl ecx, 4
add edx, ecx
jmp 0x4c7420
mov ebx, 1
shl ebx, cl
shl edx, 4
add edx, ecx
dec ebx
and dword [ebp - 0x10c], ebx
mov ebx, dword [ebp + 0x14]
movsx ecx, byte [edx + ebx + 0x400]
shl edi, cl
add eax, ecx
or edi, dword [ebx + edx*4]
cmp eax, 0xf
jle 0x4c74c9
movsx ecx, word [ebx + 0x54]
test ecx, ecx
jne 0x4c7523