Function at 0x10035460
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 0x100354b4
mov dword [esp + 0x24], 1
lea esi, [esp + 0x28]
jmp 0x100354b6
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 + 0x100bdea8]
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 0x10035531
sub eax, 8
mov ebx, edx
mov ecx, eax
shr ebx, cl
inc esi
mov byte [esi - 1], bl
cmp bl, 0xff
jne 0x10035517
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 0x10035531
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 0x10035574
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1003555e
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 0x10035574
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
movsx edx, word [ebx + 2]
test edx, edx
jne 0x1003558d
mov ebp, 1
jmp 0x1003564d
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 + 0x100bdea8]
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 0x1003560c
sub eax, 8
mov ebx, ebp
mov ecx, eax
shr ebx, cl
inc esi
mov byte [esi - 1], bl
cmp bl, 0xff
jne 0x100355ef
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 0x1003560c
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 0x1003564b
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10035635
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 0x1003564b
mov byte [esi], 0
inc esi
xor ebp, ebp
movsx edx, word [ebx + 0x10]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x1003565f
inc ebp
jmp 0x10035786
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x100356e3
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 0x100356d4
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100356be
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 0x100356d4
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10035695
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 0x10035743
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1003572d
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 0x10035743
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 0x10035784
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1003576e
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 0x10035784
mov byte [esi], 0
inc esi
xor ebp, ebp
movsx edx, word [ebx + 0x20]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x10035798
inc ebp
jmp 0x100358bf
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x1003581c
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 0x1003580d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100357f7
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 0x1003580d
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x100357ce
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 0x1003587c
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10035866
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 0x1003587c
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 0x100358bd
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100358a7
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 0x100358bd
mov byte [esi], 0
inc esi
xor ebp, ebp
movsx edx, word [ebx + 0x12]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x100358d1
inc ebp
jmp 0x10035a06
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x10035955
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 0x1003594a
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10035934
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 0x1003594a
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x1003590d
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 0x100359c0
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100359aa
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 0x100359c0
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 0x100359fd
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100359e7
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 0x100359fd
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 0x10035a18
inc ebp
jmp 0x10035b4d
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x10035a9c
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 0x10035a91
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10035a7b
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 0x10035a91
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10035a54
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 0x10035b07
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10035af1
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 0x10035b07
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 0x10035b44
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10035b2e
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 0x10035b44
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 0x10035b5f
inc ebp
jmp 0x10035c94
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x10035be3
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 0x10035bd8
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10035bc2
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 0x10035bd8
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10035b9b
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 0x10035c4e
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10035c38
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 0x10035c4e
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 0x10035c8b
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10035c75
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 0x10035c8b
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 0x10035ca6
inc ebp
jmp 0x10035ddb
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x10035d2a
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 0x10035d1f
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10035d09
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 0x10035d1f
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10035ce2
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 0x10035d95
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10035d7f
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 0x10035d95
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 0x10035dd2
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10035dbc
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 0x10035dd2
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 0x10035ded
inc ebp
jmp 0x10035f22
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x10035e71
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 0x10035e66
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10035e50
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 0x10035e66
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10035e29
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 0x10035edc
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10035ec6
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 0x10035edc
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 0x10035f19
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10035f03
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 0x10035f19
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 0x10035f34
inc ebp
jmp 0x10036069
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x10035fb8
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 0x10035fad
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10035f97
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 0x10035fad
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10035f70
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 0x10036023
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1003600d
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 0x10036023
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 0x10036060
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1003604a
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 0x10036060
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 0x1003607b
inc ebp
jmp 0x100361b0
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x100360ff
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 0x100360f4
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100360de
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 0x100360f4
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x100360b7
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 0x1003616a
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10036154
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 0x1003616a
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 0x100361a7
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10036191
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 0x100361a7
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 0x100361c2
inc ebp
jmp 0x100362f7
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x10036246
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 0x1003623b
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10036225
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 0x1003623b
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x100361fe
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 0x100362b1
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1003629b
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 0x100362b1
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 0x100362ee
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100362d8
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 0x100362ee
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 0x10036309
inc ebp
jmp 0x1003643e
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x1003638d
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 0x10036382
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1003636c
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 0x10036382
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10036345
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 0x100363f8
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100363e2
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 0x100363f8
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 0x10036435
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1003641f
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 0x10036435
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 0x10036450
inc ebp
jmp 0x10036585
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x100364d4
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 0x100364c9
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100364b3
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 0x100364c9
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x1003648c
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 0x1003653f
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10036529
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 0x1003653f
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 0x1003657c
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10036566
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 0x1003657c
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 0x10036597
inc ebp
jmp 0x100366cc
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x1003661b
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 0x10036610
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100365fa
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 0x10036610
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x100365d3
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 0x10036686
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10036670
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 0x10036686
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 0x100366c3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100366ad
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 0x100366c3
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 0x100366de
inc ebp
jmp 0x10036813
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x10036762
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 0x10036757
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10036741
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 0x10036757
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x1003671a
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 0x100367cd
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100367b7
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 0x100367cd
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 0x1003680a
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100367f4
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 0x1003680a
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 0x10036825
inc ebp
jmp 0x1003695a
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x100368a9
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 0x1003689e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10036888
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 0x1003689e
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10036861
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 0x10036914
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100368fe
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 0x10036914
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 0x10036951
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1003693b
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 0x10036951
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 0x1003696c
inc ebp
jmp 0x10036aa1
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x100369f0
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 0x100369e5
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100369cf
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 0x100369e5
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x100369a8
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 0x10036a5b
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10036a45
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 0x10036a5b
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 0x10036a98
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10036a82
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 0x10036a98
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 0x10036ab3
inc ebp
jmp 0x10036be8
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x10036b37
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 0x10036b2c
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10036b16
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 0x10036b2c
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10036aef
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 0x10036ba2
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10036b8c
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 0x10036ba2
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 0x10036bdf
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10036bc9
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 0x10036bdf
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 0x10036bfa
inc ebp
jmp 0x10036d2f
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x10036c7e
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 0x10036c73
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10036c5d
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 0x10036c73
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10036c36
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 0x10036ce9
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10036cd3
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 0x10036ce9
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 0x10036d26
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10036d10
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 0x10036d26
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 0x10036d41
inc ebp
jmp 0x10036e76
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x10036dc5
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 0x10036dba
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10036da4
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 0x10036dba
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10036d7d
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 0x10036e30
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10036e1a
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 0x10036e30
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 0x10036e6d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10036e57
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 0x10036e6d
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 0x10036e88
inc ebp
jmp 0x10036fbd
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x10036f0c
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 0x10036f01
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10036eeb
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 0x10036f01
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10036ec4
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 0x10036f77
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10036f61
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 0x10036f77
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 0x10036fb4
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10036f9e
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 0x10036fb4
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 0x10036fcf
inc ebp
jmp 0x10037104
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x10037053
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 0x10037048
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10037032
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 0x10037048
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x1003700b
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 0x100370be
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100370a8
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 0x100370be
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 0x100370fb
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100370e5
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 0x100370fb
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 0x10037116
inc ebp
jmp 0x1003724b
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x1003719a
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 0x1003718f
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10037179
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 0x1003718f
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10037152
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 0x10037205
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100371ef
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 0x10037205
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 0x10037242
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1003722c
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 0x10037242
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 0x1003725d
inc ebp
jmp 0x10037392
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x100372e1
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 0x100372d6
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100372c0
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 0x100372d6
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10037299
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 0x1003734c
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10037336
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 0x1003734c
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 0x10037389
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10037373
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 0x10037389
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 0x100373a4
inc ebp
jmp 0x100374d9
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x10037428
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 0x1003741d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10037407
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 0x1003741d
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x100373e0
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 0x10037493
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1003747d
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 0x10037493
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 0x100374d0
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100374ba
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 0x100374d0
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 0x100374eb
inc ebp
jmp 0x10037620
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x1003756f
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 0x10037564
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1003754e
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 0x10037564
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10037527
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 0x100375da
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100375c4
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 0x100375da
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 0x10037617
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10037601
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 0x10037617
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 0x10037632
inc ebp
jmp 0x10037767
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x100376b6
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 0x100376ab
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10037695
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 0x100376ab
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x1003766e
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 0x10037721
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1003770b
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 0x10037721
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 0x1003775e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10037748
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 0x1003775e
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 0x10037779
inc ebp
jmp 0x100378ae
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x100377fd
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 0x100377f2
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100377dc
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 0x100377f2
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x100377b5
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 0x10037868
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10037852
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 0x10037868
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 0x100378a5
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1003788f
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 0x100378a5
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 0x100378c0
inc ebp
jmp 0x100379f5
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x10037944
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 0x10037939
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10037923
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 0x10037939
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x100378fc
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 0x100379af
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10037999
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 0x100379af
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 0x100379ec
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100379d6
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 0x100379ec
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 0x10037a07
inc ebp
jmp 0x10037b3c
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x10037a8b
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 0x10037a80
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10037a6a
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 0x10037a80
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10037a43
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 0x10037af6
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10037ae0
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 0x10037af6
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 0x10037b33
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10037b1d
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 0x10037b33
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 0x10037b4e
inc ebp
jmp 0x10037c83
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x10037bd2
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 0x10037bc7
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10037bb1
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 0x10037bc7
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10037b8a
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 0x10037c3d
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10037c27
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 0x10037c3d
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 0x10037c7a
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10037c64
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 0x10037c7a
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 0x10037c95
inc ebp
jmp 0x10037dca
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 + 0x100bdea8]
mov dword [esp + 0x10], ecx
jle 0x10037d19
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 0x10037d0e
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 0x10037d84
movsx edx, word [ebx + 0x54]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x10037ddc