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

Disassembly:
sub esp, 0x28
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x3c]
mov edx, 1
mov eax, dword [edi + 0x74]
mov ecx, dword [edi + 0x7c]
mov ebp, dword [edi + 0x68]
mov esi, dword [edi]
mov ebx, dword [edi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x78]
add eax, 0xc
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10], ebp
lea ecx, [eax + ecx*4]
mov eax, dword [edi + 8]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x40]
shl edx, cl
mov ecx, edx
sar ecx, 1
or ecx, edx
mov edx, dword [edi + 0x80]
mov dword [esp + 0x1c], ecx
xor ecx, ecx
mov dword [esp + 0x2c], ecx
test edx, 0xfffffffc
jbe 0x100b35ff
mov ecx, dword [esp + 0x20]
mov ebp, dword [esp + 0x14]
lea edx, [ecx + ecx*2]
shl edx, 2
mov dword [esp + 0x30], edx
jmp 0x100b1ae4
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x34], 0
test ecx, ecx
je 0x100b35ca
mov ecx, dword [ebp]
mov dword [esp + 0x40], ecx
test ecx, ecx
jne 0x100b296f
mov edx, dword [edi + 0x60]
lea ecx, [edi + 0x60]
mov dword [esp + 0x10], ecx
mov ecx, esi
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x100b1b95
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
cmp ebx, ebp
jae 0x100b1b2a
mov ecx, dword [edx + 8]
jmp 0x100b1b3a
xor ecx, ecx
cmp dword [esp + 0x24], ecx
sete cl
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, ebp
mov dword [edx], ecx
test eax, eax
jne 0x100b1b83
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b1b76
cmp ecx, 0x8f
jbe 0x100b1b6c
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b1b81
mov eax, 7
shl ecx, 9
jmp 0x100b1b7e
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b1b42
jmp 0x100b1c1e
mov ecx, ebp
shl ecx, 0x10
sub esi, ecx
mov ecx, dword [edx + 4]
test ebx, 0x8000
jne 0x100b1c22
cmp ebx, ebp
jae 0x100b1bbe
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 0xc]
jmp 0x100b1bc5
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
nop dword [eax + eax]
test eax, eax
jne 0x100b1c11
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b1c04
cmp ecx, 0x8f
jbe 0x100b1bfa
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b1c0f
mov eax, 7
shl ecx, 9
jmp 0x100b1c0c
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b1bd0
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x100b359f
mov edx, dword [edi + 0x64]
lea ecx, [edi + 0x64]
mov dword [esp + 0x10], ecx
mov ecx, esi
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x100b1cc3
mov ecx, dword [edx + 4]
mov dword [esp + 0x24], ecx
cmp ebx, ebp
jae 0x100b1c55
mov ecx, dword [edx + 8]
jmp 0x100b1c65
xor ecx, ecx
cmp dword [esp + 0x24], ecx
sete cl
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, ebp
mov dword [edx], ecx
nop dword [eax]
test eax, eax
jne 0x100b1cb1
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b1ca4
cmp ecx, 0x8f
jbe 0x100b1c9a
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b1caf
mov eax, 7
shl ecx, 9
jmp 0x100b1cac
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b1c70
jmp 0x100b1d54
mov ecx, ebp
shl ecx, 0x10
sub esi, ecx
mov ecx, dword [edx + 4]
test ebx, 0x8000
jne 0x100b1d50
cmp ebx, ebp
jae 0x100b1cec
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 0xc]
jmp 0x100b1cf3
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
nop dword [eax]
test eax, eax
jne 0x100b1d41
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b1d34
cmp ecx, 0x8f
jbe 0x100b1d2a
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b1d3f
mov eax, 7
shl ecx, 9
jmp 0x100b1d3c
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b1d00
jmp 0x100b1d54
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
mov ecx, esi
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x100b1de6
mov ecx, dword [edx + 4]
mov dword [esp + 0x28], ecx
cmp ebx, ebp
jae 0x100b1d7b
mov ecx, dword [edx + 8]
jmp 0x100b1d8b
xor ecx, ecx
cmp dword [esp + 0x28], ecx
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, ebp
mov dword [edx], ecx
test eax, eax
jne 0x100b1dd4
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b1dc7
cmp ecx, 0x8f
jbe 0x100b1dbd
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b1dd2
mov eax, 7
shl ecx, 9
jmp 0x100b1dcf
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b1d93
jmp 0x100b1e74
mov ecx, ebp
shl ecx, 0x10
sub esi, ecx
mov ecx, dword [edx + 4]
test ebx, 0x8000
jne 0x100b1e70
cmp ebx, ebp
jae 0x100b1e13
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
jmp 0x100b1e1a
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test eax, eax
jne 0x100b1e61
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b1e54
cmp ecx, 0x8f
jbe 0x100b1e4a
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b1e5f
mov eax, 7
shl ecx, 9
jmp 0x100b1e5c
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b1e20
jmp 0x100b1e74
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x24]
add ecx, ecx
or ecx, dword [esp + 0x28]
cmp ecx, 3
ja case.default.0x100b1e87
jmp dword [ecx*4 + 0x100b3698]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx - 4]
mov ecx, dword [ecx + 4]
shr edx, 2
and ecx, 0x80000
and edx, 0x20000
or edx, ecx
shr edx, 0x11
mov dword [esp + 0x24], edx
movzx ecx, byte [edx + 0x101a8688]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x28], ecx
mov ecx, esi
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x100b1f57
cmp ebx, ebp
jae 0x100b1ee5
mov ecx, dword [edx + 4]
mov dword [esp + 0x40], ecx
mov ecx, dword [edx + 8]
jmp 0x100b1ef4
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x40], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x28]
mov ebx, ebp
mov dword [edx], ecx
nop dword [eax]
test eax, eax
jne 0x100b1f41
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b1f34
cmp ecx, 0x8f
jbe 0x100b1f2a
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b1f3f
mov eax, 7
shl ecx, 9
jmp 0x100b1f3c
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b1f00
mov edx, dword [esp + 0x40]
jmp 0x100b1fe7
mov ecx, ebp
shl ecx, 0x10
sub esi, ecx
test ebx, 0x8000
jne 0x100b1fe4
cmp ebx, ebp
jae 0x100b1f7f
xor ecx, ecx
cmp dword [edx + 4], ecx
sete cl
mov dword [esp + 0x40], ecx
mov ecx, dword [edx + 0xc]
jmp 0x100b1f89
mov ecx, dword [edx + 4]
mov dword [esp + 0x40], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x28]
mov dword [edx], ecx
nop
test eax, eax
jne 0x100b1fd1
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b1fc4
cmp ecx, 0x8f
jbe 0x100b1fba
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b1fcf
mov eax, 7
shl ecx, 9
jmp 0x100b1fcc
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b1f90
mov edx, dword [esp + 0x40]
jmp 0x100b1fe7
mov edx, dword [edx + 4]
mov ecx, dword [esp + 0x24]
mov ebp, dword [esp + 0x18]
movzx ecx, byte [ecx + 0x101a8788]
xor edx, ecx
mov ecx, dword [esp + 0x1c]
neg ecx
test edx, edx
cmove ecx, dword [esp + 0x1c]
mov dword [ebp], ecx
mov ecx, dword [esp + 0x14]
shl edx, 0x13
or edx, 0x10
mov dword [esp + 0x40], edx
or dword [ecx - 4], 0x20
or dword [ecx + 4], 8
mov ecx, dword [edi + 0x6c]
shr edx, 3
and edx, 0x1ef
movzx ecx, byte [edx + ecx]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x24], ecx
mov ecx, esi
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x100b20c3
mov ecx, dword [edx + 4]
mov dword [esp + 0x28], ecx
cmp ebx, ebp
jae 0x100b2058
mov ecx, dword [edx + 8]
jmp 0x100b2068
xor ecx, ecx
cmp dword [esp + 0x28], ecx
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x24]
mov ebx, ebp
mov dword [edx], ecx
test eax, eax
jne 0x100b20b1
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b20a4
cmp ecx, 0x8f
jbe 0x100b209a
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b20af
mov eax, 7
shl ecx, 9
jmp 0x100b20ac
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b2070
jmp 0x100b214e
mov ecx, ebp
shl ecx, 0x10
sub esi, ecx
mov ecx, dword [edx + 4]
test ebx, 0x8000
jne 0x100b2152
cmp ebx, ebp
jae 0x100b20f0
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
jmp 0x100b20f7
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x24]
mov dword [edx], ecx
nop dword [eax]
test eax, eax
jne 0x100b2141
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b2134
cmp ecx, 0x8f
jbe 0x100b212a
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b213f
mov eax, 7
shl ecx, 9
jmp 0x100b213c
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b2100
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x100b2327
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x40]
mov edx, dword [ecx - 4]
mov ecx, dword [ecx + 4]
shr edx, 2
and ecx, 0x400000
and edx, 0x100000
or edx, ecx
mov ecx, ebp
and ecx, 0x2000000
shr edx, 1
or edx, ecx
mov ecx, ebp
and ecx, 0x80000
shr edx, 4
or edx, ecx
and ebp, 0x550
shr edx, 0xc
or edx, ebp
shr edx, 3
mov dword [esp + 0x10], edx
movzx ecx, byte [edx + 0x101a8688]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x24], ecx
mov ecx, esi
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x100b2248
mov ecx, dword [edx + 4]
mov dword [esp + 0x28], ecx
cmp ebx, ebp
jae 0x100b21d9
mov ecx, dword [edx + 8]
jmp 0x100b21e9
xor ecx, ecx
cmp dword [esp + 0x28], ecx
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x24]
mov ebx, ebp
mov dword [edx], ecx
test eax, eax
jne 0x100b2232
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b2225
cmp ecx, 0x8f
jbe 0x100b221b
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b2230
mov eax, 7
shl ecx, 9
jmp 0x100b222d
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b21f1
mov edx, dword [esp + 0x28]
jmp 0x100b22d9
mov ecx, ebp
shl ecx, 0x10
sub esi, ecx
test ebx, 0x8000
jne 0x100b22d6
mov ecx, dword [edx + 4]
cmp ebx, ebp
jae 0x100b2275
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
jmp 0x100b227c
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x24]
mov dword [edx], ecx
test eax, eax
jne 0x100b22c3
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b22b6
cmp ecx, 0x8f
jbe 0x100b22ac
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b22c1
mov eax, 7
shl ecx, 9
jmp 0x100b22be
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b2282
mov edx, dword [esp + 0x28]
jmp 0x100b22d9
mov edx, dword [edx + 4]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
movzx ecx, byte [ecx + 0x101a8788]
xor edx, ecx
mov ecx, dword [esp + 0x1c]
neg ecx
test edx, edx
cmove ecx, dword [esp + 0x1c]
mov dword [ebp + edi*4], ecx
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
shl edx, 0x16
or dword [ebp - 4], 0x100
or edx, 0x80
or ecx, edx
or dword [ebp + 4], 0x40
mov dword [esp + 0x40], ecx
jmp 0x100b232b
mov ecx, dword [esp + 0x40]
mov edx, ecx
mov ecx, dword [edi + 0x6c]
shr edx, 6
and edx, 0x1ef
movzx ecx, byte [edx + ecx]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x24], ecx
mov ecx, esi
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x100b23d6
mov ecx, dword [edx + 4]
mov dword [esp + 0x28], ecx
cmp ebx, ebp
jae 0x100b236b
mov ecx, dword [edx + 8]
jmp 0x100b237b
xor ecx, ecx
cmp dword [esp + 0x28], ecx
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x24]
mov ebx, ebp
mov dword [edx], ecx
test eax, eax
jne 0x100b23c4
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b23b7
cmp ecx, 0x8f
jbe 0x100b23ad
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b23c2
mov eax, 7
shl ecx, 9
jmp 0x100b23bf
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b2383
jmp 0x100b245e
mov ecx, ebp
shl ecx, 0x10
sub esi, ecx
mov ecx, dword [edx + 4]
test ebx, 0x8000
jne 0x100b2462
cmp ebx, ebp
jae 0x100b2403
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
jmp 0x100b240a
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x24]
mov dword [edx], ecx
test eax, eax
jne 0x100b2451
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b2444
cmp ecx, 0x8f
jbe 0x100b243a
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b244f
mov eax, 7
shl ecx, 9
jmp 0x100b244c
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b2410
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x100b263a
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x40]
mov edx, dword [ecx - 4]
mov ecx, dword [ecx + 4]
shr edx, 2
and ecx, 0x2000000
and edx, 0x800000
or edx, ecx
mov ecx, ebp
and ecx, 0x10000000
shr edx, 1
or edx, ecx
mov ecx, ebp
and ecx, 0x400000
shr edx, 4
or edx, ecx
and ebp, 0x2a80
shr edx, 0xc
or edx, ebp
shr edx, 6
mov dword [esp + 0x10], edx
movzx ecx, byte [edx + 0x101a8688]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x24], ecx
mov ecx, esi
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x100b2558
mov ecx, dword [edx + 4]
mov dword [esp + 0x28], ecx
cmp ebx, ebp
jae 0x100b24e9
mov ecx, dword [edx + 8]
jmp 0x100b24f9
xor ecx, ecx
cmp dword [esp + 0x28], ecx
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x24]
mov ebx, ebp
mov dword [edx], ecx
test eax, eax
jne 0x100b2542
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b2535
cmp ecx, 0x8f
jbe 0x100b252b
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b2540
mov eax, 7
shl ecx, 9
jmp 0x100b253d
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b2501
mov edx, dword [esp + 0x28]
jmp 0x100b25e9
mov ecx, ebp
shl ecx, 0x10
sub esi, ecx
test ebx, 0x8000
jne 0x100b25e6
mov ecx, dword [edx + 4]
cmp ebx, ebp
jae 0x100b2585
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
jmp 0x100b258c
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x24]
mov dword [edx], ecx
test eax, eax
jne 0x100b25d3
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b25c6
cmp ecx, 0x8f
jbe 0x100b25bc
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b25d1
mov eax, 7
shl ecx, 9
jmp 0x100b25ce
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b2592
mov edx, dword [esp + 0x28]
jmp 0x100b25e9
mov edx, dword [edx + 4]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
movzx ecx, byte [ecx + 0x101a8788]
xor edx, ecx
mov ecx, dword [esp + 0x1c]
neg ecx
test edx, edx
cmove ecx, dword [esp + 0x1c]
mov dword [ebp + edi*8], ecx
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
shl edx, 0x19
or dword [ebp - 4], 0x800
or edx, 0x400
or ecx, edx
or dword [ebp + 4], 0x200
mov dword [esp + 0x40], ecx
jmp 0x100b263e
mov ecx, dword [esp + 0x40]
mov edx, ecx
mov ecx, dword [edi + 0x6c]
shr edx, 9
and edx, 0x1ef
movzx ecx, byte [edx + ecx]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x10], ecx
mov ecx, esi
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x100b26e9
mov ecx, dword [edx + 4]
mov dword [esp + 0x28], ecx
cmp ebx, ebp
jae 0x100b267e
mov ecx, dword [edx + 8]
jmp 0x100b268e
xor ecx, ecx
cmp dword [esp + 0x28], ecx
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, ebp
mov dword [edx], ecx
test eax, eax
jne 0x100b26d7
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b26ca
cmp ecx, 0x8f
jbe 0x100b26c0
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b26d5
mov eax, 7
shl ecx, 9
jmp 0x100b26d2
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b2696
jmp 0x100b2771
mov ecx, ebp
shl ecx, 0x10
sub esi, ecx
mov ecx, dword [edx + 4]
test ebx, 0x8000
jne 0x100b2775
cmp ebx, ebp
jae 0x100b2716
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
jmp 0x100b271d
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test eax, eax
jne 0x100b2764
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b2757
cmp ecx, 0x8f
jbe 0x100b274d
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b2762
mov eax, 7
shl ecx, 9
jmp 0x100b275f
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b2723
mov ecx, dword [esp + 0x28]
test ecx, ecx
je case.default.0x100b1e87
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x40]
mov edx, dword [ecx - 4]
mov ecx, dword [ecx + 4]
shr edx, 2
and ecx, 0x10000000
and edx, 0x4000000
or edx, ecx
mov ecx, ebp
and ecx, 0x81ffffff
shr edx, 1
or edx, ecx
mov ecx, ebp
and ecx, 0x2000000
shr edx, 4
or edx, ecx
and ebp, 0x15400
shr edx, 0xc
or edx, ebp
shr edx, 9
mov dword [esp + 0x24], edx
movzx ecx, byte [edx + 0x101a8688]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x10], ecx
mov ecx, esi
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x100b286b
mov ecx, dword [edx + 4]
mov dword [esp + 0x28], ecx
cmp ebx, ebp
jae 0x100b27fc
mov ecx, dword [edx + 8]
jmp 0x100b280c
xor ecx, ecx
cmp dword [esp + 0x28], ecx
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, ebp
mov dword [edx], ecx
test eax, eax
jne 0x100b2855
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b2848
cmp ecx, 0x8f
jbe 0x100b283e
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b2853
mov eax, 7
shl ecx, 9
jmp 0x100b2850
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b2814
mov edx, dword [esp + 0x28]
jmp 0x100b28fc
mov ecx, ebp
shl ecx, 0x10
sub esi, ecx
test ebx, 0x8000
jne 0x100b28f9
mov ecx, dword [edx + 4]
cmp ebx, ebp
jae 0x100b2898
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
jmp 0x100b289f
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test eax, eax
jne 0x100b28e6
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b28d9
cmp ecx, 0x8f
jbe 0x100b28cf
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b28e4
mov eax, 7
shl ecx, 9
jmp 0x100b28e1
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b28a5
mov edx, dword [esp + 0x28]
jmp 0x100b28fc
mov edx, dword [edx + 4]
mov ecx, dword [esp + 0x24]
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x30]
movzx ecx, byte [ecx + 0x101a8788]
xor edx, ecx
mov ecx, dword [esp + 0x1c]
neg ecx
test edx, edx
cmove ecx, dword [esp + 0x1c]
mov dword [edi + ebp], ecx
mov ecx, edx
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x3c]
shl ecx, 0x1c
or ecx, 0x2000
shl edx, 0x12
or dword [ebp - 4], 0x4000
or edx, 2
or dword [ebp + 4], 0x1000
or dword [esp + 0x40], ecx
mov ecx, dword [edi + 0x7c]
or dword [ebp + ecx*4 + 8], edx
or dword [ebp + ecx*4 + 4], 4
or dword [ebp + ecx*4 + 0xc], 1
mov ecx, dword [esp + 0x40]
and ecx, 0xb6dfffff
mov dword [ebp], ecx
jmp 0x100b35a3
test ecx, 0x200010
jne 0x100b2c7b
mov edx, ecx
mov ecx, dword [edi + 0x6c]
and edx, 0x1ef
movzx ecx, byte [edx + ecx]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x10], ecx
mov ecx, esi
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x100b2a23
mov ecx, dword [edx + 4]
mov dword [esp + 0x28], ecx
cmp ebx, ebp
jae 0x100b29b8
mov ecx, dword [edx + 8]
jmp 0x100b29c8
xor ecx, ecx
cmp dword [esp + 0x28], ecx
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, ebp
mov dword [edx], ecx
test eax, eax
jne 0x100b2a11
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b2a04
cmp ecx, 0x8f
jbe 0x100b29fa
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b2a0f
mov eax, 7
shl ecx, 9
jmp 0x100b2a0c
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b29d0
jmp 0x100b2aae
mov ecx, ebp
shl ecx, 0x10
sub esi, ecx
mov ecx, dword [edx + 4]
test ebx, 0x8000
jne 0x100b2ab2
cmp ebx, ebp
jae 0x100b2a50
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
jmp 0x100b2a57
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 8]
mov ebp, dword [esp + 0x10]
mov dword [ebp], ecx
nop
test eax, eax
jne 0x100b2aa1
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b2a94
cmp ecx, 0x8f
jbe 0x100b2a8a
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b2a9f
mov eax, 7
shl ecx, 9
jmp 0x100b2a9c
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b2a60
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x100b2c77
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x40]
mov edx, dword [ecx - 4]
mov ecx, dword [ecx + 4]
shr edx, 2
and ecx, 0x80000
and edx, 0x20000
or edx, ecx
mov ecx, ebp
and ecx, 0x400000
shr edx, 1
or edx, ecx
mov ecx, ebp
and ecx, 0x40000
shr edx, 2
or edx, ecx
and ebp, 0xaa
shr edx, 0xe
or edx, ebp
mov dword [esp + 0x24], edx
movzx ecx, byte [edx + 0x101a8688]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x10], ecx
mov ecx, esi
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x100b2ba7
mov ecx, dword [edx + 4]
mov dword [esp + 0x28], ecx
cmp ebx, ebp
jae 0x100b2b36
mov ecx, dword [edx + 8]
jmp 0x100b2b46
xor ecx, ecx
cmp dword [esp + 0x28], ecx
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, ebp
mov dword [edx], ecx
nop
test eax, eax
jne 0x100b2b91
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b2b84
cmp ecx, 0x8f
jbe 0x100b2b7a
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b2b8f
mov eax, 7
shl ecx, 9
jmp 0x100b2b8c
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b2b50
mov edx, dword [esp + 0x28]
jmp 0x100b2c38
mov ecx, ebp
shl ecx, 0x10
sub esi, ecx
test ebx, 0x8000
jne 0x100b2c35
mov ecx, dword [edx + 4]
cmp ebx, ebp
jae 0x100b2bd4
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
jmp 0x100b2bdb
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test eax, eax
jne 0x100b2c22
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b2c15
cmp ecx, 0x8f
jbe 0x100b2c0b
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b2c20
mov eax, 7
shl ecx, 9
jmp 0x100b2c1d
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b2be1
mov edx, dword [esp + 0x28]
jmp 0x100b2c38
mov edx, dword [edx + 4]
mov ecx, dword [esp + 0x24]
mov ebp, dword [esp + 0x18]
movzx ecx, byte [ecx + 0x101a8788]
xor edx, ecx
mov ecx, dword [esp + 0x1c]
neg ecx
test edx, edx
cmove ecx, dword [esp + 0x1c]
mov dword [ebp], ecx
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
shl edx, 0x13
or edx, 0x10
or dword [ebp - 4], 0x20
or ecx, edx
or dword [ebp + 4], 8
mov dword [esp + 0x40], ecx
jmp 0x100b2c7b
mov ecx, dword [esp + 0x40]
test ecx, 0x1000080
jne 0x100b2f9b
mov edx, ecx
mov ecx, dword [edi + 0x6c]
shr edx, 3
and edx, 0x1ef
movzx ecx, byte [edx + ecx]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x10], ecx
mov ecx, esi
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x100b2d33
mov ecx, dword [edx + 4]
mov dword [esp + 0x28], ecx
cmp ebx, ebp
jae 0x100b2cc7
mov ecx, dword [edx + 8]
jmp 0x100b2cd7
xor ecx, ecx
cmp dword [esp + 0x28], ecx
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, ebp
mov dword [edx], ecx
nop
test eax, eax
jne 0x100b2d21
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b2d14
cmp ecx, 0x8f
jbe 0x100b2d0a
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b2d1f
mov eax, 7
shl ecx, 9
jmp 0x100b2d1c
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b2ce0
jmp 0x100b2dbe
mov ecx, ebp
shl ecx, 0x10
sub esi, ecx
mov ecx, dword [edx + 4]
test ebx, 0x8000
jne 0x100b2dc2
cmp ebx, ebp
jae 0x100b2d60
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
jmp 0x100b2d67
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
nop dword [eax]
test eax, eax
jne 0x100b2db1
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b2da4
cmp ecx, 0x8f
jbe 0x100b2d9a
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b2daf
mov eax, 7
shl ecx, 9
jmp 0x100b2dac
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b2d70
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x100b2f97
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x40]
mov edx, dword [ecx - 4]
mov ecx, dword [ecx + 4]
shr edx, 2
and ecx, 0x400000
and edx, 0x100000
or edx, ecx
mov ecx, ebp
and ecx, 0x2000000
shr edx, 1
or edx, ecx
mov ecx, ebp
and ecx, 0x80000
shr edx, 4
or edx, ecx
and ebp, 0x550
shr edx, 0xc
or edx, ebp
shr edx, 3
mov dword [esp + 0x24], edx
movzx ecx, byte [edx + 0x101a8688]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x10], ecx
mov ecx, esi
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x100b2eb8
mov ecx, dword [edx + 4]
mov dword [esp + 0x28], ecx
cmp ebx, ebp
jae 0x100b2e49
mov ecx, dword [edx + 8]
jmp 0x100b2e59
xor ecx, ecx
cmp dword [esp + 0x28], ecx
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, ebp
mov dword [edx], ecx
test eax, eax
jne 0x100b2ea2
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b2e95
cmp ecx, 0x8f
jbe 0x100b2e8b
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b2ea0
mov eax, 7
shl ecx, 9
jmp 0x100b2e9d
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b2e61
mov edx, dword [esp + 0x28]
jmp 0x100b2f49
mov ecx, ebp
shl ecx, 0x10
sub esi, ecx
test ebx, 0x8000
jne 0x100b2f46
mov ecx, dword [edx + 4]
cmp ebx, ebp
jae 0x100b2ee5
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
jmp 0x100b2eec
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test eax, eax
jne 0x100b2f33
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b2f26
cmp ecx, 0x8f
jbe 0x100b2f1c
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b2f31
mov eax, 7
shl ecx, 9
jmp 0x100b2f2e
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b2ef2
mov edx, dword [esp + 0x28]
jmp 0x100b2f49
mov edx, dword [edx + 4]
mov ecx, dword [esp + 0x24]
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
movzx ecx, byte [ecx + 0x101a8788]
xor edx, ecx
mov ecx, dword [esp + 0x1c]
neg ecx
test edx, edx
cmove ecx, dword [esp + 0x1c]
mov dword [ebp + edi*4], ecx
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
shl edx, 0x16
or dword [ebp - 4], 0x100
or edx, 0x80
or ecx, edx
or dword [ebp + 4], 0x40
mov dword [esp + 0x40], ecx
jmp 0x100b2f9b
mov ecx, dword [esp + 0x40]
test ecx, 0x8000400
jne 0x100b32be
mov edx, ecx
mov ecx, dword [edi + 0x6c]
shr edx, 6
and edx, 0x1ef
movzx ecx, byte [edx + ecx]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x10], ecx
mov ecx, esi
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x100b3053
mov ecx, dword [edx + 4]
mov dword [esp + 0x28], ecx
cmp ebx, ebp
jae 0x100b2fe7
mov ecx, dword [edx + 8]
jmp 0x100b2ff7
xor ecx, ecx
cmp dword [esp + 0x28], ecx
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, ebp
mov dword [edx], ecx
nop
test eax, eax
jne 0x100b3041
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b3034
cmp ecx, 0x8f
jbe 0x100b302a
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b303f
mov eax, 7
shl ecx, 9
jmp 0x100b303c
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b3000
jmp 0x100b30de
mov ecx, ebp
shl ecx, 0x10
sub esi, ecx
mov ecx, dword [edx + 4]
test ebx, 0x8000
jne 0x100b30e2
cmp ebx, ebp
jae 0x100b3080
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
jmp 0x100b3087
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
nop dword [eax]
test eax, eax
jne 0x100b30d1
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b30c4
cmp ecx, 0x8f
jbe 0x100b30ba
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b30cf
mov eax, 7
shl ecx, 9
jmp 0x100b30cc
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b3090
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x100b32ba
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x40]
mov edx, dword [ecx - 4]
mov ecx, dword [ecx + 4]
shr edx, 2
and ecx, 0x2000000
and edx, 0x800000
or edx, ecx
mov ecx, ebp
and ecx, 0x10000000
shr edx, 1
or edx, ecx
mov ecx, ebp
and ecx, 0x400000
shr edx, 4
or edx, ecx
and ebp, 0x2a80
shr edx, 0xc
or edx, ebp
shr edx, 6
mov dword [esp + 0x24], edx
movzx ecx, byte [edx + 0x101a8688]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x10], ecx
mov ecx, esi
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x100b31d8
mov ecx, dword [edx + 4]
mov dword [esp + 0x28], ecx
cmp ebx, ebp
jae 0x100b3169
mov ecx, dword [edx + 8]
jmp 0x100b3179
xor ecx, ecx
cmp dword [esp + 0x28], ecx
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, ebp
mov dword [edx], ecx
test eax, eax
jne 0x100b31c2
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b31b5
cmp ecx, 0x8f
jbe 0x100b31ab
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b31c0
mov eax, 7
shl ecx, 9
jmp 0x100b31bd
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b3181
mov edx, dword [esp + 0x28]
jmp 0x100b3269
mov ecx, ebp
shl ecx, 0x10
sub esi, ecx
test ebx, 0x8000
jne 0x100b3266
mov ecx, dword [edx + 4]
cmp ebx, ebp
jae 0x100b3205
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
jmp 0x100b320c
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test eax, eax
jne 0x100b3253
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b3246
cmp ecx, 0x8f
jbe 0x100b323c
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b3251
mov eax, 7
shl ecx, 9
jmp 0x100b324e
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b3212
mov edx, dword [esp + 0x28]
jmp 0x100b3269
mov edx, dword [edx + 4]
mov ecx, dword [esp + 0x24]
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
movzx ecx, byte [ecx + 0x101a8788]
xor edx, ecx
mov ecx, dword [esp + 0x1c]
neg ecx
test edx, edx
cmove ecx, dword [esp + 0x1c]
mov dword [ebp + edi*8], ecx
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
shl edx, 0x19
or dword [ebp - 4], 0x800
or edx, 0x400
or ecx, edx
or dword [ebp + 4], 0x200
mov dword [esp + 0x40], ecx
jmp 0x100b32c2
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x14]
test ecx, 0x40002000
jne 0x100b3594
mov edx, ecx
mov ecx, dword [edi + 0x6c]
shr edx, 9
and edx, 0x1ef
movzx ecx, byte [edx + ecx]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x10], ecx
mov ecx, esi
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x100b3379
mov ecx, dword [edx + 4]
mov dword [esp + 0x28], ecx
cmp ebx, ebp
jae 0x100b330e
mov ecx, dword [edx + 8]
jmp 0x100b331e
xor ecx, ecx
cmp dword [esp + 0x28], ecx
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, ebp
mov dword [edx], ecx
test eax, eax
jne 0x100b3367
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b335a
cmp ecx, 0x8f
jbe 0x100b3350
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b3365
mov eax, 7
shl ecx, 9
jmp 0x100b3362
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b3326
jmp 0x100b3401
mov ecx, ebp
shl ecx, 0x10
sub esi, ecx
mov ecx, dword [edx + 4]
test ebx, 0x8000
jne 0x100b3405
cmp ebx, ebp
jae 0x100b33a6
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
jmp 0x100b33ad
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test eax, eax
jne 0x100b33f4
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b33e7
cmp ecx, 0x8f
jbe 0x100b33dd
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b33f2
mov eax, 7
shl ecx, 9
jmp 0x100b33ef
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b33b3
mov ecx, dword [esp + 0x28]
test ecx, ecx
je case.default.0x100b1e87
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x40]
mov edx, dword [ecx - 4]
mov ecx, dword [ecx + 4]
shr edx, 2
and ecx, 0x10000000
and edx, 0x4000000
or edx, ecx
mov ecx, ebp
and ecx, 0x81ffffff
shr edx, 1
or edx, ecx
mov ecx, ebp
and ecx, 0x2000000
shr edx, 4
or edx, ecx
and ebp, 0x15400
shr edx, 0xc
or edx, ebp
shr edx, 9
mov dword [esp + 0x24], edx
movzx ecx, byte [edx + 0x101a8688]
add ecx, 7
mov edx, dword [edi + ecx*4]
lea ecx, [edi + ecx*4]
mov dword [esp + 0x10], ecx
mov ecx, esi
shr ecx, 0x10
mov ebp, dword [edx]
sub ebx, ebp
cmp ecx, ebp
jae 0x100b34fb
mov ecx, dword [edx + 4]
mov dword [esp + 0x28], ecx
cmp ebx, ebp
jae 0x100b348c
mov ecx, dword [edx + 8]
jmp 0x100b349c
xor ecx, ecx
cmp dword [esp + 0x28], ecx
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, ebp
mov dword [edx], ecx
test eax, eax
jne 0x100b34e5
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b34d8
cmp ecx, 0x8f
jbe 0x100b34ce
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b34e3
mov eax, 7
shl ecx, 9
jmp 0x100b34e0
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b34a4
mov edx, dword [esp + 0x28]
jmp 0x100b28fc
mov ecx, ebp
shl ecx, 0x10
sub esi, ecx
test ebx, 0x8000
jne 0x100b28f9
mov ecx, dword [edx + 4]
cmp ebx, ebp
jae 0x100b3528
test ecx, ecx
mov ecx, 0
sete cl
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 0xc]
jmp 0x100b352f
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
test eax, eax
jne 0x100b3576
mov eax, dword [edi + 0x10]
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
cmp byte [eax], 0xff
jne 0x100b3569
cmp ecx, 0x8f
jbe 0x100b355f
inc dword [edi + 0xc]
mov eax, 8
mov ecx, 0xff00
jmp 0x100b3574
mov eax, 7
shl ecx, 9
jmp 0x100b3571
shl ecx, 8
mov eax, 8
mov dword [edi + 0x10], edx
add esi, ecx
add ebx, ebx
add esi, esi
dec eax
cmp ebx, 0x8000
jb 0x100b3535
mov edx, dword [esp + 0x28]
jmp 0x100b28fc
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
and ecx, 0xb6dfffff
mov dword [ebp], ecx
jmp 0x100b35a3
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
add ebp, 4
mov ecx, dword [esp + 0x18]
inc edx
add ecx, 4
mov dword [esp + 0x34], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], ebp
cmp edx, dword [esp + 0x20]
jb 0x100b1af4
jmp 0x100b35ce
mov ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x30]
add ebp, 8
mov edx, dword [edi + 0x80]
add dword [esp + 0x2c], 4
mov dword [esp + 0x18], ecx
mov ecx, edx
and ecx, 0xfffffffc
mov dword [esp + 0x14], ebp
cmp dword [esp + 0x2c], ecx
jb 0x100b1ae0
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
mov dword [edi + 0x68], ebp
mov dword [edi], esi
mov dword [edi + 4], ebx
mov dword [edi + 8], eax
cmp ecx, edx
jae 0x100b368e
mov ebp, dword [esp + 0x20]
test ebp, ebp
je 0x100b368e
mov ebx, dword [esp + 0x18]
mov ecx, ebp
mov edx, dword [esp + 0x14]
sub ebx, edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x3c], ebp
mov eax, dword [edi + 0x80]
xor esi, esi
sub eax, dword [esp + 0x2c]
je 0x100b3678
shl ebp, 2
add ebx, edx
push 1
push esi
push dword [esp + 0x24]
push ebx
push edx
push edi
call fcn.100b36b0
mov eax, dword [edi + 0x80]
inc esi
sub eax, dword [esp + 0x44]
add esp, 0x18
mov edx, dword [esp + 0x14]
add ebx, ebp
cmp esi, eax
jb 0x100b3645
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x20]
and dword [edx], 0xb6dfffff
add edx, 4
sub ecx, 1
mov dword [esp + 0x14], edx
mov dword [esp + 0x3c], ecx
jne 0x100b3632
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret