Function at 0x10031870
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 0x100318c4
mov dword [esp + 0x24], 1
lea esi, [esp + 0x28]
jmp 0x100318c6
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 + 0x100b8ed8]
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 0x10031941
sub eax, 8
mov ebx, edx
mov ecx, eax
shr ebx, cl
inc esi
mov byte [esi - 1], bl
cmp bl, 0xff
jne 0x10031927
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 0x10031941
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 0x10031984
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1003196e
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 0x10031984
mov byte [esi], 0
inc esi
mov ebx, dword [esp + 0x130]
movsx edx, word [ebx + 2]
test edx, edx
jne 0x1003199d
mov ebp, 1
jmp 0x10031a5d
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 + 0x100b8ed8]
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 0x10031a1c
sub eax, 8
mov ebx, ebp
mov ecx, eax
shr ebx, cl
inc esi
mov byte [esi - 1], bl
cmp bl, 0xff
jne 0x100319ff
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 0x10031a1c
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 0x10031a5b
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10031a45
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 0x10031a5b
mov byte [esi], 0
inc esi
xor ebp, ebp
movsx edx, word [ebx + 0x10]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x10031a6f
inc ebp
jmp 0x10031b96
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x10031af3
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 0x10031ae4
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10031ace
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 0x10031ae4
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10031aa5
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 0x10031b53
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10031b3d
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 0x10031b53
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 0x10031b94
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10031b7e
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 0x10031b94
mov byte [esi], 0
inc esi
xor ebp, ebp
movsx edx, word [ebx + 0x20]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x10031ba8
inc ebp
jmp 0x10031ccf
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x10031c2c
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 0x10031c1d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10031c07
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 0x10031c1d
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10031bde
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 0x10031c8c
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10031c76
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 0x10031c8c
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 0x10031ccd
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10031cb7
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 0x10031ccd
mov byte [esi], 0
inc esi
xor ebp, ebp
movsx edx, word [ebx + 0x12]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x10031ce1
inc ebp
jmp 0x10031e16
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x10031d65
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 0x10031d5a
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10031d44
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 0x10031d5a
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10031d1d
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 0x10031dd0
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10031dba
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 0x10031dd0
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 0x10031e0d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10031df7
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 0x10031e0d
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 0x10031e28
inc ebp
jmp 0x10031f5d
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x10031eac
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 0x10031ea1
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10031e8b
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 0x10031ea1
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10031e64
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 0x10031f17
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10031f01
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 0x10031f17
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 0x10031f54
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10031f3e
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 0x10031f54
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 0x10031f6f
inc ebp
jmp 0x100320a4
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x10031ff3
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 0x10031fe8
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10031fd2
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 0x10031fe8
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10031fab
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 0x1003205e
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10032048
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 0x1003205e
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 0x1003209b
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10032085
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 0x1003209b
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 0x100320b6
inc ebp
jmp 0x100321eb
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x1003213a
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 0x1003212f
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10032119
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 0x1003212f
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x100320f2
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 0x100321a5
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1003218f
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 0x100321a5
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 0x100321e2
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100321cc
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 0x100321e2
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 0x100321fd
inc ebp
jmp 0x10032332
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x10032281
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 0x10032276
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10032260
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 0x10032276
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10032239
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 0x100322ec
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100322d6
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 0x100322ec
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 0x10032329
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10032313
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 0x10032329
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 0x10032344
inc ebp
jmp 0x10032479
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x100323c8
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 0x100323bd
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100323a7
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 0x100323bd
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10032380
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 0x10032433
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1003241d
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 0x10032433
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 0x10032470
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1003245a
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 0x10032470
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 0x1003248b
inc ebp
jmp 0x100325c0
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x1003250f
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 0x10032504
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100324ee
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 0x10032504
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x100324c7
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 0x1003257a
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10032564
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 0x1003257a
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 0x100325b7
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100325a1
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 0x100325b7
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 0x100325d2
inc ebp
jmp 0x10032707
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x10032656
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 0x1003264b
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10032635
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 0x1003264b
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x1003260e
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 0x100326c1
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100326ab
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 0x100326c1
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 0x100326fe
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100326e8
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 0x100326fe
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 0x10032719
inc ebp
jmp 0x1003284e
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x1003279d
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 0x10032792
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1003277c
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 0x10032792
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10032755
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 0x10032808
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100327f2
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 0x10032808
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 0x10032845
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1003282f
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 0x10032845
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 0x10032860
inc ebp
jmp 0x10032995
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x100328e4
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 0x100328d9
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100328c3
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 0x100328d9
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x1003289c
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 0x1003294f
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10032939
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 0x1003294f
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 0x1003298c
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10032976
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 0x1003298c
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 0x100329a7
inc ebp
jmp 0x10032adc
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x10032a2b
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 0x10032a20
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10032a0a
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 0x10032a20
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x100329e3
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 0x10032a96
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10032a80
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 0x10032a96
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 0x10032ad3
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10032abd
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 0x10032ad3
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 0x10032aee
inc ebp
jmp 0x10032c23
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x10032b72
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 0x10032b67
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10032b51
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 0x10032b67
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10032b2a
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 0x10032bdd
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10032bc7
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 0x10032bdd
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 0x10032c1a
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10032c04
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 0x10032c1a
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 0x10032c35
inc ebp
jmp 0x10032d6a
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x10032cb9
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 0x10032cae
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10032c98
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 0x10032cae
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10032c71
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 0x10032d24
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10032d0e
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 0x10032d24
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 0x10032d61
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10032d4b
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 0x10032d61
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 0x10032d7c
inc ebp
jmp 0x10032eb1
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x10032e00
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 0x10032df5
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10032ddf
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 0x10032df5
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10032db8
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 0x10032e6b
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10032e55
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 0x10032e6b
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 0x10032ea8
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10032e92
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 0x10032ea8
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 0x10032ec3
inc ebp
jmp 0x10032ff8
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x10032f47
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 0x10032f3c
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10032f26
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 0x10032f3c
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10032eff
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 0x10032fb2
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10032f9c
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 0x10032fb2
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 0x10032fef
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10032fd9
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 0x10032fef
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 0x1003300a
inc ebp
jmp 0x1003313f
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x1003308e
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 0x10033083
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1003306d
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 0x10033083
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10033046
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 0x100330f9
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100330e3
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 0x100330f9
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 0x10033136
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10033120
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 0x10033136
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 0x10033151
inc ebp
jmp 0x10033286
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x100331d5
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 0x100331ca
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100331b4
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 0x100331ca
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x1003318d
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 0x10033240
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1003322a
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 0x10033240
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 0x1003327d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10033267
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 0x1003327d
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 0x10033298
inc ebp
jmp 0x100333cd
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x1003331c
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 0x10033311
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100332fb
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 0x10033311
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x100332d4
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 0x10033387
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10033371
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 0x10033387
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 0x100333c4
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100333ae
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 0x100333c4
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 0x100333df
inc ebp
jmp 0x10033514
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x10033463
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 0x10033458
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10033442
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 0x10033458
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x1003341b
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 0x100334ce
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100334b8
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 0x100334ce
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 0x1003350b
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100334f5
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 0x1003350b
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 0x10033526
inc ebp
jmp 0x1003365b
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x100335aa
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 0x1003359f
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10033589
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 0x1003359f
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10033562
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 0x10033615
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100335ff
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 0x10033615
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 0x10033652
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1003363c
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 0x10033652
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 0x1003366d
inc ebp
jmp 0x100337a2
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x100336f1
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 0x100336e6
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100336d0
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 0x100336e6
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x100336a9
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 0x1003375c
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10033746
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 0x1003375c
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 0x10033799
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10033783
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 0x10033799
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 0x100337b4
inc ebp
jmp 0x100338e9
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x10033838
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 0x1003382d
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10033817
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 0x1003382d
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x100337f0
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 0x100338a3
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1003388d
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 0x100338a3
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 0x100338e0
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100338ca
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 0x100338e0
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 0x100338fb
inc ebp
jmp 0x10033a30
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x1003397f
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 0x10033974
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x1003395e
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 0x10033974
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10033937
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 0x100339ea
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x100339d4
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 0x100339ea
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 0x10033a27
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10033a11
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 0x10033a27
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 0x10033a42
inc ebp
jmp 0x10033b77
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x10033ac6
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 0x10033abb
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10033aa5
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 0x10033abb
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10033a7e
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 0x10033b31
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10033b1b
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 0x10033b31
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 0x10033b6e
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10033b58
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 0x10033b6e
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 0x10033b89
inc ebp
jmp 0x10033cbe
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x10033c0d
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 0x10033c02
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10033bec
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 0x10033c02
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10033bc5
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 0x10033c78
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10033c62
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 0x10033c78
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 0x10033cb5
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10033c9f
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 0x10033cb5
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 0x10033cd0
inc ebp
jmp 0x10033e05
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x10033d54
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 0x10033d49
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10033d33
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 0x10033d49
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10033d0c
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 0x10033dbf
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10033da9
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 0x10033dbf
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 0x10033dfc
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10033de6
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 0x10033dfc
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 0x10033e17
inc ebp
jmp 0x10033f4c
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x10033e9b
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 0x10033e90
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10033e7a
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 0x10033e90
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10033e53
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 0x10033f06
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10033ef0
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 0x10033f06
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 0x10033f43
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10033f2d
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 0x10033f43
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 0x10033f5e
inc ebp
jmp 0x10034093
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x10033fe2
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 0x10033fd7
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10033fc1
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 0x10033fd7
mov byte [esi], 0
inc esi
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jne 0x10033f9a
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 0x1003404d
sub eax, 8
mov edx, ebp
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10034037
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 0x1003404d
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 0x1003408a
sub eax, 8
mov edx, edi
mov ecx, eax
shr edx, cl
inc esi
mov byte [esi - 1], dl
cmp dl, 0xff
jne 0x10034074
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 0x1003408a
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 0x100340a5
inc ebp
jmp 0x100341da
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 + 0x100b8ed8]
mov dword [esp + 0x10], ecx
jle 0x10034129
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 0x1003411e
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 0x10034194
movsx edx, word [ebx + 0x54]
test edx, edx
mov dword [esp + 0x10], edx
jne 0x100341ec