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

Disassembly:
sub esp, 0x118
mov eax, dword [esp + 0x12c]
push ebx
push ebp
push esi
mov ecx, dword [eax + 0x3c0]
push edi
movsx edx, byte [eax + 0x4f0]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], 0
mov edx, dword [ecx + 4]
mov edi, dword [ecx + 8]
mov eax, dword [ecx + 0xc]
cmp edx, 0x100
jae 0x10016134
mov dword [esp + 0x24], 1
lea esi, [esp + 0x28]
jmp 0x10016136
mov esi, dword [ecx]
mov ecx, dword [esp + 0x130]
movsx ebp, word [ecx]
sub ebp, dword [esp + 0x134]
mov ecx, ebp
mov edx, ebp
sar ecx, 0x1f
mov ebx, ecx
add ebp, ecx
xor ebx, edx
xor edx, edx
sub ebx, ecx
mov dl, byte [ebx + 0x1009db78]
mov ebx, edx
mov edx, dword [esp + 0x138]
mov dword [esp + 0x10], ebx
movsx ecx, byte [ebx + edx + 0x400]
mov edx, dword [edx + ebx*4]
add eax, ecx
shl edi, cl
or edx, edi
cmp eax, 0xf
jle 0x100161b1
sub eax, 8
mov ebx, edx
mov ecx, eax
shr ebx, cl
inc esi
mov byte [esi - 1], bl
cmp bl, 0xff
jne 0x10016197
mov byte [esi], 0
inc esi
sub eax, 8
mov ebx, edx
mov ecx, eax
shr ebx, cl
inc esi
mov byte [esi - 1], bl
cmp bl, 0xff
mov ebx, dword [esp + 0x10]
jne 0x100161b1
mov byte [esi], 0
inc esi
mov edi, 1
mov ecx, ebx
shl edi, cl
add eax, ebx
shl edx, cl
dec edi
and edi, ebp
or edi, edx
cmp eax, 0xf
jle 0x100161f4
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100161de
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100161f4
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
movsx edx, word [ebx + 2]
test edx, edx
jne 0x1001620d
mov ebp, 1
jmp 0x100162cd
mov ecx, edx
sar ecx, 0x1f
lea ebp, [ecx + edx]
mov dword [esp + 0x18], ebp
mov ebp, ecx
xor ebp, edx
xor edx, edx
sub ebp, ecx
mov dl, byte [ebp + 0x1009db78]
mov ebp, 1
mov ecx, edx
shl ebp, cl
mov ecx, dword [esp + 0x18]
dec ebp
and ecx, ebp
mov ebp, dword [esp + 0x13c]
mov dword [esp + 0x18], ecx
movsx ecx, byte [edx + ebp + 0x400]
mov ebp, dword [ebp + edx*4]
add eax, ecx
shl edi, cl
or ebp, edi
cmp eax, 0xf
jle 0x1001628c
sub eax, 8
mov ebx, ebp
mov ecx, eax
shr ebx, cl
inc esi
mov byte [esi - 1], bl
cmp bl, 0xff
jne 0x1001626f
mov byte [esi], 0
inc esi
sub eax, 8
mov ebx, ebp
mov ecx, eax
shr ebx, cl
inc esi
mov byte [esi - 1], bl
cmp bl, 0xff
mov ebx, dword [esp + 0x130]
jne 0x1001628c
mov byte [esi], 0
inc esi
mov ecx, edx
add eax, edx
mov edx, dword [esp + 0x18]
shl ebp, cl
or ebp, edx
cmp eax, 0xf
mov edi, ebp
jle 0x100162cb
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100162b5
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100162cb
mov byte [esi], 0
inc esi
xor ebp, ebp
movsx edx, word [ebx + 0x10]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x100162df
inc ebp
jmp 0x10016406
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x10]
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x10016363
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
shl edi, cl
add eax, ecx
or edi, edx
cmp eax, 0xf
jle 0x10016354
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001633e
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016354
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10016315
mov ecx, dword [esp + 0x10]
mov edx, 1
shl edx, cl
shl ebp, 4
add ebp, ecx
mov ecx, dword [esp + 0x18]
dec edx
and ecx, edx
mov edx, dword [esp + 0x13c]
mov dword [esp + 0x18], ecx
movsx ecx, byte [edx + ebp + 0x400]
mov ebp, dword [edx + ebp*4]
add eax, ecx
shl edi, cl
or ebp, edi
cmp eax, 0xf
jle 0x100163c3
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100163ad
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100163c3
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
shl ebp, cl
add eax, ecx
or ebp, edx
cmp eax, 0xf
mov edi, ebp
jle 0x10016404
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100163ee
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016404
mov byte [esi], 0
inc esi
xor ebp, ebp
movsx edx, word [ebx + 0x20]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x10016418
inc ebp
jmp 0x1001653f
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, dword [esp + 0x10]
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x1001649c
lea ecx, [ebp - 0x10]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
shl edi, cl
add eax, ecx
or edi, edx
cmp eax, 0xf
jle 0x1001648d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016477
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001648d
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x1001644e
mov ecx, dword [esp + 0x10]
mov edx, 1
shl edx, cl
shl ebp, 4
add ebp, ecx
mov ecx, dword [esp + 0x18]
dec edx
and ecx, edx
mov edx, dword [esp + 0x13c]
mov dword [esp + 0x18], ecx
movsx ecx, byte [edx + ebp + 0x400]
mov ebp, dword [edx + ebp*4]
add eax, ecx
shl edi, cl
or ebp, edi
cmp eax, 0xf
jle 0x100164fc
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100164e6
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100164fc
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
shl ebp, cl
add eax, ecx
or ebp, edx
cmp eax, 0xf
mov edi, ebp
jle 0x1001653d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016527
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001653d
mov byte [esi], 0
inc esi
xor ebp, ebp
movsx edx, word [ebx + 0x12]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x10016551
inc ebp
jmp 0x10016686
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x100165d5
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x100165ca
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100165b4
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100165ca
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x1001658d
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x10016640
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001662a
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016640
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x1001667d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016667
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001667d
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 4]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x10016698
inc ebp
jmp 0x100167cd
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x1001671c
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x10016711
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100166fb
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016711
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x100166d4
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x10016787
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016771
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016787
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x100167c4
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100167ae
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100167c4
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 6]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x100167df
inc ebp
jmp 0x10016914
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x10016863
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x10016858
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016842
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016858
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x1001681b
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x100168ce
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100168b8
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100168ce
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x1001690b
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100168f5
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001690b
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 0x14]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x10016926
inc ebp
jmp 0x10016a5b
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x100169aa
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x1001699f
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016989
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001699f
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10016962
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x10016a15
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100169ff
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016a15
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x10016a52
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016a3c
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016a52
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 0x22]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x10016a6d
inc ebp
jmp 0x10016ba2
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x10016af1
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x10016ae6
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016ad0
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016ae6
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10016aa9
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x10016b5c
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016b46
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016b5c
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x10016b99
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016b83
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016b99
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 0x30]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x10016bb4
inc ebp
jmp 0x10016ce9
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x10016c38
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x10016c2d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016c17
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016c2d
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10016bf0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x10016ca3
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016c8d
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016ca3
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x10016ce0
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016cca
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016ce0
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 0x40]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x10016cfb
inc ebp
jmp 0x10016e30
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x10016d7f
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x10016d74
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016d5e
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016d74
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10016d37
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x10016dea
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016dd4
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016dea
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x10016e27
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016e11
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016e27
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 0x32]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x10016e42
inc ebp
jmp 0x10016f77
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x10016ec6
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x10016ebb
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016ea5
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016ebb
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10016e7e
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x10016f31
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016f1b
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016f31
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x10016f6e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016f58
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016f6e
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 0x24]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x10016f89
inc ebp
jmp 0x100170be
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x1001700d
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x10017002
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10016fec
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017002
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10016fc5
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x10017078
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017062
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017078
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x100170b5
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001709f
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100170b5
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 0x16]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x100170d0
inc ebp
jmp 0x10017205
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x10017154
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x10017149
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017133
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017149
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x1001710c
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x100171bf
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100171a9
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100171bf
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x100171fc
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100171e6
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100171fc
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 8]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x10017217
inc ebp
jmp 0x1001734c
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x1001729b
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x10017290
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001727a
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017290
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10017253
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x10017306
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100172f0
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017306
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x10017343
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001732d
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017343
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 0xa]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x1001735e
inc ebp
jmp 0x10017493
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x100173e2
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x100173d7
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100173c1
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100173d7
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x1001739a
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x1001744d
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017437
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001744d
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x1001748a
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017474
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001748a
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 0x18]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x100174a5
inc ebp
jmp 0x100175da
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x10017529
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x1001751e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017508
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001751e
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x100174e1
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x10017594
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001757e
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017594
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x100175d1
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100175bb
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100175d1
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 0x26]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x100175ec
inc ebp
jmp 0x10017721
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x10017670
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x10017665
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001764f
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017665
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10017628
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x100176db
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100176c5
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100176db
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x10017718
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017702
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017718
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 0x34]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x10017733
inc ebp
jmp 0x10017868
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x100177b7
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x100177ac
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017796
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100177ac
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x1001776f
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x10017822
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001780c
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017822
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x1001785f
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017849
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001785f
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 0x42]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x1001787a
inc ebp
jmp 0x100179af
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x100178fe
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x100178f3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100178dd
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100178f3
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x100178b6
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x10017969
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017953
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017969
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x100179a6
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017990
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100179a6
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 0x50]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x100179c1
inc ebp
jmp 0x10017af6
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x10017a45
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x10017a3a
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017a24
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017a3a
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x100179fd
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x10017ab0
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017a9a
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017ab0
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x10017aed
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017ad7
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017aed
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 0x60]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x10017b08
inc ebp
jmp 0x10017c3d
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x10017b8c
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x10017b81
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017b6b
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017b81
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10017b44
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x10017bf7
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017be1
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017bf7
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x10017c34
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017c1e
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017c34
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 0x52]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x10017c4f
inc ebp
jmp 0x10017d84
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x10017cd3
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x10017cc8
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017cb2
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017cc8
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10017c8b
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x10017d3e
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017d28
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017d3e
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x10017d7b
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017d65
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017d7b
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 0x44]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x10017d96
inc ebp
jmp 0x10017ecb
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x10017e1a
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x10017e0f
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017df9
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017e0f
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10017dd2
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x10017e85
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017e6f
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017e85
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x10017ec2
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017eac
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017ec2
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 0x36]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x10017edd
inc ebp
jmp 0x10018012
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x10017f61
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x10017f56
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017f40
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017f56
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10017f19
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x10017fcc
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017fb6
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017fcc
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x10018009
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10017ff3
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10018009
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 0x28]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x10018024
inc ebp
jmp 0x10018159
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x100180a8
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x1001809d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10018087
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001809d
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10018060
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x10018113
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100180fd
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10018113
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x10018150
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001813a
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10018150
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 0x1a]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x1001816b
inc ebp
jmp 0x100182a0
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x100181ef
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x100181e4
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100181ce
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100181e4
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x100181a7
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x1001825a
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10018244
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001825a
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x10018297
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10018281
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10018297
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 0xc]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x100182b2
inc ebp
jmp 0x100183e7
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x10018336
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x1001832b
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10018315
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001832b
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x100182ee
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x100183a1
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001838b
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100183a1
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x100183de
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100183c8
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100183de
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 0xe]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x100183f9
inc ebp
jmp 0x1001852e
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x1001847d
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x10018472
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001845c
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10018472
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10018435
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x100184e8
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100184d2
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100184e8
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x10018525
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001850f
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10018525
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 0x1c]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x10018540
inc ebp
jmp 0x10018675
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x100185c4
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x100185b9
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100185a3
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100185b9
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x1001857c
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x1001862f
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10018619
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001862f
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x1001866c
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10018656
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001866c
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 0x2a]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x10018687
inc ebp
jmp 0x100187bc
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x1001870b
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x10018700
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100186ea
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10018700
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x100186c3
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x10018776
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10018760
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10018776
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x100187b3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1001879d
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100187b3
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 0x38]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x100187ce
inc ebp
jmp 0x10018903
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x10018852
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x10018847
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10018831
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10018847
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x1001880a
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x100188bd
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100188a7
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100188bd
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x10]
shl ebp, cl
add eax, ecx
or ebp, ebx
cmp eax, 0xf
mov edi, ebp
jle 0x100188fa
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100188e4
mov byte [esi], 0
inc esi
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100188fa
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
xor ebp, ebp
movsx edx, word [ebx + 0x46]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x10018915
inc ebp
jmp 0x10018a4a
mov ebx, dword [esp + 0x10]
mov ecx, edx
sar ecx, 0x1f
add edx, ecx
mov dword [esp + 0x18], edx
mov edx, ecx
xor edx, ebx
sub edx, ecx
xor ecx, ecx
cmp ebp, 0xf
mov cl, byte [edx + 0x1009db78]
mov dword [esp + 0x10], ecx
jle 0x10018999
lea ecx, [ebp - 0x10]
mov ebx, dword [esp + 0x20]
shr ecx, 4
inc ecx
mov dword [esp + 0x14], ecx
neg ecx
shl ecx, 4
add ebp, ecx
mov edx, dword [esp + 0x1c]
mov ecx, ebx
shl edi, cl
add eax, ebx
or edi, edx
cmp eax, 0xf
jle 0x1001898e
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x13c]
mov ebx, 1
shl ebx, cl
shl ebp, 4
add ebp, ecx
movsx edx, byte [edx + ebp + 0x400]
dec ebx
add eax, edx
mov ecx, ebx
mov ebx, dword [esp + 0x18]
and ebx, ecx
mov ecx, edx
shl edi, cl
mov ecx, dword [esp + 0x13c]
mov ebp, dword [ecx + ebp*4]
or ebp, edi
cmp eax, 0xf
jle 0x10018a04
movsx edx, word [ebx + 0x54]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x10018a5c