Function at 0x10009930
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x3fc8
call fcn.10021f10
mov eax, dword [0x1004b804]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x3ed8], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x3ecc], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x3ef8], eax
mov ecx, dword [ebp + 0x24]
push ebx
mov ebx, dword [ebp + 8]
add ecx, 0xfffffffe
push esi
mov esi, dword [ebp + 0x20]
push edi
mov eax, dword [ebx + 4]
mov dword [ebp - 0x3ec4], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x3ee0], eax
mov eax, dword [ebx]
mov dword [ebp - 0x3ed4], eax
mov eax, dword [ebx + 0x1c]
shr eax, 0xb
and eax, 1
mov dword [ebp - 0x3efc], esi
mov dword [ebp - 0x3ebc], eax
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp - 0x3e9c], ebx
mov dword [ebp - 0x3ef0], eax
mov eax, dword [ebp + 0x1c]
and eax, 0xfffffffe
mov dword [ebp - 0x3ef4], 0
mov dword [ebp - 0x3f18], eax
mov eax, 0x2aaaaaab
imul ecx
mov eax, 0x2aaaaaab
mov dword [ebp - 0x3edc], 0xffffffff
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea ecx, [ecx + ecx*2]
add ecx, ecx
imul ecx
mov eax, dword [ebx + 0x10]
lea ecx, [esi + 8]
mov edi, edx
mov dword [ebp - 0x3ec8], eax
shr edi, 0x1f
xor esi, esi
add edi, edx
mov dword [ebp - 0x3ee8], ecx
mov dword [ebp - 0x3e94], edi
mov dword [ebp - 0x3e88], esi
lea eax, [edi + edi*2]
lea eax, [ecx + eax*4]
mov dword [ebp - 0x3f10], eax
mov edx, eax
mov eax, dword [ebp - 0x3ed8]
mov al, byte [eax]
cmp al, 0x85
je 0x10009a3a
cmp al, 0x8a
je 0x10009a3a
cmp al, 0x86
je 0x10009a3a
lea ecx, [esi + 3]
cmp al, 0x8b
jne 0x10009a3f
mov ecx, 5
mov ebx, dword [ebp - 0x3ed8]
cmp byte [ebx + ecx], 0x7c
mov ebx, dword [ebp - 0x3e9c]
jne 0x10009c80
mov edx, dword [ebp - 0x3ed8]
xor esi, esi
nop dword [eax]
movzx ecx, byte [edx + 4]
movzx eax, byte [edx + 5]
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 2]
cmp ecx, esi
cmovle ecx, esi
mov esi, ecx
movzx ecx, byte [edx + 1]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x10009a60
cmp dword [ebp - 0x3ebc], 0
mov eax, dword [ebp - 0x3ecc]
je 0x10009c58
xor edx, edx
test esi, esi
jle 0x10009ae2
mov ecx, dword [ebp - 0x3ec4]
cmp eax, ecx
jbe 0x10009adc
dec eax
mov dword [ebp - 0x3ecc], eax
cmp eax, ecx
jbe 0x10009ad7
mov edi, eax
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x10009ac5
dec edi
cmp edi, ecx
ja 0x10009ab8
mov dword [ebp - 0x3ecc], edi
mov edi, dword [ebp - 0x3e94]
mov eax, dword [ebp - 0x3ecc]
inc edx
cmp edx, esi
jl 0x10009aa7
mov eax, dword [ebp - 0x3ecc]
cmp eax, dword [ebx + 0xc]
jae 0x10009aea
mov dword [ebx + 0xc], eax
mov esi, dword [ebp - 0x3f10]
mov ebx, dword [ebp - 0x3ed8]
add esi, 8
nop dword [eax]
movzx ecx, byte [ebx + 4]
movzx eax, byte [ebx + 5]
shl ecx, 8
or ecx, eax
cmp ecx, edx
jg 0x10009b4c
mov ebx, dword [ebp - 0x3e88]
mov eax, ebx
inc ebx
mov dword [ebp - 0x3e88], ebx
cmp eax, edi
jge 0x1000ac5b
mov eax, dword [ebp - 0x3ed4]
mov ebx, dword [ebp - 0x3ed8]
sub eax, ebx
sub eax, 6
mov dword [esi - 4], 0
mov dword [esi - 8], eax
mov eax, edx
sub eax, ecx
mov dword [esi], eax
add esi, 0xc
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
mov dword [ebp - 0x3ed8], ebx
cmp byte [ebx], 0x77
je 0x10009b00
mov esi, dword [ebp - 0x3e88]
mov edi, dword [ebp - 0x3efc]
mov ebx, dword [ebp - 0x3ee8]
mov eax, dword [ebp - 0x3ecc]
mov dword [edi], 0
mov dword [ebp - 0x3ea0], eax
mov dword [ebp - 0x3f68], 1
mov eax, dword [ebp - 0x3ef4]
mov ecx, esi
xor dword [edi], 1
mov edx, ebx
mov ebx, dword [ebp - 0x3f10]
xor esi, esi
mov dword [ebp - 0x3ed0], eax
lea eax, [ecx + ecx*2]
mov dword [edi + 4], ecx
mov dword [ebp - 0x3f24], 0
lea edi, [ebx + eax*4]
mov dword [ebp - 0x3eec], 0
mov eax, dword [ebp - 0x3ea0]
mov dword [ebp - 0x3ef4], 0
mov dword [ebp - 0x3e90], edx
mov dword [ebp - 0x3ee8], ebx
mov dword [ebp - 0x3f10], edx
mov dword [ebp - 0x3e8c], ecx
mov dword [ebp - 0x3e88], esi
cmp eax, dword [ebp - 0x3ee0]
jae 0x10009e9a
movzx ebx, byte [eax]
mov dword [ebp - 0x3eb0], 1
mov dword [ebp - 0x3ea4], ebx
cmp dword [ebp - 0x3ebc], esi
je 0x10009ea9
cmp ebx, 0xc0
jb 0x10009ea9
test bl, 0x20
jne 0x10009d53
movzx eax, byte [eax + 1]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov dword [ebp - 0x3eb0], 2
jmp 0x10009ea3
mov ecx, eax
mov edx, esi
sub eax, dword [ebp - 0x3ec4]
sub ecx, esi
cmp ecx, dword [ebp - 0x3ec4]
cmovb edx, eax
mov eax, dword [ebp - 0x3ecc]
sub eax, edx
mov dword [ebp - 0x3ecc], eax
jmp 0x10009ae2
cmp dword [ebp - 0x3ef0], 1
mov ecx, dword [ebp - 0x3ed8]
mov dword [ebp - 0x3ed8], ecx
jne 0x10009cea
test dword [ebx + 0x18], 0x20000
je 0x10009cea
mov ebx, ecx
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x10009ca0
mov edi, dword [ebp - 0x3efc]
mov dword [ebp - 0x3ed8], ebx
mov ebx, dword [ebp - 0x3ee8]
cmp dword [edi], 0
mov esi, dword [edi + 4]
jne 0x10009b78
lea eax, [esi + esi*2]
shl eax, 2
push eax
mov eax, edx
push ebx
push eax
call fcn.10022e50
add esp, 0xc
jmp 0x10009b78
cmp al, 0x85
je 0x10009cff
cmp al, 0x8a
je 0x10009cff
cmp al, 0x86
je 0x10009cff
mov ecx, 3
cmp al, 0x8b
jne 0x10009d04
mov ecx, 5
mov ebx, dword [ebp - 0x3ed8]
nop word [eax + eax]
mov eax, esi
inc esi
cmp eax, edi
jge 0x1000ac5b
sub ecx, dword [ebp - 0x3ed4]
add ecx, ebx
mov dword [edx + 4], 0
mov dword [edx], ecx
add edx, 0xc
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
mov ecx, 3
mov dword [ebp - 0x3ed8], ebx
cmp byte [ebx], 0x77
je 0x10009d10
jmp 0x10009b6c
test bl, 0x10
jne 0x10009d88
movzx ecx, byte [eax + 1]
and ebx, 0xf
movzx eax, byte [eax + 2]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
mov dword [ebp - 0x3eb0], 3
mov ecx, dword [ebp - 0x3e8c]
shl ebx, 6
or ebx, eax
jmp 0x10009ea3
test bl, 8
jne 0x10009dcf
movzx ecx, byte [eax + 1]
and ebx, 7
movzx eax, byte [eax + 2]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
mov dword [ebp - 0x3eb0], 4
mov ecx, dword [ebp - 0x3e8c]
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 0x3ea0]
shl ebx, 6
movzx eax, byte [eax + 3]
and eax, 0x3f
or ebx, eax
jmp 0x10009ea3
mov edx, dword [ebp - 0x3ea0]
movzx eax, byte [eax + 1]
and eax, 0x3f
movzx esi, byte [edx + 2]
movzx ebx, byte [edx + 3]
and esi, 0x3f
movzx edx, byte [edx + 4]
and ebx, 0x3f
and edx, 0x3f
mov dword [ebp - 0x3ee4], edx
mov edx, dword [ebp - 0x3ea4]
test dl, 4
jne 0x10009e45
and edx, 3
mov dword [ebp - 0x3eb0], 5
shl edx, 6
or edx, eax
mov eax, edx
mov dword [ebp - 0x3ea4], edx
mov edx, dword [ebp - 0x3e90]
shl eax, 6
or eax, esi
mov esi, dword [ebp - 0x3e88]
shl eax, 6
or eax, ebx
mov ebx, eax
mov dword [ebp - 0x3ea4], eax
shl ebx, 6
or ebx, dword [ebp - 0x3ee4]
jmp 0x10009ea3
and edx, 1
mov dword [ebp - 0x3eb0], 6
shl edx, 6
or edx, eax
mov eax, edx
mov dword [ebp - 0x3ea4], edx
mov edx, dword [ebp - 0x3e90]
shl eax, 6
or eax, esi
mov esi, dword [ebp - 0x3e88]
shl eax, 6
or eax, ebx
mov ebx, eax
mov dword [ebp - 0x3ea4], eax
mov eax, dword [ebp - 0x3ea0]
shl ebx, 6
or ebx, dword [ebp - 0x3ee4]
shl ebx, 6
movzx eax, byte [eax + 5]
and eax, 0x3f
or ebx, eax
jmp 0x10009ea3
mov dword [ebp - 0x3eb0], esi
or ebx, 0xffffffff
mov dword [ebp - 0x3ea4], ebx
xor eax, eax
mov dword [ebp - 0x3ee4], eax
test ecx, ecx
jle 0x1000da92
and ebx, 7
mov dword [ebp - 0x3f88], ebx
nop dword [eax]
nop word [eax + eax]
mov ebx, dword [ebp - 0x3ee8]
lea eax, [eax + eax*2]
mov dword [ebp - 0x3f00], edi
mov dword [ebp - 0x3f94], ecx
mov dword [ebp - 0x3f20], edi
lea ebx, [ebx + eax*4]
mov dword [ebp - 0x3f8c], ecx
mov eax, dword [ebx]
mov dword [ebp - 0x3f84], edi
mov dword [ebp - 0x3f80], ecx
mov dword [ebp - 0x3f1c], edi
mov dword [ebp - 0x3fb4], ecx
mov dword [ebp - 0x3f7c], edi
mov dword [ebp - 0x3f90], ecx
mov dword [ebp - 0x3f04], edi
mov dword [ebp - 0x3f98], ecx
mov dword [ebp - 0x3f9c], edi
mov dword [ebp - 0x3fa8], ecx
mov dword [ebp - 0x3fac], edi
mov dword [ebp - 0x3fb0], ecx
mov dword [ebp - 0x3f0c], edi
mov dword [ebp - 0x3f78], ecx
mov dword [ebp - 0x3f08], edi
mov dword [ebp - 0x3f74], ecx
mov dword [ebp - 0x3f70], edi
mov dword [ebp - 0x3f6c], ecx
mov dword [ebp - 0x3eb4], ebx
mov dword [ebp - 0x3ea8], 0
mov dword [ebp - 0x3e98], eax
test eax, eax
jns 0x10009fdb
cmp dword [ebx + 8], 0
jle 0x10009fd1
mov eax, esi
inc esi
mov dword [ebp - 0x3e88], esi
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
mov dword [edx], eax
mov eax, dword [ebx + 4]
mov dword [edx + 4], eax
mov eax, dword [ebx + 8]
dec eax
mov dword [edx + 8], eax
add edx, 0xc
cmp dword [ebp - 0x3ed0], 0
mov dword [ebp - 0x3e90], edx
je 0x1000c088
mov dword [ebp - 0x3ef4], 1
jmp 0x1000c088
neg eax
mov dword [ebp - 0x3e98], eax
mov dword [ebx], eax
xor ebx, ebx
cmp dword [ebp - 0x3ee4], ebx
jle 0x1000a01e
mov esi, dword [ebp - 0x3ee8]
nop dword [eax + eax]
cmp dword [esi], eax
jne 0x1000a012
mov edx, dword [ebp - 0x3eb4]
mov eax, dword [esi + 4]
cmp eax, dword [edx + 4]
mov edx, dword [ebp - 0x3e90]
je case.default.0x1000c40d
mov eax, dword [ebp - 0x3e98]
inc ebx
add esi, 0xc
cmp ebx, dword [ebp - 0x3ee4]
jl 0x10009ff0
mov esi, dword [ebp - 0x3ed4]
add esi, eax
cmp dword [ebp - 0x3eb0], 0
movzx eax, byte [esi]
mov dword [ebp - 0x3eac], eax
jne 0x1000a052
mov ebx, dword [ebp - 0x3ed0]
cmp byte [eax + 0x1003d9a0], 0
cmovne ebx, dword [ebp - 0x3f68]
mov dword [ebp - 0x3ed0], ebx
mov al, byte [eax + 0x1003d8f8]
test al, al
je 0x1000a244
movzx eax, al
add eax, esi
mov dword [ebp - 0x3ec0], 1
cmp dword [ebp - 0x3ebc], 0
mov dword [ebp - 0x3eb8], eax
movzx ebx, byte [eax]
je 0x1000a1c7
cmp ebx, 0xc0
jb 0x1000a1c7
test bl, 0x20
jne 0x1000a0ac
movzx eax, byte [eax + 1]
and ebx, 0x1f
mov dword [ebp - 0x3ec0], 2
jmp 0x1000a1bf
test bl, 0x10
jne 0x1000a0d9
movzx ecx, byte [eax + 1]
and ebx, 0xf
movzx eax, byte [eax + 2]
and ecx, 0x3f
shl ebx, 6
or ebx, ecx
mov dword [ebp - 0x3ec0], 3
mov ecx, dword [ebp - 0x3e8c]
jmp 0x1000a1bf
test bl, 8
jne 0x1000a118
movzx ecx, byte [eax + 1]
and ebx, 7
movzx eax, byte [eax + 2]
and ecx, 0x3f
shl ebx, 6
and eax, 0x3f
or ebx, ecx
mov dword [ebp - 0x3ec0], 4
mov ecx, dword [ebp - 0x3e8c]
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 0x3eb8]
movzx eax, byte [eax + 3]
jmp 0x1000a1bf
movzx edx, byte [eax + 1]
and edx, 0x3f
mov dword [ebp - 0x3ec0], edx
movzx edx, byte [eax + 2]
and edx, 0x3f
mov dword [ebp - 0x3f28], edx
movzx edx, byte [eax + 3]
and edx, 0x3f
mov dword [ebp - 0x3f14], edx
movzx edx, byte [eax + 4]
and edx, 0x3f
mov dword [ebp - 0x3eb8], edx
mov edx, dword [ebp - 0x3e90]
test bl, 4
jne 0x1000a18a
and ebx, 3
shl ebx, 6
or ebx, dword [ebp - 0x3ec0]
shl ebx, 6
or ebx, dword [ebp - 0x3f28]
shl ebx, 6
or ebx, dword [ebp - 0x3f14]
shl ebx, 6
or ebx, dword [ebp - 0x3eb8]
mov dword [ebp - 0x3ec0], 5
jmp 0x1000a1c7
movzx eax, byte [eax + 5]
and ebx, 1
shl ebx, 6
or ebx, dword [ebp - 0x3ec0]
shl ebx, 6
or ebx, dword [ebp - 0x3f28]
shl ebx, 6
or ebx, dword [ebp - 0x3f14]
shl ebx, 6
or ebx, dword [ebp - 0x3eb8]
mov dword [ebp - 0x3ec0], 6
and eax, 0x3f
shl ebx, 6
or ebx, eax
mov eax, dword [ebp - 0x3eac]
cmp eax, 0x55
jb 0x1000a257
lea eax, [ebx - 0xe]
cmp eax, 8
ja case.default.0x1000a1de
jmp dword [eax*4 + 0x1000db24]
mov eax, dword [ebp - 0x3eac]
add eax, 0x12c
mov dword [ebp - 0x3eac], eax
jmp 0x1000a257
mov eax, dword [ebp - 0x3eac]
add eax, 0x154
mov dword [ebp - 0x3eac], eax
jmp 0x1000a257
mov eax, dword [ebp - 0x3eac]
add eax, 0x140
mov dword [ebp - 0x3eac], eax
jmp 0x1000a257
mov eax, dword [ebp - 0x3eac]
add eax, 0x168
mov dword [ebp - 0x3eac], eax
jmp 0x1000a257
mov eax, dword [ebp - 0x3eac]
add eax, 0x17c
mov dword [ebp - 0x3eac], eax
jmp 0x1000a257
mov dword [ebp - 0x3ec0], 0
or ebx, 0xffffffff
mov eax, dword [ebp - 0x3eac]
dec eax
cmp eax, 0x1dc
ja case.0x1000a26a.3
movzx eax, byte [eax + 0x1000dc4c]
jmp dword [eax*4 + 0x1000db48]
cmp esi, dword [ebp - 0x3ed8]
je 0x1000a2e5
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov ebx, dword [ebp - 0x3e98]
mov dword [edi + 4], 0
lea eax, [ebx + 3]
mov dword [edi], eax
add edi, 0xc
cmp dword [ebp - 0x3eac], 0x78
je case.default.0x1000c40d
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov dword [edi + 4], 0
sub ebx, ecx
mov dword [edi], ebx
add edi, 0xc
jmp 0x1000c07c
mov esi, dword [ebp - 0x3ea0]
mov ebx, dword [ebp - 0x3e9c]
cmp esi, dword [ebp - 0x3ecc]
ja 0x1000a329
mov eax, dword [ebx + 0x18]
test eax, 0x400
jne case.default.0x1000c40d
test eax, 0x10000000
je 0x1000a329
mov eax, dword [ebx + 0x14]
add eax, dword [ebp - 0x3ec4]
mov edx, dword [ebp - 0x3e90]
cmp dword [ebp - 0x3ecc], eax
jbe case.default.0x1000c40d
mov ecx, dword [ebp - 0x3edc]
test ecx, ecx
jns 0x1000a341
xor ecx, ecx
cmp dword [ebp - 0x3f18], 2
setge cl
jmp 0x1000a35e
jle 0x1000a364
inc ecx
mov dword [ebp - 0x3eb8], 0
lea eax, [ecx + ecx]
cmp eax, dword [ebp - 0x3f18]
cmovg ecx, dword [ebp - 0x3eb8]
mov dword [ebp - 0x3edc], ecx
cmp dword [ebp - 0x3edc], 0
lea eax, [ecx + ecx]
mov ecx, dword [ebp - 0x3f18]
cmovne ecx, eax
sub ecx, 2
test ecx, ecx
jle 0x1000a39f
lea eax, [ecx*4]
push eax
mov eax, dword [ebp - 0x3ef8]
push eax
add eax, 8
push eax
call fcn.10022e50
mov edx, dword [ebp - 0x3e90]
add esp, 0xc
cmp dword [ebp - 0x3f18], 2
jl 0x1000a3cf
mov edx, dword [ebp - 0x3ef8]
mov ecx, edx
mov eax, dword [ebp - 0x3ecc]
sub eax, dword [ebp - 0x3ec4]
mov dword [edx], eax
mov eax, esi
sub eax, dword [ebp - 0x3ec4]
mov edx, dword [ebp - 0x3e90]
mov dword [ecx + 4], eax
test dword [ebx + 0x18], 0x10000
je 0x1000c07c
mov eax, dword [ebp - 0x3edc]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10021ef6
mov esp, ebp
pop ebp
ret
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, ecx
cmp byte [esi], 0x77
je case.0x1000a26a.119
mov ecx, dword [ebp - 0x3e8c]
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
sub esi, dword [ebp - 0x3ed4]
mov dword [edi], esi
mov dword [edi + 4], 0
add edi, 0xc
jmp case.default.0x1000c40d
mov ebx, dword [ebp - 0x3e94]
nop
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, ebx
jge 0x1000ac5b
mov eax, esi
mov dword [edi + 4], 0
sub eax, dword [ebp - 0x3ed4]
add eax, 3
mov dword [edi], eax
add edi, 0xc
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, ecx
mov ecx, dword [ebp - 0x3e8c]
cmp byte [esi], 0x77
je 0x1000a440
jmp 0x1000c07c
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
add eax, 5
mov dword [edi + 4], 0
mov dword [edi], eax
add edi, 0xc
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, ecx
cmp byte [esi], 0x77
jne 0x1000c07c
mov ebx, dword [ebp - 0x3e8c]
nop
mov eax, ebx
inc ebx
mov dword [ebp - 0x3e8c], ebx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, esi
mov dword [edi + 4], 0
sub eax, dword [ebp - 0x3ed4]
add eax, 3
mov dword [edi], eax
add edi, 0xc
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, ecx
cmp byte [esi], 0x77
je 0x1000a4d0
jmp 0x1000c07c
mov ebx, dword [ebp - 0x3e94]
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, ebx
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
inc eax
mov dword [edi + 4], 0
mov dword [edi], eax
movzx edx, byte [esi + 2]
movzx eax, byte [esi + 3]
shl edx, 8
or edx, eax
inc edx
add edx, esi
cmp byte [edx], 0x77
jne 0x1000a565
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x1000a551
mov ecx, dword [ebp - 0x3e8c]
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, ebx
jge 0x1000ac5b
sub edx, dword [ebp - 0x3ed4]
add edx, 3
mov dword [edi + 0x10], 0
mov dword [edi + 0xc], edx
add edi, 0x18
mov edx, dword [ebp - 0x3e90]
jmp case.default.0x1000c40d
movzx edx, byte [esi + 2]
movzx eax, byte [esi + 3]
shl edx, 8
or edx, eax
inc edx
add edx, esi
cmp byte [edx], 0x77
jne 0x1000a5c6
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x77
je 0x1000a5b2
mov ecx, dword [ebp - 0x3e8c]
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
sub edx, dword [ebp - 0x3ed4]
add edx, 3
mov dword [edi + 4], 0
mov dword [edi], edx
add edi, 0xc
mov edx, dword [ebp - 0x3e90]
jmp case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea0]
cmp eax, dword [ebp - 0x3ec4]
jne case.default.0x1000c40d
mov eax, dword [ebp - 0x3e9c]
test byte [eax + 0x18], 0x80
jne case.default.0x1000c40d
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
inc eax
mov dword [edi], eax
mov dword [edi + 4], 0
add edi, 0xc
jmp case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea0]
mov ebx, dword [ebp - 0x3e9c]
cmp eax, dword [ebp - 0x3ec4]
jne 0x1000a66a
test byte [ebx + 0x18], 0x80
je 0x1000a623
cmp eax, dword [ebp - 0x3ee0]
je case.default.0x1000c40d
mov eax, dword [ebp - 0x3e9c]
mov ebx, dword [ebx + 0x20]
mov esi, dword [eax + 4]
test ebx, ebx
je 0x1000a6cb
mov ecx, dword [ebp - 0x3ea0]
cmp ecx, esi
jbe 0x1000a6b0
push dword [ebp - 0x3ebc]
add eax, 0x24
push eax
push esi
push ebx
push ecx
call fcn.1001a300
add esp, 0x14
test eax, eax
je 0x1000a6b0
mov eax, 1
jmp 0x1000a6b2
xor eax, eax
mov edx, dword [ebp - 0x3e90]
mov ecx, dword [ebp - 0x3e8c]
test eax, eax
je case.default.0x1000c40d
jmp 0x1000a623
mov ebx, dword [eax + 0x24]
lea eax, [esi + ebx]
mov esi, dword [ebp - 0x3ea0]
cmp esi, eax
jb case.default.0x1000c40d
mov edx, dword [ebp - 0x3e9c]
sub esi, ebx
mov al, byte [esi]
cmp al, byte [edx + 0x28]
mov edx, dword [ebp - 0x3e90]
jne case.default.0x1000c40d
cmp ebx, 1
je 0x1000a623
mov ebx, dword [ebp - 0x3e9c]
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x29]
jmp 0x1000a61d
mov eax, dword [ebp - 0x3ee0]
cmp dword [ebp - 0x3ea0], eax
jb case.default.0x1000c40d
mov eax, dword [ebp - 0x3e9c]
test dword [eax + 0x18], 0x8000000
je 0x1000a623
mov dword [ebp - 0x3ed0], 1
jmp case.default.0x1000c40d
mov eax, dword [ebp - 0x3ec4]
cmp dword [ebp - 0x3ea0], eax
jmp 0x1000a61d
mov eax, dword [ebp - 0x3ec4]
add eax, dword [ebp + 0x14]
cmp dword [ebp - 0x3ea0], eax
jmp 0x1000a61d
cmp dword [ebp - 0x3eb0], 0
jle case.default.0x1000c40d
mov eax, dword [ebp - 0x3e9c]
mov esi, dword [eax + 0x20]
test esi, esi
je 0x1000a7cd
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x3ea0]
cmp edx, ecx
jae 0x1000a7b2
push dword [ebp - 0x3ebc]
add eax, 0x24
push eax
push ecx
push esi
push edx
call fcn.1001a160
add esp, 0x14
test eax, eax
je 0x1000a7b2
mov eax, 1
jmp 0x1000a7b4
xor eax, eax
mov ecx, dword [ebp - 0x3e9c]
mov edx, dword [ebp - 0x3e90]
lea ebx, [ecx + 0x24]
test eax, eax
jne 0x1000c07c
jmp 0x1000a826
mov esi, dword [eax + 0x24]
lea ebx, [eax + 0x24]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x3e8c]
sub eax, esi
cmp dword [ebp - 0x3ea0], eax
ja 0x1000a820
mov eax, dword [ebp - 0x3ea0]
mov edx, dword [ebp - 0x3e9c]
mov al, byte [eax]
cmp al, byte [edx + 0x28]
mov edx, dword [ebp - 0x3e90]
jne 0x1000a820
cmp esi, 1
je case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea0]
mov esi, dword [ebp - 0x3e9c]
mov al, byte [eax + 1]
cmp al, byte [esi + 0x29]
je case.default.0x1000c40d
mov ecx, dword [ebp - 0x3e9c]
mov eax, dword [ebp - 0x3ea0]
inc eax
cmp eax, dword [ecx + 8]
jb 0x1000a86b
test dword [ecx + 0x18], 0x8000000
je 0x1000a86b
cmp dword [ecx + 0x20], 0
jne 0x1000a86b
cmp dword [ebx], 2
jne 0x1000a86b
movzx eax, byte [ecx + 0x28]
cmp dword [ebp - 0x3ea4], eax
jne 0x1000a86b
mov dword [ebp - 0x3eec], 1
mov dword [ebp - 0x3ed0], 1
jmp 0x1000c07c
mov esi, dword [ebp - 0x3e88]
mov eax, esi
inc esi
mov dword [ebp - 0x3e88], esi
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
inc eax
mov dword [edx], eax
mov dword [edx + 4], 0
add edx, 0xc
mov dword [ebp - 0x3e90], edx
mov ecx, dword [ebp - 0x3e8c]
jmp 0x1000c088
cmp dword [ebp - 0x3eb0], 0
mov esi, dword [ebp - 0x3e88]
jle 0x1000c088
mov eax, esi
inc esi
mov dword [ebp - 0x3e88], esi
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
inc eax
mov dword [edx], eax
mov dword [edx + 4], 0
add edx, 0xc
mov dword [ebp - 0x3e90], edx
jmp 0x1000c088
cmp dword [ebp - 0x3eb0], 0
je 0x1000a724
mov esi, dword [ebp - 0x3e9c]
mov ebx, dword [esi + 0x20]
test ebx, ebx
je 0x1000a966
mov eax, dword [esi + 8]
add esi, 0x24
cmp dword [ebp - 0x3ea0], eax
jae 0x1000a93b
push dword [ebp - 0x3ebc]
push esi
push eax
push ebx
mov ebx, dword [ebp - 0x3ea0]
push ebx
call fcn.1001a160
add esp, 0x14
test eax, eax
je 0x1000a941
mov eax, 1
jmp 0x1000a943
mov ebx, dword [ebp - 0x3ea0]
xor eax, eax
mov edx, dword [ebp - 0x3e90]
test eax, eax
je 0x1000c07c
mov eax, dword [ebp - 0x3ee0]
sub eax, dword [esi]
mov ecx, dword [ebp - 0x3e8c]
cmp ebx, eax
jmp 0x1000a61d
mov eax, dword [ebp - 0x3e9c]
lea ebx, [esi + 0x24]
mov esi, dword [ebx]
mov ecx, dword [ebp - 0x3e8c]
mov eax, dword [eax + 8]
sub eax, esi
cmp dword [ebp - 0x3ea0], eax
ja case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea0]
mov edx, dword [ebp - 0x3e9c]
mov al, byte [eax]
cmp al, byte [edx + 0x28]
mov edx, dword [ebp - 0x3e90]
jne case.default.0x1000c40d
cmp esi, 1
je 0x1000a9c2
mov eax, dword [ebp - 0x3ea0]
mov esi, dword [ebp - 0x3e9c]
mov al, byte [eax + 1]
cmp al, byte [esi + 0x29]
jne case.default.0x1000c40d
mov eax, dword [ebp - 0x3ee0]
mov esi, ebx
mov ebx, dword [ebp - 0x3ea0]
mov ecx, dword [ebp - 0x3e8c]
sub eax, dword [esi]
cmp ebx, eax
jmp 0x1000a61d
mov ebx, dword [ebp - 0x3e9c]
mov eax, dword [ebx + 0x18]
test eax, 0x100
jne case.default.0x1000c40d
cmp dword [ebp - 0x3eb0], 0
jne 0x1000aa06
test eax, 0x8000000
jmp 0x1000a731
test byte [ebx + 0x1c], 0x20
jne 0x1000aa9f
mov ecx, dword [ebx + 0x20]
lea esi, [ebx + 0x24]
mov eax, dword [ebx + 8]
test ecx, ecx
je 0x1000aa52
mov edx, dword [ebp - 0x3ea0]
cmp edx, eax
jae 0x1000aa44
push dword [ebp - 0x3ebc]
push esi
push eax
push ecx
push edx
call fcn.1001a160
add esp, 0x14
test eax, eax
je 0x1000aa44
mov eax, 1
jmp 0x1000aa46
xor eax, eax
test eax, eax
je 0x1000aa9f
mov edx, dword [ebp - 0x3e90]
jmp 0x1000aa84
mov ecx, dword [esi]
sub eax, ecx
mov edx, dword [ebp - 0x3e90]
cmp dword [ebp - 0x3ea0], eax
ja 0x1000aa9f
mov eax, dword [ebp - 0x3ea0]
mov al, byte [eax]
cmp al, byte [ebx + 0x28]
jne 0x1000aa9f
cmp ecx, 1
je 0x1000aa84
mov eax, dword [ebp - 0x3ea0]
mov al, byte [eax + 1]
cmp al, byte [ebx + 0x29]
jne 0x1000aa9f
mov eax, dword [ebp - 0x3ee0]
sub eax, dword [esi]
cmp dword [ebp - 0x3ea0], eax
jne 0x1000aa9f
mov ecx, dword [ebp - 0x3e8c]
jmp 0x1000a623
mov eax, dword [ebp - 0x3ea0]
inc eax
cmp eax, dword [ebx + 8]
jb 0x1000d513
mov ecx, dword [ebx + 0x18]
test ecx, 0x8008000
je 0x1000d513
cmp dword [ebx + 0x20], 0
jne 0x1000d513
cmp dword [ebx + 0x24], 2
jne 0x1000d513
movzx eax, byte [ebx + 0x28]
cmp dword [ebp - 0x3ea4], eax
jne 0x1000d513
mov esi, dword [ebp - 0x3e88]
test ecx, 0x8000000
je 0x1000ab41
mov eax, esi
mov dword [ebp - 0x3ef4], 1
inc esi
mov dword [ebp - 0x3e88], esi
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov edx, dword [ebp - 0x3e90]
mov eax, dword [ebp - 0x3e98]
mov ecx, dword [ebp - 0x3e8c]
not eax
mov dword [edx], eax
mov dword [edx + 4], 0
mov dword [edx + 8], 1
add edx, 0xc
mov dword [ebp - 0x3e90], edx
jmp 0x1000c088
mov edx, dword [ebp - 0x3e90]
mov ecx, dword [ebp - 0x3e8c]
mov dword [ebp - 0x3eec], 1
mov dword [ebp - 0x3ed0], 1
jmp 0x1000c088
mov ebx, dword [ebp - 0x3e9c]
mov eax, dword [ebx + 0x18]
test eax, 0x100
jne 0x1000acd9
cmp dword [ebp - 0x3eb0], 0
jne 0x1000ab8d
test eax, 0x8000000
jmp 0x1000a731
test byte [ebx + 0x1c], 0x20
jne 0x1000abe7
mov eax, dword [ebp - 0x3e9c]
mov ebx, dword [ebx + 0x20]
mov esi, dword [eax + 8]
test ebx, ebx
je 0x1000ac71
mov ecx, dword [ebp - 0x3ea0]
cmp ecx, esi
jae 0x1000abd1
push dword [ebp - 0x3ebc]
add eax, 0x24
push eax
push esi
push ebx
push ecx
call fcn.1001a160
add esp, 0x14
test eax, eax
je 0x1000abd1
mov eax, 1
jmp 0x1000abd3
xor eax, eax
mov edx, dword [ebp - 0x3e90]
test eax, eax
jne 0x1000aa94
mov ebx, dword [ebp - 0x3e9c]
mov eax, dword [ebp - 0x3ea0]
inc eax
cmp eax, dword [ebx + 8]
jb 0x1000c07c
mov ecx, dword [ebx + 0x18]
test ecx, 0x8008000
je 0x1000c07c
cmp dword [ebx + 0x20], 0
jne 0x1000c07c
cmp dword [ebx + 0x24], 2
jne 0x1000c07c
movzx eax, byte [ebx + 0x28]
cmp dword [ebp - 0x3ea4], eax
jne 0x1000c07c
mov esi, dword [ebp - 0x3e88]
test ecx, 0x8000000
je 0x1000acba
mov eax, esi
mov dword [ebp - 0x3ef4], 1
inc esi
mov dword [ebp - 0x3e88], esi
cmp eax, dword [ebp - 0x3e94]
jl 0x1000ab15
mov eax, 0xffffffed
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10021ef6
mov esp, ebp
pop ebp
ret
mov ebx, dword [eax + 0x24]
sub esi, ebx
mov eax, dword [ebp - 0x3ea0]
cmp eax, esi
ja 0x1000abe1
mov esi, dword [ebp - 0x3e9c]
mov al, byte [eax]
cmp al, byte [esi + 0x28]
jne 0x1000acb3
cmp ebx, 1
je 0x1000a623
mov eax, dword [ebp - 0x3ea0]
mov ebx, esi
mov al, byte [eax + 1]
cmp al, byte [ebx + 0x29]
jne 0x1000abe7
jmp 0x1000a623
mov ebx, esi
jmp 0x1000abe7
mov ecx, dword [ebp - 0x3e8c]
mov dword [ebp - 0x3eec], 1
mov dword [ebp - 0x3ed0], 1
jmp 0x1000c088
mov esi, dword [ebx + 0x20]
test esi, esi
je 0x1000ad08
mov ecx, dword [ebx + 8]
mov edx, dword [ebp - 0x3ea0]
cmp edx, ecx
jae 0x1000a6b0
push dword [ebp - 0x3ebc]
lea eax, [ebx + 0x24]
push eax
push ecx
push esi
push edx
call fcn.1001a160
jmp 0x1000a6a2
mov eax, dword [ebx + 8]
mov esi, dword [ebx + 0x24]
sub eax, esi
mov edx, dword [ebp - 0x3e90]
cmp dword [ebp - 0x3ea0], eax
ja case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea0]
mov al, byte [eax]
cmp al, byte [ebx + 0x28]
jne case.default.0x1000c40d
cmp esi, 1
je 0x1000a623
mov eax, dword [ebp - 0x3ea0]
mov al, byte [eax + 1]
cmp al, byte [ebx + 0x29]
jmp 0x1000a61d
cmp dword [ebp - 0x3eb0], 0
jle case.default.0x1000c40d
mov ebx, dword [ebp - 0x3ea4]
mov esi, dword [ebp - 0x3e88]
cmp ebx, 0x100
jae 0x1000c088
mov eax, dword [ebp - 0x3ec8]
mov al, byte [ebx + eax + 0x340]
mov ebx, dword [ebp - 0x3eac]
and al, byte [ebx + 0x1003da44]
cmp al, byte [ebx + 0x1003da54]
je 0x1000c088
jmp 0x1000a8bd
cmp dword [ebp - 0x3eb0], 0
jle case.default.0x1000c40d
mov ebx, dword [ebp - 0x3ea4]
cmp ebx, 0x100
jae case.0x1000c40d.10
mov eax, dword [ebp - 0x3ec8]
mov al, byte [ebx + eax + 0x340]
mov ebx, dword [ebp - 0x3eac]
and al, byte [ebx + 0x1003da44]
cmp al, byte [ebx + 0x1003da54]
je case.default.0x1000c40d
mov esi, dword [ebp - 0x3e88]
jmp 0x1000a8bd
mov eax, dword [ebp - 0x3ea0]
cmp eax, dword [ebp - 0x3ec4]
jbe 0x1000af3c
lea esi, [eax - 1]
mov eax, dword [ebp - 0x3e9c]
cmp esi, dword [eax + 0xc]
jae 0x1000ae0a
mov dword [eax + 0xc], esi
mov ecx, dword [ebp - 0x3ebc]
test ecx, ecx
je 0x1000ae2f
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x1000ae2f
nop dword [eax]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x1000ae20
movzx edx, byte [esi]
jmp 0x1000ae3a
movzx edx, byte [esi]
test ecx, ecx
je 0x1000af11
cmp edx, 0xc0
jb 0x1000af11
test dl, 0x20
jne 0x1000ae57
movzx eax, byte [esi + 1]
and edx, 0x1f
jmp 0x1000af09
test dl, 0x10
jne 0x1000ae74
movzx ecx, byte [esi + 1]
and edx, 0xf
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
jmp 0x1000af09
test dl, 8
jne 0x1000ae9a
movzx ecx, byte [esi + 1]
and edx, 7
movzx eax, byte [esi + 2]
and ecx, 0x3f
shl edx, 6
and eax, 0x3f
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x1000af09
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
and eax, 0x3f
movzx ebx, byte [esi + 3]
and ecx, 0x3f
mov dword [ebp - 0x3f14], eax
and ebx, 0x3f
movzx eax, byte [esi + 4]
and eax, 0x3f
mov dword [ebp - 0x3eb8], eax
mov eax, dword [ebp - 0x3f14]
test dl, 4
jne 0x1000aeea
and edx, 3
shl edx, 6
or edx, eax
shl edx, 6
or edx, ecx
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x3eb8]
jmp 0x1000af11
and edx, 1
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
or edx, ecx
shl edx, 6
or edx, ebx
shl edx, 6
or edx, dword [ebp - 0x3eb8]
and eax, 0x3f
shl edx, 6
or edx, eax
cmp edx, 0x100
jae 0x1000af36
mov eax, dword [ebp - 0x3ec8]
test byte [edx + eax + 0x340], 0x10
je 0x1000af36
mov edx, dword [ebp - 0x3e90]
mov eax, 1
jmp 0x1000af3e
mov edx, dword [ebp - 0x3e90]
xor eax, eax
cmp dword [ebp - 0x3eb0], 0
jle 0x1000af69
mov ebx, dword [ebp - 0x3ea4]
cmp ebx, 0x100
jae 0x1000af69
mov ecx, dword [ebp - 0x3ec8]
test byte [ebx + ecx + 0x340], 0x10
je 0x1000af69
xor ecx, ecx
jmp 0x1000af6e
mov ecx, 1
xor ecx, eax
xor eax, eax
cmp dword [ebp - 0x3eac], 4
sete al
cmp ecx, eax
mov ecx, dword [ebp - 0x3e8c]
jmp 0x1000a61d
mov eax, dword [ebp - 0x3eb4]
mov esi, dword [eax + 4]
mov dword [ebp - 0x3ea8], esi
test esi, esi
jle 0x1000afc6
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
add eax, 2
mov dword [edi + 4], 0
mov dword [edi], eax
add edi, 0xc
cmp dword [ebp - 0x3eb0], 0
jle case.default.0x1000c40d
cmp ebx, 0xc
jne 0x1000b030
mov edx, dword [ebp - 0x3e9c]
mov eax, dword [ebp - 0x3ea0]
inc eax
cmp eax, dword [edx + 8]
mov edx, dword [ebp - 0x3e90]
jb 0x1000b030
mov eax, dword [ebp - 0x3e9c]
test dword [eax + 0x18], 0x8000000
je 0x1000b030
cmp dword [eax + 0x20], 0
jne 0x1000b030
cmp dword [eax + 0x24], 2
jne 0x1000b030
movzx eax, byte [eax + 0x28]
cmp dword [ebp - 0x3ea4], eax
jne 0x1000b030
mov dword [ebp - 0x3eec], 1
mov dword [ebp - 0x3ed0], 1
jmp case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea4]
cmp eax, 0x100
jb 0x1000b05d
cmp ebx, 7
je case.default.0x1000c40d
cmp ebx, 9
je case.default.0x1000c40d
cmp ebx, 0xb
jne 0x1000b134
jmp case.default.0x1000c40d
cmp ebx, 0xc
jne 0x1000b115
mov ecx, dword [ebp - 0x3e9c]
mov esi, dword [ebp - 0x3e9c]
cmp dword [ecx + 0x20], 0
mov esi, dword [esi + 8]
mov ecx, dword [ebp - 0x3e8c]
je 0x1000b0c3
mov edx, dword [ebp - 0x3ea0]
cmp edx, esi
jae 0x1000b0b1
mov ecx, dword [ebp - 0x3e9c]
push dword [ebp - 0x3ebc]
lea eax, [ecx + 0x24]
push eax
push esi
push dword [ecx + 0x20]
push edx
call fcn.1001a160
add esp, 0x14
test eax, eax
je 0x1000b0b1
lea eax, [ebx - 0xb]
jmp 0x1000b0b3
xor eax, eax
mov edx, dword [ebp - 0x3e90]
test eax, eax
jne 0x1000c07c
jmp 0x1000b109
mov edx, dword [ebp - 0x3e9c]
sub esi, dword [edx + 0x24]
mov edx, dword [ebp - 0x3e90]
cmp dword [ebp - 0x3ea0], esi
ja 0x1000b10f
mov eax, dword [ebp - 0x3ea0]
mov esi, dword [ebp - 0x3e9c]
mov al, byte [eax]
cmp al, byte [esi + 0x28]
jne 0x1000b109
cmp dword [esi + 0x24], 1
je case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea0]
mov al, byte [eax + 1]
cmp al, byte [esi + 0x29]
je case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea4]
mov esi, dword [ebp - 0x3ea8]
mov ecx, dword [ebp - 0x3ec8]
mov al, byte [eax + ecx + 0x340]
and al, byte [ebx + 0x1003da44]
cmp al, byte [ebx + 0x1003da54]
je 0x1000c07c
mov ecx, dword [ebp - 0x3e8c]
test esi, esi
jle 0x1000b151
cmp dword [ebp - 0x3eac], 0x5f
jne 0x1000b151
dec ecx
sub edi, 0xc
mov dword [ebp - 0x3e8c], ecx
mov ebx, dword [ebp - 0x3e88]
mov eax, ebx
inc ebx
mov dword [ebp - 0x3e88], ebx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
mov dword [edx], eax
lea eax, [esi + 1]
mov dword [edx + 4], eax
add edx, 0xc
mov dword [ebp - 0x3e90], edx
jmp case.default.0x1000c40d
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov esi, dword [ebp - 0x3e98]
add esi, 2
mov dword [edi + 4], 0
mov dword [edi], esi
add edi, 0xc
cmp dword [ebp - 0x3eb0], 0
mov dword [ebp - 0x3ea8], esi
jle case.default.0x1000c40d
cmp ebx, 0xc
jne 0x1000b222
mov edx, dword [ebp - 0x3e9c]
mov eax, dword [ebp - 0x3ea0]
inc eax
cmp eax, dword [edx + 8]
mov edx, dword [ebp - 0x3e90]
jb 0x1000b222
mov eax, dword [ebp - 0x3e9c]
test dword [eax + 0x18], 0x8000000
je 0x1000b222
cmp dword [eax + 0x20], 0
jne 0x1000b222
cmp dword [eax + 0x24], 2
jne 0x1000b222
movzx eax, byte [eax + 0x28]
cmp dword [ebp - 0x3ea4], eax
jne 0x1000b222
mov dword [ebp - 0x3eec], 1
mov dword [ebp - 0x3ed0], 1
jmp case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea4]
cmp eax, 0x100
jb 0x1000b24f
cmp ebx, 7
je case.default.0x1000c40d
cmp ebx, 9
je case.default.0x1000c40d
cmp ebx, 0xb
jne 0x1000b32c
jmp case.default.0x1000c40d
cmp ebx, 0xc
jne 0x1000b307
mov ecx, dword [ebp - 0x3e9c]
mov esi, dword [ebp - 0x3e9c]
cmp dword [ecx + 0x20], 0
mov esi, dword [esi + 8]
mov ecx, dword [ebp - 0x3e8c]
je 0x1000b2b5
mov edx, dword [ebp - 0x3ea0]
cmp edx, esi
jae 0x1000b2a3
mov ecx, dword [ebp - 0x3e9c]
push dword [ebp - 0x3ebc]
lea eax, [ecx + 0x24]
push eax
push esi
push dword [ecx + 0x20]
push edx
call fcn.1001a160
add esp, 0x14
test eax, eax
je 0x1000b2a3
lea eax, [ebx - 0xb]
jmp 0x1000b2a5
xor eax, eax
mov ecx, dword [ebp - 0x3e8c]
test eax, eax
jne 0x1000a592
jmp 0x1000b2fb
mov edx, dword [ebp - 0x3e9c]
sub esi, dword [edx + 0x24]
mov edx, dword [ebp - 0x3e90]
cmp dword [ebp - 0x3ea0], esi
ja 0x1000b301
mov eax, dword [ebp - 0x3ea0]
mov esi, dword [ebp - 0x3e9c]
mov al, byte [eax]
cmp al, byte [esi + 0x28]
jne 0x1000b2fb
cmp dword [esi + 0x24], 1
je case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea0]
mov al, byte [eax + 1]
cmp al, byte [esi + 0x29]
je case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea4]
mov esi, dword [ebp - 0x3ea8]
mov edx, dword [ebp - 0x3ec8]
mov al, byte [eax + edx + 0x340]
and al, byte [ebx + 0x1003da44]
mov edx, dword [ebp - 0x3e90]
cmp al, byte [ebx + 0x1003da54]
je case.default.0x1000c40d
cmp dword [ebp - 0x3eac], 0x60
jne 0x1000b347
mov ecx, dword [ebp - 0x3f6c]
mov edi, dword [ebp - 0x3f70]
mov dword [ebp - 0x3e8c], ecx
mov ebx, dword [ebp - 0x3e88]
mov eax, ebx
inc ebx
mov dword [ebp - 0x3e88], ebx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov dword [edx], esi
mov dword [edx + 4], 0
add edx, 0xc
mov dword [ebp - 0x3e90], edx
jmp case.default.0x1000c40d
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov esi, dword [ebp - 0x3e98]
mov dword [edi + 4], 0
lea eax, [esi + 2]
mov dword [edi], eax
add edi, 0xc
cmp dword [ebp - 0x3eb0], 0
jle case.default.0x1000c40d
cmp ebx, 0xc
jne 0x1000b40d
mov edx, dword [ebp - 0x3e9c]
mov eax, dword [ebp - 0x3ea0]
inc eax
cmp eax, dword [edx + 8]
mov edx, dword [ebp - 0x3e90]
jb 0x1000b40d
mov eax, dword [ebp - 0x3e9c]
test dword [eax + 0x18], 0x8000000
je 0x1000b40d
cmp dword [eax + 0x20], 0
jne 0x1000b40d
cmp dword [eax + 0x24], 2
jne 0x1000b40d
movzx eax, byte [eax + 0x28]
cmp dword [ebp - 0x3ea4], eax
jne 0x1000b40d
mov dword [ebp - 0x3eec], 1
mov dword [ebp - 0x3ed0], 1
jmp case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea4]
cmp eax, 0x100
jb 0x1000b43a
cmp ebx, 7
je case.default.0x1000c40d
cmp ebx, 9
je case.default.0x1000c40d
cmp ebx, 0xb
jne 0x1000b517
jmp case.default.0x1000c40d
cmp ebx, 0xc
jne 0x1000b4f2
mov ecx, dword [ebp - 0x3e9c]
mov esi, dword [ebp - 0x3e9c]
cmp dword [ecx + 0x20], 0
mov esi, dword [esi + 8]
mov ecx, dword [ebp - 0x3e8c]
je 0x1000b4a0
mov edx, dword [ebp - 0x3ea0]
cmp edx, esi
jae 0x1000b48e
mov ecx, dword [ebp - 0x3e9c]
push dword [ebp - 0x3ebc]
lea eax, [ecx + 0x24]
push eax
push esi
push dword [ecx + 0x20]
push edx
call fcn.1001a160
add esp, 0x14
test eax, eax
je 0x1000b48e
lea eax, [ebx - 0xb]
jmp 0x1000b490
xor eax, eax
mov ecx, dword [ebp - 0x3e8c]
test eax, eax
jne 0x1000a592
jmp 0x1000b4e6
mov edx, dword [ebp - 0x3e9c]
sub esi, dword [edx + 0x24]
mov edx, dword [ebp - 0x3e90]
cmp dword [ebp - 0x3ea0], esi
ja 0x1000b4ec
mov eax, dword [ebp - 0x3ea0]
mov esi, dword [ebp - 0x3e9c]
mov al, byte [eax]
cmp al, byte [esi + 0x28]
jne 0x1000b4e6
cmp dword [esi + 0x24], 1
je case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea0]
mov al, byte [eax + 1]
cmp al, byte [esi + 0x29]
je case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea4]
mov esi, dword [ebp - 0x3e98]
mov edx, dword [ebp - 0x3ec8]
mov al, byte [eax + edx + 0x340]
and al, byte [ebx + 0x1003da44]
mov edx, dword [ebp - 0x3e90]
cmp al, byte [ebx + 0x1003da54]
je case.default.0x1000c40d
cmp dword [ebp - 0x3eac], 0x5e
jne 0x1000b532
mov ecx, dword [ebp - 0x3f74]
mov edi, dword [ebp - 0x3f08]
mov dword [ebp - 0x3e8c], ecx
mov ebx, dword [ebp - 0x3e88]
mov eax, ebx
inc ebx
mov dword [ebp - 0x3e88], ebx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov dword [edx], esi
mov dword [edx + 4], 0
add edx, 0xc
mov dword [ebp - 0x3e90], edx
jmp case.default.0x1000c40d
cmp dword [ebp - 0x3eb0], 0
mov eax, dword [ebp - 0x3eb4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x3ea8], eax
jle case.default.0x1000c40d
cmp ebx, 0xc
jne 0x1000b5dd
mov ecx, dword [ebp - 0x3e9c]
mov eax, dword [ebp - 0x3ea0]
inc eax
cmp eax, dword [ecx + 8]
mov ecx, dword [ebp - 0x3e8c]
jb 0x1000b5dd
mov eax, dword [ebp - 0x3e9c]
test dword [eax + 0x18], 0x8000000
je 0x1000b5dd
cmp dword [eax + 0x20], 0
jne 0x1000b5dd
cmp dword [eax + 0x24], 2
jne 0x1000b5dd
movzx eax, byte [eax + 0x28]
cmp dword [ebp - 0x3ea4], eax
jne 0x1000b5dd
mov dword [ebp - 0x3eec], 1
mov dword [ebp - 0x3ed0], 1
jmp case.default.0x1000c40d
cmp dword [ebp - 0x3ea4], 0x100
jb 0x1000b609
cmp ebx, 7
je case.default.0x1000c40d
cmp ebx, 9
je case.default.0x1000c40d
cmp ebx, 0xb
jne 0x1000b6f1
jmp case.default.0x1000c40d
cmp ebx, 0xc
jne 0x1000b6cc
mov eax, dword [ebp - 0x3e9c]
mov edx, dword [ebp - 0x3e9c]
mov eax, dword [eax + 8]
cmp dword [edx + 0x20], 0
mov dword [ebp - 0x3f08], eax
je 0x1000b674
mov edx, dword [ebp - 0x3ea0]
cmp edx, eax
jae 0x1000b662
mov ecx, dword [ebp - 0x3e9c]
push dword [ebp - 0x3ebc]
lea eax, [ecx + 0x24]
push eax
push dword [ebp - 0x3f08]
push dword [ecx + 0x20]
push edx
call fcn.1001a160
add esp, 0x14
test eax, eax
je 0x1000b662
lea eax, [ebx - 0xb]
jmp 0x1000b664
xor eax, eax
mov edx, dword [ebp - 0x3e90]
test eax, eax
jne 0x1000c07c
jmp 0x1000b6cc
sub eax, dword [edx + 0x24]
mov edx, dword [ebp - 0x3e90]
cmp dword [ebp - 0x3ea0], eax
ja 0x1000b6cc
mov eax, dword [ebp - 0x3ea0]
mov edx, dword [ebp - 0x3e9c]
mov al, byte [eax]
cmp al, byte [edx + 0x28]
mov edx, dword [ebp - 0x3e90]
jne 0x1000b6cc
mov eax, dword [ebp - 0x3e9c]
cmp dword [eax + 0x24], 1
je case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea0]
mov edx, dword [ebp - 0x3e9c]
mov al, byte [eax + 1]
cmp al, byte [edx + 0x29]
mov edx, dword [ebp - 0x3e90]
je case.default.0x1000c40d
mov ecx, dword [ebp - 0x3ea4]
mov eax, dword [ebp - 0x3ec8]
mov al, byte [ecx + eax + 0x340]
and al, byte [ebx + 0x1003da44]
cmp al, byte [ebx + 0x1003da54]
je 0x1000c07c
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
inc dword [ebp - 0x3ea8]
mov ebx, dword [ebp - 0x3e88]
mov esi, dword [ebp - 0x3ea8]
inc ebx
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x3e88]
cmp esi, ecx
jl 0x1000b73d
mov esi, ebx
mov dword [ebp - 0x3e88], esi
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
add eax, 4
jmp 0x1000a88d
mov dword [ebp - 0x3e88], ebx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
mov dword [edx], eax
mov dword [edx + 4], esi
jmp 0x1000c073
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
add eax, 4
mov dword [edi + 4], 0
mov dword [edi], eax
add edi, 0xc
cmp dword [ebp - 0x3eb0], 0
mov eax, dword [ebp - 0x3eb4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x3ea8], eax
jle case.default.0x1000c40d
cmp ebx, 0xc
jne 0x1000b802
mov edx, dword [ebp - 0x3e9c]
mov eax, dword [ebp - 0x3ea0]
inc eax
cmp eax, dword [edx + 8]
mov edx, dword [ebp - 0x3e90]
jb 0x1000b802
mov eax, dword [ebp - 0x3e9c]
test dword [eax + 0x18], 0x8000000
je 0x1000b802
cmp dword [eax + 0x20], 0
jne 0x1000b802
cmp dword [eax + 0x24], 2
jne 0x1000b802
movzx eax, byte [eax + 0x28]
cmp dword [ebp - 0x3ea4], eax
jne 0x1000b802
mov dword [ebp - 0x3eec], 1
mov dword [ebp - 0x3ed0], 1
jmp case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea4]
cmp eax, 0x100
jb 0x1000b82f
cmp ebx, 7
je case.default.0x1000c40d
cmp ebx, 9
je case.default.0x1000c40d
cmp ebx, 0xb
jne 0x1000b91d
jmp case.default.0x1000c40d
cmp ebx, 0xc
jne 0x1000b8f8
mov ecx, dword [ebp - 0x3e9c]
mov eax, dword [ebp - 0x3e9c]
cmp dword [ecx + 0x20], 0
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x3e8c]
mov dword [ebp - 0x3f08], eax
je 0x1000b8a0
mov edx, dword [ebp - 0x3ea0]
cmp edx, eax
jae 0x1000b88e
mov ecx, dword [ebp - 0x3e9c]
push dword [ebp - 0x3ebc]
lea eax, [ecx + 0x24]
push eax
push dword [ebp - 0x3f08]
push dword [ecx + 0x20]
push edx
call fcn.1001a160
add esp, 0x14
test eax, eax
je 0x1000b88e
lea eax, [ebx - 0xb]
jmp 0x1000b890
xor eax, eax
mov ecx, dword [ebp - 0x3e8c]
test eax, eax
jne 0x1000a592
jmp 0x1000b8f2
mov edx, dword [ebp - 0x3e9c]
sub eax, dword [edx + 0x24]
cmp dword [ebp - 0x3ea0], eax
ja 0x1000b8f2
mov eax, dword [ebp - 0x3ea0]
mov al, byte [eax]
cmp al, byte [edx + 0x28]
mov edx, dword [ebp - 0x3e90]
jne 0x1000b8f2
mov eax, dword [ebp - 0x3e9c]
cmp dword [eax + 0x24], 1
je case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea0]
mov edx, dword [ebp - 0x3e9c]
mov al, byte [eax + 1]
cmp al, byte [edx + 0x29]
mov edx, dword [ebp - 0x3e90]
je case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea4]
mov edx, dword [ebp - 0x3ec8]
mov al, byte [eax + edx + 0x340]
and al, byte [ebx + 0x1003da44]
mov edx, dword [ebp - 0x3e90]
cmp al, byte [ebx + 0x1003da54]
je case.default.0x1000c40d
cmp dword [ebp - 0x3eac], 0x61
jne 0x1000b938
mov ebx, dword [ebp - 0x3f78]
mov edi, dword [ebp - 0x3f0c]
mov dword [ebp - 0x3e8c], ebx
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
inc dword [ebp - 0x3ea8]
mov ebx, dword [ebp - 0x3e88]
mov esi, dword [ebp - 0x3ea8]
inc ebx
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x3e88]
cmp esi, ecx
jl 0x1000b73d
mov esi, ebx
mov dword [ebp - 0x3e88], esi
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
add eax, 4
jmp 0x1000a88d
mov eax, dword [ebp - 0x3eb4]
mov esi, dword [eax + 4]
test esi, esi
jle 0x1000b9bf
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
add eax, 2
mov dword [edi + 4], 0
mov dword [edi], eax
add edi, 0xc
cmp dword [ebp - 0x3eb0], 0
jle case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea4]
xor ebx, ebx
cmp eax, 0x85
ja 0x1000ba0b
je case.0x1000b9e9.11
add eax, 0xfffffff6
cmp eax, 3
ja case.default.0x1000c40d
jmp dword [eax*4 + 0x1000de2c]
mov eax, dword [ebp - 0x3ea0]
inc eax
cmp eax, dword [ebp - 0x3ee0]
jae case.0x1000b9e9.10
cmp byte [eax], 0xa
jne case.0x1000b9e9.10
mov ebx, 1
jmp case.0x1000b9e9.10
sub eax, 0x2028
je case.0x1000b9e9.11
sub eax, 1
jne case.default.0x1000c40d
mov eax, dword [ebp - 0x3e9c]
test dword [eax + 0x18], 0x800000
jne case.default.0x1000c40d
test esi, esi
jle 0x1000ba48
cmp dword [ebp - 0x3eac], 0x1b3
jne 0x1000ba48
dec ecx
sub edi, 0xc
mov dword [ebp - 0x3e8c], ecx
mov eax, dword [ebp - 0x3e88]
inc dword [ebp - 0x3e88]
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
neg eax
mov dword [edx + 8], ebx
mov dword [edx], eax
lea eax, [esi + 1]
mov dword [edx + 4], eax
add edx, 0xc
mov dword [ebp - 0x3e90], edx
jmp case.default.0x1000c40d
mov eax, dword [ebp - 0x3eb4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x3f0c], eax
test eax, eax
jle 0x1000babe
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
add eax, 2
mov dword [edi + 4], 0
mov dword [edi], eax
add edi, 0xc
cmp dword [ebp - 0x3eb0], 0
jle case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea4]
cmp eax, 0x85
ja 0x1000bae9
je case.0x1000bae2.10
add eax, 0xfffffff6
cmp eax, 3
ja case.default.0x1000bae2
jmp dword [eax*4 + 0x1000de3c]
sub eax, 0x2028
je case.0x1000bae2.10
sub eax, 1
je case.0x1000bae2.10
xor esi, esi
jmp 0x1000bafe
mov esi, 1
xor eax, eax
cmp ebx, 0x15
sete al
cmp esi, eax
jne case.default.0x1000c40d
mov esi, dword [ebp - 0x3f0c]
test esi, esi
jle 0x1000bb2e
cmp dword [ebp - 0x3eac], 0x1db
jne 0x1000bb2e
dec ecx
sub edi, 0xc
mov dword [ebp - 0x3e8c], ecx
mov ebx, dword [ebp - 0x3e88]
mov eax, ebx
inc ebx
mov dword [ebp - 0x3e88], ebx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
neg eax
mov dword [edx], eax
lea eax, [esi + 1]
mov dword [edx + 4], eax
mov dword [edx + 8], 0
add edx, 0xc
mov dword [ebp - 0x3e90], edx
jmp case.default.0x1000c40d
mov eax, dword [ebp - 0x3eb4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x3f0c], eax
test eax, eax
jle 0x1000bbab
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
add eax, 2
mov dword [edi + 4], 0
mov dword [edi], eax
add edi, 0xc
cmp dword [ebp - 0x3eb0], 0
jle case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea4]
cmp eax, 0x2000
ja 0x1000bc17
je case.0x1000bc31.8193
cmp eax, 0xa0
ja 0x1000bc09
je case.0x1000bc31.8193
cmp eax, 9
je case.0x1000bc31.8193
cmp eax, 0x20
je case.0x1000bc31.8193
xor esi, esi
xor eax, eax
cmp ebx, 0x13
sete al
cmp esi, eax
jne case.default.0x1000c40d
mov esi, dword [ebp - 0x3f0c]
test esi, esi
jle 0x1000bb2e
cmp dword [ebp - 0x3eac], 0x1c7
jmp 0x1000bb22
cmp eax, 0x1680
je case.0x1000bc31.8193
cmp eax, 0x180e
jmp 0x1000bbd8
cmp eax, 0x3000
ja case.0x1000bc31.8203
je case.0x1000bc31.8193
add eax, 0xffffdfff
cmp eax, 0x5e
ja case.0x1000bc31.8203
movzx eax, byte [eax + 0x1000de54]
jmp dword [eax*4 + 0x1000de4c]
mov esi, 1
jmp 0x1000bbdc
mov ebx, 2
jmp 0x1000bc48
xor ebx, ebx
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
add eax, 2
mov dword [edi + 4], 0
mov dword [edi], eax
add edi, 0xc
cmp dword [ebp - 0x3eb0], 0
jle case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea4]
xor esi, esi
cmp eax, 0x85
ja 0x1000bcbe
je case.0x1000bc9c.11
add eax, 0xfffffff6
cmp eax, 3
ja case.default.0x1000c40d
jmp dword [eax*4 + 0x1000deb4]
mov eax, dword [ebp - 0x3ea0]
inc eax
cmp eax, dword [ebp - 0x3ee0]
jae case.0x1000bc9c.10
cmp byte [eax], 0xa
jne case.0x1000bc9c.10
mov esi, 1
jmp case.0x1000bc9c.10
sub eax, 0x2028
je case.0x1000bc9c.11
sub eax, 1
jne case.default.0x1000c40d
mov eax, dword [ebp - 0x3e9c]
test dword [eax + 0x18], 0x800000
jne case.default.0x1000c40d
mov eax, dword [ebp - 0x3eac]
cmp eax, 0x1b2
je 0x1000bcf5
cmp eax, 0x1b4
jne 0x1000bd07
mov ecx, dword [ebp - 0x3fb0]
mov edi, dword [ebp - 0x3fac]
mov dword [ebp - 0x3e8c], ecx
mov eax, dword [ebp - 0x3e88]
inc dword [ebp - 0x3e88]
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
add eax, ebx
mov dword [edx + 4], 0
neg eax
mov dword [edx + 8], esi
mov dword [edx], eax
add edx, 0xc
mov dword [ebp - 0x3e90], edx
jmp case.default.0x1000c40d
mov dword [ebp - 0x3eb8], 2
jmp 0x1000bd59
mov dword [ebp - 0x3eb8], 0
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
add eax, 2
mov dword [edi + 4], 0
mov dword [edi], eax
add edi, 0xc
cmp dword [ebp - 0x3eb0], 0
jle case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea4]
cmp eax, 0x85
ja 0x1000bdae
je case.0x1000bda7.10
add eax, 0xfffffff6
cmp eax, 3
ja case.default.0x1000bda7
jmp dword [eax*4 + 0x1000dec4]
sub eax, 0x2028
je case.0x1000bda7.10
sub eax, 1
je case.0x1000bda7.10
xor esi, esi
jmp 0x1000bdc3
mov esi, 1
xor eax, eax
cmp ebx, 0x15
sete al
cmp esi, eax
jne case.default.0x1000c40d
mov eax, dword [ebp - 0x3eac]
cmp eax, 0x1da
je 0x1000bde7
cmp eax, 0x1dc
jne 0x1000bdf9
mov ecx, dword [ebp - 0x3fa8]
mov edi, dword [ebp - 0x3f9c]
mov dword [ebp - 0x3e8c], ecx
mov esi, dword [ebp - 0x3e88]
mov eax, esi
inc esi
mov dword [ebp - 0x3e88], esi
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3eb8]
add eax, dword [ebp - 0x3e98]
neg eax
mov dword [edx], eax
mov dword [edx + 4], 0
mov dword [edx + 8], 0
add edx, 0xc
mov dword [ebp - 0x3e90], edx
jmp 0x1000c088
mov dword [ebp - 0x3eb8], 2
jmp 0x1000be56
mov dword [ebp - 0x3eb8], 0
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
add eax, 2
mov dword [edi + 4], 0
mov dword [edi], eax
add edi, 0xc
cmp dword [ebp - 0x3eb0], 0
jle case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea4]
cmp eax, 0x2000
ja 0x1000bef8
je case.0x1000bf12.8193
cmp eax, 0xa0
ja 0x1000beea
je case.0x1000bf12.8193
cmp eax, 9
je case.0x1000bf12.8193
cmp eax, 0x20
je case.0x1000bf12.8193
xor esi, esi
xor eax, eax
cmp ebx, 0x13
sete al
cmp esi, eax
jne case.default.0x1000c40d
mov eax, dword [ebp - 0x3eac]
cmp eax, 0x1c6
je 0x1000bed9
cmp eax, 0x1c8
jne 0x1000bdf9
mov ecx, dword [ebp - 0x3f98]
mov edi, dword [ebp - 0x3f04]
jmp 0x1000bdf3
cmp eax, 0x1680
je case.0x1000bf12.8193
cmp eax, 0x180e
jmp 0x1000bead
cmp eax, 0x3000
ja case.0x1000bf12.8203
je case.0x1000bf12.8193
add eax, 0xffffdfff
cmp eax, 0x5e
ja case.0x1000bf12.8203
movzx eax, byte [eax + 0x1000dedc]
jmp dword [eax*4 + 0x1000ded4]
mov esi, 1
jmp 0x1000beb1
cmp dword [ebp - 0x3eac], 0x1b1
je 0x1000bf56
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
add eax, 4
mov dword [edi + 4], 0
mov dword [edi], eax
add edi, 0xc
cmp dword [ebp - 0x3eb0], 0
mov eax, dword [ebp - 0x3eb4]
mov ebx, dword [eax + 4]
jle case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea4]
mov dword [ebp - 0x3ea8], 0
cmp eax, 0x85
ja 0x1000bfb8
je case.0x1000bf91.11
add eax, 0xfffffff6
cmp eax, 3
ja case.default.0x1000c40d
jmp dword [eax*4 + 0x1000df3c]
mov eax, dword [ebp - 0x3ea0]
inc eax
cmp eax, dword [ebp - 0x3ee0]
jae case.0x1000bf91.10
cmp byte [eax], 0xa
jne case.0x1000bf91.10
mov dword [ebp - 0x3ea8], 1
jmp case.0x1000bf91.10
sub eax, 0x2028
je case.0x1000bf91.11
sub eax, 1
jne case.default.0x1000c40d
mov eax, dword [ebp - 0x3e9c]
test dword [eax + 0x18], 0x800000
jne case.default.0x1000c40d
cmp dword [ebp - 0x3eac], 0x1b5
jne 0x1000bff1
dec ecx
sub edi, 0xc
mov dword [ebp - 0x3e8c], ecx
movzx ecx, byte [esi + 1]
inc ebx
movzx eax, byte [esi + 2]
mov dword [ebp - 0x3f04], ebx
mov ebx, dword [ebp - 0x3e88]
mov esi, dword [ebp - 0x3f04]
inc ebx
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x3e88]
cmp esi, ecx
jl 0x1000c04b
mov esi, ebx
mov dword [ebp - 0x3e88], esi
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, 0xfffffffc
sub eax, dword [ebp - 0x3e98]
mov dword [edx], eax
mov eax, dword [ebp - 0x3ea8]
mov dword [edx + 8], eax
jmp 0x1000a88f
mov dword [ebp - 0x3e88], ebx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
neg eax
mov dword [edx + 4], esi
mov dword [edx], eax
mov eax, dword [ebp - 0x3ea8]
mov dword [edx + 8], eax
add edx, 0xc
mov dword [ebp - 0x3e90], edx
mov ecx, dword [ebp - 0x3e8c]
mov esi, dword [ebp - 0x3e88]
mov eax, dword [ebp - 0x3ee4]
inc eax
mov dword [ebp - 0x3ee4], eax
cmp eax, ecx
jl 0x10009ed0
test esi, esi
jle 0x1000da92
mov eax, dword [ebp - 0x3eb0]
add dword [ebp - 0x3ea0], eax
mov ebx, dword [ebp - 0x3ee8]
mov edi, dword [ebp - 0x3efc]
jmp 0x10009b94
cmp dword [ebp - 0x3eac], 0x1d9
je 0x1000c0f8
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
add eax, 4
mov dword [edi + 4], 0
mov dword [edi], eax
add edi, 0xc
cmp dword [ebp - 0x3eb0], 0
mov eax, dword [ebp - 0x3eb4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x3ea8], eax
jle case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea4]
cmp eax, 0x85
ja 0x1000c132
je case.0x1000c12b.10
add eax, 0xfffffff6
cmp eax, 3
ja case.default.0x1000c12b
jmp dword [eax*4 + 0x1000df4c]
sub eax, 0x2028
je case.0x1000c12b.10
sub eax, 1
je case.0x1000c12b.10
mov dword [ebp - 0x3eb8], 0
jmp 0x1000c154
mov dword [ebp - 0x3eb8], 1
xor eax, eax
cmp ebx, 0x15
sete al
cmp dword [ebp - 0x3eb8], eax
jne case.default.0x1000c40d
cmp dword [ebp - 0x3eac], 0x1dd
jne 0x1000c17e
dec ecx
sub edi, 0xc
mov dword [ebp - 0x3e8c], ecx
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
inc dword [ebp - 0x3ea8]
mov ebx, dword [ebp - 0x3e88]
mov esi, dword [ebp - 0x3ea8]
inc ebx
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x3e88]
cmp esi, ecx
jl 0x1000c1eb
mov esi, ebx
mov dword [ebp - 0x3e88], esi
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov ecx, dword [ebp - 0x3e8c]
mov eax, 0xfffffffc
sub eax, dword [ebp - 0x3e98]
mov dword [edx], eax
mov dword [edx + 4], 0
mov dword [edx + 8], 0
add edx, 0xc
mov dword [ebp - 0x3e90], edx
jmp 0x1000c088
mov dword [ebp - 0x3e88], ebx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
neg eax
mov dword [edx], eax
mov dword [edx + 4], esi
mov dword [edx + 8], 0
jmp 0x1000c073
cmp dword [ebp - 0x3eac], 0x1c5
je 0x1000c24c
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
add eax, 4
mov dword [edi + 4], 0
mov dword [edi], eax
add edi, 0xc
cmp dword [ebp - 0x3eb0], 0
mov eax, dword [ebp - 0x3eb4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x3ea8], eax
jle case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea4]
cmp eax, 0x2000
ja 0x1000c2c5
je case.0x1000c2df.8193
cmp eax, 0xa0
ja 0x1000c2b7
je case.0x1000c2df.8193
cmp eax, 9
je case.0x1000c2df.8193
cmp eax, 0x20
je case.0x1000c2df.8193
mov dword [ebp - 0x3eb8], 0
xor eax, eax
cmp ebx, 0x13
sete al
cmp dword [ebp - 0x3eb8], eax
jne case.default.0x1000c40d
cmp dword [ebp - 0x3eac], 0x1c9
jmp 0x1000c172
cmp eax, 0x1680
je case.0x1000c2df.8193
cmp eax, 0x180e
jmp 0x1000c288
cmp eax, 0x3000
ja case.0x1000c2df.8203
je case.0x1000c2df.8193
add eax, 0xffffdfff
cmp eax, 0x5e
ja case.0x1000c2df.8203
movzx eax, byte [eax + 0x1000df64]
jmp dword [eax*4 + 0x1000df5c]
mov dword [ebp - 0x3eb8], 1
jmp 0x1000c294
cmp dword [ebp - 0x3eb0], 0
jle case.default.0x1000c40d
cmp dword [ebp - 0x3ea4], ebx
jne case.default.0x1000c40d
mov ebx, dword [ebp - 0x3e88]
mov eax, ebx
inc ebx
mov dword [ebp - 0x3e88], ebx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov esi, dword [ebp - 0x3ec0]
mov eax, dword [ebp - 0x3e98]
inc esi
add eax, esi
mov dword [edx], eax
mov dword [edx + 4], 0
add edx, 0xc
mov dword [ebp - 0x3e90], edx
jmp case.default.0x1000c40d
cmp dword [ebp - 0x3eb0], 0
je case.default.0x1000c40d
cmp dword [ebp - 0x3ebc], 0
mov eax, dword [ebp - 0x3ea4]
je 0x1000c38f
cmp eax, ebx
je 0x1000c30b
cmp eax, 0x80
jae 0x1000c385
mov esi, dword [ebp - 0x3ec8]
movzx eax, byte [eax + esi + 0x100]
cmp ebx, eax
jmp 0x1000c305
or eax, 0xffffffff
cmp ebx, eax
jmp 0x1000c305
mov esi, dword [ebp - 0x3ec8]
mov al, byte [eax + esi]
cmp al, byte [ebx + esi]
mov esi, dword [ebp - 0x3e88]
jne 0x1000c088
mov eax, esi
inc esi
mov dword [ebp - 0x3e88], esi
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
add eax, 2
mov dword [edx], eax
mov dword [edx + 4], 0
add edx, 0xc
mov dword [ebp - 0x3e90], edx
jmp 0x1000c088
cmp dword [ebp - 0x3eb0], 0
jle case.default.0x1000c40d
mov ebx, dword [ebp - 0x3ea4]
cmp ebx, 0x85
ja 0x1000c4bd
je case.0x1000c40d.11
lea eax, [ebx - 0xa]
cmp eax, 3
ja case.default.0x1000c40d
jmp dword [eax*4 + 0x1000dfc4]
mov eax, dword [ebp - 0x3ea0]
mov esi, dword [ebp - 0x3e88]
inc eax
cmp eax, dword [ebp - 0x3ee0]
jb 0x1000c479
mov eax, esi
inc esi
mov dword [ebp - 0x3e88], esi
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
inc eax
mov dword [edx + 4], 0
mov dword [edx], eax
add edx, 0xc
mov eax, dword [ebp - 0x3e9c]
mov dword [ebp - 0x3e90], edx
test dword [eax + 0x18], 0x8000000
je 0x1000c088
mov dword [ebp - 0x3ef4], 1
jmp 0x1000c088
cmp byte [eax], 0xa
mov eax, esi
jne 0x1000a8bf
inc esi
mov dword [ebp - 0x3e88], esi
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
mov dword [edx + 8], 1
not eax
mov dword [edx], eax
mov dword [edx + 4], 0
add edx, 0xc
mov dword [ebp - 0x3e90], edx
jmp 0x1000c088
mov eax, ebx
sub eax, 0x2028
je case.0x1000c40d.11
sub eax, 1
jne case.default.0x1000c40d
mov eax, dword [ebp - 0x3e9c]
test dword [eax + 0x18], 0x800000
jne case.default.0x1000c40d
mov esi, dword [ebp - 0x3e88]
jmp 0x1000a8bd
cmp dword [ebp - 0x3eb0], 0
jle case.default.0x1000c40d
mov ebx, dword [ebp - 0x3ea4]
cmp ebx, 0x85
ja 0x1000c521
je case.default.0x1000c40d
lea eax, [ebx - 0xa]
cmp eax, 3
ja case.0x1000c40d.10
jmp dword [eax*4 + 0x1000dfd4]
mov eax, ebx
sub eax, 0x2028
je case.default.0x1000c40d
sub eax, 1
je case.default.0x1000c40d
mov esi, dword [ebp - 0x3e88]
jmp 0x1000a8bd
cmp dword [ebp - 0x3eb0], 0
jle case.default.0x1000c40d
mov ebx, dword [ebp - 0x3ea4]
cmp ebx, 0x85
ja 0x1000c576
je case.0x1000c40d.10
lea eax, [ebx - 0xa]
cmp eax, 3
ja case.default.0x1000c40d
jmp dword [eax*4 + 0x1000dfe4]
mov eax, ebx
sub eax, 0x2028
je case.0x1000c40d.10
sub eax, 1
jne case.default.0x1000c40d
mov esi, dword [ebp - 0x3e88]
jmp 0x1000a8bd
cmp dword [ebp - 0x3eb0], 0
jle case.default.0x1000c40d
mov ebx, dword [ebp - 0x3ea4]
cmp ebx, 0x2000
ja 0x1000c5ee
je case.default.0x1000c40d
cmp ebx, 0xa0
ja 0x1000c5d7
je case.default.0x1000c40d
cmp ebx, 9
je case.default.0x1000c40d
cmp ebx, 0x20
jmp 0x1000add6
cmp ebx, 0x1680
je case.default.0x1000c40d
cmp ebx, 0x180e
jmp 0x1000add6
cmp ebx, 0x3000
ja case.0x1000c40d.10
je case.default.0x1000c40d
lea eax, [ebx - 0x2001]
cmp eax, 0x5e
ja case.0x1000c40d.10
movzx eax, byte [eax + 0x1000dffc]
jmp dword [eax*4 + 0x1000dff4]
cmp dword [ebp - 0x3eb0], 0
jle case.default.0x1000c40d
mov ebx, dword [ebp - 0x3ea4]
cmp ebx, 0x2000
ja 0x1000c680
je case.0x1000c40d.10
cmp ebx, 0xa0
ja 0x1000c663
je case.0x1000c40d.10
cmp ebx, 9
je case.0x1000c40d.10
cmp ebx, 0x20
je case.0x1000c40d.10
jmp case.default.0x1000c40d
cmp ebx, 0x1680
je case.0x1000c40d.10
cmp ebx, 0x180e
je case.0x1000c40d.10
jmp case.default.0x1000c40d
cmp ebx, 0x3000
ja case.default.0x1000c40d
je case.0x1000c40d.10
lea eax, [ebx - 0x2001]
cmp eax, 0x5e
ja case.default.0x1000c40d
movzx eax, byte [eax + 0x1000e064]
jmp dword [eax*4 + 0x1000e05c]
cmp dword [ebp - 0x3eb0], 0
jle case.default.0x1000c40d
cmp dword [ebp - 0x3ea4], ebx
je case.default.0x1000c40d
jmp 0x1000c30b
cmp dword [ebp - 0x3eb0], 0
jle case.default.0x1000c40d
cmp dword [ebp - 0x3ebc], 0
je 0x1000c6ef
cmp ebx, 0x80
jb 0x1000c6ef
mov eax, ebx
jmp 0x1000c6fd
mov eax, dword [ebp - 0x3ec8]
movzx eax, byte [ebx + eax + 0x100]
mov esi, dword [ebp - 0x3ea4]
cmp esi, ebx
je case.default.0x1000c40d
cmp esi, eax
je case.default.0x1000c40d
jmp 0x1000c30b
sub dword [ebp - 0x3eac], 0xd
mov dword [ebp - 0x3ea8], 1
mov eax, dword [ebp - 0x3eb4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x3f04], eax
test eax, eax
jle 0x1000c76a
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
inc eax
mov dword [edi + 4], 0
add eax, dword [ebp - 0x3ec0]
mov dword [edi], eax
add edi, 0xc
cmp dword [ebp - 0x3eb0], 0
jle case.default.0x1000c40d
or eax, 0xffffffff
cmp dword [ebp - 0x3ea8], 0
je 0x1000c7a2
cmp dword [ebp - 0x3ebc], 0
je 0x1000c794
cmp ebx, 0x80
jae 0x1000c7a2
mov eax, dword [ebp - 0x3ec8]
movzx eax, byte [ebx + eax + 0x100]
mov esi, dword [ebp - 0x3ea4]
cmp esi, ebx
je 0x1000c7b4
cmp esi, eax
je 0x1000c7b4
xor esi, esi
jmp 0x1000c7b9
mov esi, 1
mov ebx, dword [ebp - 0x3eac]
xor eax, eax
cmp ebx, 0x3b
setl al
cmp esi, eax
jne case.default.0x1000c40d
mov esi, dword [ebp - 0x3f04]
test esi, esi
jle 0x1000b151
cmp ebx, 0x2b
je 0x1000b147
cmp ebx, 0x45
jmp 0x1000b145
sub dword [ebp - 0x3eac], 0xd
mov esi, 1
jmp 0x1000c802
mov esi, dword [ebp - 0x3ea8]
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov edx, dword [ebp - 0x3e98]
mov eax, dword [ebp - 0x3ec0]
inc edx
add eax, edx
mov dword [edi + 4], 0
mov edx, dword [ebp - 0x3e90]
mov dword [edi], eax
add edi, 0xc
cmp dword [ebp - 0x3eb0], 0
jle case.default.0x1000c40d
or eax, 0xffffffff
test esi, esi
je 0x1000c86b
cmp dword [ebp - 0x3ebc], 0
je 0x1000c85d
cmp ebx, 0x80
jae 0x1000c86b
mov eax, dword [ebp - 0x3ec8]
movzx eax, byte [ebx + eax + 0x100]
mov esi, dword [ebp - 0x3ea4]
cmp esi, ebx
je 0x1000c87d
cmp esi, eax
je 0x1000c87d
xor esi, esi
jmp 0x1000c882
mov esi, 1
mov ebx, dword [ebp - 0x3eac]
xor eax, eax
cmp ebx, 0x3b
setl al
cmp esi, eax
jne case.default.0x1000c40d
cmp ebx, 0x2c
je 0x1000c8a2
cmp ebx, 0x46
jne 0x1000c8b4
mov ecx, dword [ebp - 0x3f90]
mov edi, dword [ebp - 0x3f7c]
mov dword [ebp - 0x3e8c], ecx
mov ebx, dword [ebp - 0x3e88]
mov eax, ebx
inc ebx
mov dword [ebp - 0x3e88], ebx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov esi, dword [ebp - 0x3ec0]
mov eax, dword [ebp - 0x3e98]
inc esi
add eax, esi
mov dword [edx + 4], 0
mov dword [edx], eax
add edx, 0xc
mov dword [ebp - 0x3e90], edx
jmp case.default.0x1000c40d
sub dword [ebp - 0x3eac], 0xd
mov esi, 1
jmp 0x1000c909
mov esi, dword [ebp - 0x3ea8]
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov edx, dword [ebp - 0x3e98]
mov eax, dword [ebp - 0x3ec0]
inc edx
add eax, edx
mov dword [edi + 4], 0
mov edx, dword [ebp - 0x3e90]
mov dword [edi], eax
add edi, 0xc
cmp dword [ebp - 0x3eb0], 0
jle case.default.0x1000c40d
or eax, 0xffffffff
test esi, esi
je 0x1000c972
cmp dword [ebp - 0x3ebc], 0
je 0x1000c964
cmp ebx, 0x80
jae 0x1000c972
mov eax, dword [ebp - 0x3ec8]
movzx eax, byte [ebx + eax + 0x100]
mov esi, dword [ebp - 0x3ea4]
cmp esi, ebx
je 0x1000c984
cmp esi, eax
je 0x1000c984
xor esi, esi
jmp 0x1000c989
mov esi, 1
mov ebx, dword [ebp - 0x3eac]
xor eax, eax
cmp ebx, 0x3b
setl al
cmp esi, eax
jne case.default.0x1000c40d
cmp ebx, 0x2a
je 0x1000c9a9
cmp ebx, 0x44
jne 0x1000c9bb
mov ecx, dword [ebp - 0x3fb4]
mov edi, dword [ebp - 0x3f1c]
mov dword [ebp - 0x3e8c], ecx
mov esi, dword [ebp - 0x3e88]
mov eax, esi
inc esi
mov dword [ebp - 0x3e88], esi
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
mov dword [edx], eax
mov dword [edx + 4], 0
add edx, 0xc
mov dword [ebp - 0x3e90], edx
jmp 0x1000c088
sub dword [ebp - 0x3eac], 0xd
mov dword [ebp - 0x3ea8], 1
cmp dword [ebp - 0x3eb0], 0
mov eax, dword [ebp - 0x3eb4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x3f1c], eax
jle case.default.0x1000c40d
or eax, 0xffffffff
cmp dword [ebp - 0x3ea8], 0
je 0x1000ca4b
cmp dword [ebp - 0x3ebc], 0
je 0x1000ca3d
cmp ebx, 0x80
jae 0x1000ca4b
mov eax, dword [ebp - 0x3ec8]
movzx eax, byte [ebx + eax + 0x100]
cmp dword [ebp - 0x3ea4], ebx
je 0x1000ca5f
cmp dword [ebp - 0x3ea4], eax
je 0x1000ca5f
xor ebx, ebx
jmp 0x1000ca64
mov ebx, 1
xor eax, eax
cmp dword [ebp - 0x3eac], 0x3b
setl al
cmp ebx, eax
jne case.default.0x1000c40d
mov eax, dword [ebp - 0x3e88]
movzx ecx, byte [esi + 1]
inc eax
mov ebx, dword [ebp - 0x3f1c]
mov dword [ebp - 0x3eb8], eax
inc ebx
movzx eax, byte [esi + 2]
mov esi, dword [ebp - 0x3eb8]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x3e88]
mov dword [ebp - 0x3e88], esi
cmp ebx, ecx
jl 0x1000cad1
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov ecx, dword [ebp - 0x3e98]
mov eax, dword [ebp - 0x3ec0]
add ecx, 3
add eax, ecx
jmp 0x1000a88d
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
mov ecx, dword [ebp - 0x3e8c]
mov dword [edx], eax
mov dword [edx + 4], ebx
add edx, 0xc
mov dword [ebp - 0x3e90], edx
jmp 0x1000c088
sub dword [ebp - 0x3eac], 0xd
mov dword [ebp - 0x3ea8], 1
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov edx, dword [ebp - 0x3e98]
mov eax, dword [ebp - 0x3ec0]
add edx, 3
add eax, edx
mov dword [edi + 4], 0
mov edx, dword [ebp - 0x3e90]
mov dword [edi], eax
add edi, 0xc
cmp dword [ebp - 0x3eb0], 0
mov eax, dword [ebp - 0x3eb4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x3eb4], eax
jle case.default.0x1000c40d
or eax, 0xffffffff
cmp dword [ebp - 0x3ea8], 0
je 0x1000cb8c
cmp dword [ebp - 0x3ebc], 0
je 0x1000cb7e
cmp ebx, 0x80
jae 0x1000cb8c
mov eax, dword [ebp - 0x3ec8]
movzx eax, byte [ebx + eax + 0x100]
cmp dword [ebp - 0x3ea4], ebx
je 0x1000cba0
cmp dword [ebp - 0x3ea4], eax
je 0x1000cba0
xor ebx, ebx
jmp 0x1000cba5
mov ebx, 1
xor eax, eax
cmp dword [ebp - 0x3eac], 0x3b
setl al
cmp ebx, eax
jne case.default.0x1000c40d
mov eax, dword [ebp - 0x3eac]
cmp eax, 0x2d
je 0x1000cbc9
cmp eax, 0x47
jne 0x1000cbdb
mov ebx, dword [ebp - 0x3f80]
mov edi, dword [ebp - 0x3f84]
mov dword [ebp - 0x3e8c], ebx
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
inc dword [ebp - 0x3eb4]
mov ebx, dword [ebp - 0x3e88]
mov esi, dword [ebp - 0x3eb4]
inc ebx
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x3e88]
mov dword [ebp - 0x3e88], ebx
cmp esi, ecx
jl 0x1000b743
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov esi, dword [ebp - 0x3ec0]
mov eax, dword [ebp - 0x3e98]
add esi, 3
add eax, esi
mov dword [edx + 4], 0
mov dword [edx], eax
jmp 0x1000c073
mov ecx, dword [ebp - 0x3eac]
mov dword [ebp - 0x3ea8], 0
cmp ecx, 0x70
je 0x1000ccd7
cmp dword [ebp - 0x3eb0], 0
lea ebx, [esi + 0x21]
jle 0x1000cc7a
mov eax, dword [ebp - 0x3ea4]
cmp eax, 0xff
jbe 0x1000ccab
xor eax, eax
cmp ecx, 0x6f
sete al
mov dword [ebp - 0x3ea8], eax
mov esi, dword [ebp - 0x3ea8]
movzx ecx, byte [ebx]
mov eax, ebx
sub eax, dword [ebp - 0x3ed4]
add ecx, 0xffffff9e
mov dword [ebp - 0x3ea8], eax
cmp ecx, 0xb
ja case.default.0x1000cca4
movzx eax, byte [ecx + 0x1000e0d4]
jmp dword [eax*4 + 0x1000e0c4]
mov ecx, dword [ebp - 0x3f88]
mov edx, eax
shr edx, 3
mov eax, 1
shl eax, cl
test byte [edx + esi + 1], al
mov eax, 0
mov edx, dword [ebp - 0x3e90]
setne al
mov dword [ebp - 0x3ea8], eax
jmp 0x1000cc7a
movzx ebx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ebx, 8
or ebx, eax
add ebx, esi
cmp dword [ebp - 0x3eb0], 0
jle 0x1000cc7a
push dword [ebp - 0x3ebc]
add esi, 3
push esi
push dword [ebp - 0x3ea4]
call fcn.1001e920
mov edx, dword [ebp - 0x3e90]
add esp, 0xc
mov esi, eax
jmp 0x1000cc80
mov ecx, dword [ebp - 0x3e8c]
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3ea8]
inc eax
mov dword [edi + 4], 0
mov dword [edi], eax
add edi, 0xc
test esi, esi
je case.default.0x1000c40d
cmp byte [ebx], 0x6a
jne 0x1000c9bb
mov ecx, dword [ebp - 0x3f8c]
mov edi, dword [ebp - 0x3f20]
jmp 0x1000c9b5
mov eax, dword [ebp - 0x3eb4]
mov ecx, dword [ebp - 0x3e8c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x3eb8], eax
test eax, eax
jle 0x1000cdab
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3ea8]
inc eax
mov dword [edi + 4], 0
mov dword [edi], eax
add edi, 0xc
mov eax, dword [ebp - 0x3eb8]
test esi, esi
je case.default.0x1000c40d
test eax, eax
jle 0x1000cdc6
cmp byte [ebx], 0x6b
jne 0x1000cdc6
dec ecx
sub edi, 0xc
mov dword [ebp - 0x3e8c], ecx
mov esi, dword [ebp - 0x3e88]
mov eax, esi
inc esi
mov dword [ebp - 0x3e88], esi
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
mov dword [edx], eax
mov eax, dword [ebp - 0x3eb8]
inc eax
mov dword [edx + 4], eax
add edx, 0xc
mov dword [ebp - 0x3e90], edx
jmp 0x1000c088
mov ecx, dword [ebp - 0x3e8c]
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3ea8]
inc eax
mov dword [edi + 4], 0
mov dword [edi], eax
add edi, 0xc
mov dword [ebp - 0x3f20], eax
test esi, esi
je case.default.0x1000c40d
cmp byte [ebx], 0x6c
jne 0x1000ce54
mov ecx, dword [ebp - 0x3f94]
mov edi, dword [ebp - 0x3f00]
mov dword [ebp - 0x3e8c], ecx
mov esi, dword [ebp - 0x3e88]
mov eax, esi
inc esi
mov dword [ebp - 0x3e88], esi
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3f20]
mov dword [edx], eax
mov dword [edx + 4], 0
add edx, 0xc
mov dword [ebp - 0x3e90], edx
jmp 0x1000c088
mov eax, dword [ebp - 0x3eb4]
movzx ecx, byte [ebx + 1]
shl ecx, 8
mov eax, dword [eax + 4]
mov dword [ebp - 0x3eb4], eax
movzx eax, byte [ebx + 2]
or ecx, eax
cmp dword [ebp - 0x3eb4], ecx
mov ecx, dword [ebp - 0x3e8c]
jl 0x1000cee0
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3ea8]
add eax, 5
mov dword [edi + 4], 0
mov dword [edi], eax
add edi, 0xc
test esi, esi
je case.default.0x1000c40d
movzx esi, byte [ebx + 3]
movzx eax, byte [ebx + 4]
shl esi, 8
or esi, eax
cmp byte [ebx], 0x6d
jne 0x1000cf23
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
mov ebx, dword [ebp - 0x3eb4]
shl ecx, 8
or ecx, eax
cmp ebx, ecx
mov ecx, dword [ebp - 0x3e8c]
jl 0x1000cf29
dec ecx
sub edi, 0xc
mov dword [ebp - 0x3e8c], ecx
jmp 0x1000cf29
mov ebx, dword [ebp - 0x3eb4]
inc ebx
cmp ebx, esi
jl 0x1000cf6d
test esi, esi
je 0x1000cf6d
mov esi, dword [ebp - 0x3e88]
mov eax, esi
inc esi
mov dword [ebp - 0x3e88], esi
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3ea8]
add eax, 5
mov dword [edx], eax
mov dword [edx + 4], 0
add edx, 0xc
mov dword [ebp - 0x3e90], edx
jmp 0x1000c088
mov esi, dword [ebp - 0x3e88]
mov eax, esi
inc esi
mov dword [ebp - 0x3e88], esi
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
mov dword [edx], eax
mov dword [edx + 4], ebx
add edx, 0xc
mov dword [ebp - 0x3e90], edx
jmp 0x1000c088
test esi, esi
mov esi, dword [ebp - 0x3e88]
je 0x1000a89f
mov eax, esi
inc esi
mov dword [ebp - 0x3e88], esi
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3ea8]
jmp 0x1000a88d
inc dword [ebp - 0x3f24]
jmp case.default.0x1000c40d
movzx ebx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ebx, 8
or ebx, eax
add ebx, esi
cmp byte [ebx], 0x77
jne 0x1000d004
nop
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
add ebx, ecx
cmp byte [ebx], 0x77
je 0x1000cff0
push dword [ebp - 0x3ef0]
mov ecx, dword [ebp - 0x3ea0]
lea eax, [ebp - 0xfa4]
push 0x3e8
push eax
push 2
lea eax, [ebp - 0x3fc8]
push eax
mov eax, ecx
sub eax, dword [ebp - 0x3ec4]
push eax
push ecx
push esi
push dword [ebp - 0x3e9c]
call fcn.10009930
add esp, 0x24
cmp eax, 0xfffffff0
je case.0x1000a26a.3
mov ecx, dword [ebp - 0x3eac]
cmp ecx, 0x7d
je 0x1000d05b
cmp ecx, 0x7f
je 0x1000d05b
xor ecx, ecx
jmp 0x1000d060
mov ecx, 1
not eax
shr eax, 0x1f
cmp eax, ecx
mov ecx, dword [ebp - 0x3e8c]
jne 0x1000a592
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
sub ebx, dword [ebp - 0x3ed4]
mov edx, dword [ebp - 0x3e90]
add ebx, 3
mov dword [edi], ebx
mov dword [edi + 4], 0
add edi, 0xc
jmp case.default.0x1000c40d
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
cmp byte [esi + 3], 0x76
mov dword [ebp - 0x3ea8], ecx
jne 0x1000d19f
mov edx, dword [sym.pcre3.dll_pcre_callout]
test edx, edx
je 0x1000d196
movzx eax, byte [esi + 4]
mov ecx, dword [ebp - 0x3ec4]
mov dword [ebp - 0x3f60], eax
mov eax, dword [ebp - 0x3ef8]
mov dword [ebp - 0x3f5c], eax
mov eax, dword [ebp - 0x3ee0]
sub eax, ecx
mov dword [ebp - 0x3f58], ecx
mov dword [ebp - 0x3f54], eax
mov eax, dword [ebp - 0x3ecc]
sub eax, ecx
mov dword [ebp - 0x3f64], 1
mov dword [ebp - 0x3f50], eax
mov eax, dword [ebp - 0x3ea0]
sub eax, ecx
mov dword [ebp - 0x3f48], 1
movzx ecx, byte [esi + 5]
mov dword [ebp - 0x3f4c], eax
movzx eax, byte [esi + 6]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x3f44], 0xffffffff
movzx eax, byte [esi + 8]
mov dword [ebp - 0x3f3c], ecx
movzx ecx, byte [esi + 7]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x3f34], 0
mov eax, dword [ebp - 0x3e9c]
mov dword [ebp - 0x3f38], ecx
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x3f40], eax
lea eax, [ebp - 0x3f64]
push eax
call edx
add esp, 4
test eax, eax
js 0x1000ac60
jg 0x1000d513
movzx eax, byte [0x1003ea66]
add esi, eax
mov bl, byte [esi + 3]
lea edx, [esi + 3]
cmp bl, 0x8d
je 0x1000da3a
cmp bl, 0x8e
je 0x1000da3a
cmp bl, 0x90
je 0x1000da3a
cmp bl, 0x91
je 0x1000d315
cmp bl, 0x9d
je 0x1000d315
cmp bl, 0x8f
jne 0x1000d220
movzx ecx, byte [esi + 4]
movzx eax, byte [esi + 5]
shl ecx, 8
or ecx, eax
cmp ecx, 0xffff
jne 0x1000da3a
mov ecx, dword [ebp - 0x3e8c]
cmp ecx, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e9c]
cmp dword [eax + 0x30], 0
je 0x1000d327
mov eax, dword [ebp - 0x3e98]
add eax, 6
jmp 0x1000d336
movzx esi, byte [edx + 1]
movzx eax, byte [edx + 2]
shl esi, 8
or esi, eax
add esi, edx
cmp byte [esi], 0x77
jne 0x1000d248
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, ecx
cmp byte [esi], 0x77
je 0x1000d234
push dword [ebp - 0x3ef0]
mov ecx, dword [ebp - 0x3ea0]
lea eax, [ebp - 0xfa4]
sub ecx, dword [ebp - 0x3ec4]
push 0x3e8
push eax
push 0x3e8
lea eax, [ebp - 0x3e84]
push eax
push ecx
mov ecx, dword [ebp - 0x3ea0]
push ecx
push edx
push dword [ebp - 0x3e9c]
call fcn.10009930
add esp, 0x24
cmp eax, 0xfffffff0
je case.0x1000a26a.3
cmp bl, 0x7d
je 0x1000d2a0
cmp bl, 0x7f
je 0x1000d2a0
xor edx, edx
jmp 0x1000d2a5
mov edx, 1
mov ecx, dword [ebp - 0x3e8c]
not eax
shr eax, 0x1f
cmp ecx, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov dword [edi + 4], 0
cmp eax, edx
jne 0x1000d2eb
sub esi, dword [ebp - 0x3ed4]
inc ecx
mov edx, dword [ebp - 0x3e90]
add esi, 3
mov eax, 0xc
mov dword [edi], esi
mov dword [ebp - 0x3e8c], ecx
add edi, eax
jmp case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea8]
inc ecx
mov edx, dword [ebp - 0x3e90]
add eax, 3
add eax, dword [ebp - 0x3e98]
mov dword [edi], eax
mov eax, 0xc
mov dword [ebp - 0x3e8c], ecx
add edi, eax
jmp case.default.0x1000c40d
mov ecx, dword [ebp - 0x3e8c]
cmp ecx, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3ea8]
add eax, 3
add eax, dword [ebp - 0x3e98]
mov edx, dword [ebp - 0x3e90]
inc ecx
mov dword [edi], eax
mov eax, 0xc
mov dword [edi + 4], 0
add edi, eax
mov dword [ebp - 0x3e8c], ecx
jmp case.default.0x1000c40d
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
mov ebx, dword [ebp - 0x3e9c]
shl edx, 8
or edx, eax
add edx, dword [ebp - 0x3ed4]
cmp edx, dword [ebx]
jne 0x1000d379
xor ecx, ecx
jmp 0x1000d386
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 4]
shl ecx, 8
or ecx, eax
mov esi, dword [ebx + 0x30]
mov eax, esi
test eax, eax
je 0x1000d3b0
nop
cmp ecx, dword [eax + 4]
jne 0x1000d3aa
mov ebx, dword [ebp - 0x3ea0]
cmp ebx, dword [eax + 8]
mov ebx, dword [ebp - 0x3e9c]
je 0x1000da50
mov eax, dword [eax]
test eax, eax
jne 0x1000d390
push dword [ebp - 0x3ef0]
lea eax, [ebp - 0x3fc0]
mov dword [ebp - 0x3fbc], ecx
mov ecx, dword [ebp - 0x3ea0]
push 0x3e8
mov dword [ebx + 0x30], eax
lea eax, [ebp - 0x3e84]
push eax
push 0x3e8
lea eax, [ebp - 0xfa4]
mov dword [ebp - 0x3fc0], esi
mov esi, dword [ebp - 0x3ec4]
push eax
mov eax, ecx
mov dword [ebp - 0x3fb8], ecx
sub eax, esi
push eax
push ecx
push edx
push ebx
call fcn.10009930
mov ecx, dword [ebp - 0x3fc0]
add esp, 0x24
mov dword [ebx + 0x30], ecx
test eax, eax
je 0x1000da66
jle 0x1000d50a
lea ebx, [eax*2 - 2]
test ebx, ebx
js 0x1000d513
jmp 0x1000d436
mov esi, dword [ebp - 0x3ec4]
mov eax, dword [ebp + ebx*4 - 0xfa0]
mov edx, eax
mov ecx, dword [ebp + ebx*4 - 0xfa4]
sub edx, ecx
cmp dword [ebp - 0x3ebc], 0
je 0x1000d46e
add ecx, esi
add esi, eax
cmp ecx, esi
jae 0x1000d46e
nop dword [eax]
mov al, byte [ecx]
inc ecx
and al, 0xc0
cmp al, 0x80
jne 0x1000d46a
dec edx
cmp ecx, esi
jb 0x1000d460
test edx, edx
jle 0x1000d4c0
mov esi, dword [ebp - 0x3e88]
mov eax, esi
inc esi
mov dword [ebp - 0x3e88], esi
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov ecx, dword [ebp - 0x3e90]
mov eax, 0xfffffffd
sub eax, dword [ebp - 0x3e98]
mov dword [ecx], eax
lea eax, [edx - 1]
mov edx, ecx
mov dword [ecx + 4], 0
mov ecx, dword [ebp - 0x3e8c]
mov dword [edx + 8], eax
add edx, 0xc
mov dword [ebp - 0x3e90], edx
jmp 0x1000d4fc
mov ecx, dword [ebp - 0x3e8c]
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov eax, dword [ebp - 0x3e98]
mov edx, dword [ebp - 0x3e90]
add eax, 3
mov esi, dword [ebp - 0x3e88]
mov dword [edi], eax
mov dword [edi + 4], 0
add edi, 0xc
sub ebx, 2
jns 0x1000d430
jmp 0x1000c088
cmp eax, 0xffffffff
jne 0x1000ac60
mov edx, dword [ebp - 0x3e90]
jmp 0x1000c07c
cmp dword [ebp - 0x3eac], 0x94
mov ecx, dword [ebp - 0x3ea0]
mov ebx, ecx
jne 0x1000d533
inc esi
push dword [ebp - 0x3ef0]
lea edx, [ebp - 0x1f44]
mov dword [ebp - 0x3ea8], 0
push 0x3e8
push edx
push 2
mov eax, ecx
lea edx, [ebp - 0x3fa4]
sub eax, dword [ebp - 0x3ec4]
push edx
push eax
push ecx
push esi
push dword [ebp - 0x3e9c]
mov dword [ebp - 0x3f00], eax
call fcn.10009930
add esp, 0x24
test eax, eax
js 0x1000d5cb
nop dword [eax + eax]
mov eax, dword [ebp - 0x3fa0]
sub eax, dword [ebp - 0x3fa4]
je 0x1000d5d4
push dword [ebp - 0x3ef0]
inc dword [ebp - 0x3ea8]
add ebx, eax
push 0x3e8
lea eax, [ebp - 0x1f44]
push eax
push 2
lea eax, [ebp - 0x3fa4]
push eax
push dword [ebp - 0x3f00]
push ebx
push esi
push dword [ebp - 0x3e9c]
call fcn.10009930
add esp, 0x24
test eax, eax
jns 0x1000d580
cmp eax, 0xffffffff
jne 0x1000ac60
cmp dword [ebp - 0x3ea8], 0
jg 0x1000d5f0
cmp dword [ebp - 0x3eac], 0x94
jne 0x1000d513
nop dword [eax]
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
add esi, ecx
cmp byte [esi], 0x77
je 0x1000d5f0
sub esi, dword [ebp - 0x3ed4]
mov eax, dword [ebp - 0x3ee4]
add esi, 3
mov ecx, dword [ebp - 0x3e8c]
inc eax
mov dword [ebp - 0x3eb4], esi
cmp eax, ecx
jl 0x1000d671
cmp dword [ebp - 0x3e88], 0
jne 0x1000d671
cmp dword [ebp - 0x3e94], 0
mov dword [ebp - 0x3ea0], ebx
mov dword [ebp - 0x3eb0], 0
mov dword [ebp - 0x3e88], 1
jle 0x1000ac5b
mov edx, dword [ebp - 0x3e90]
mov dword [edx], esi
mov dword [edx + 4], 0
add edx, 0xc
mov dword [ebp - 0x3e90], edx
jmp case.default.0x1000c40d
mov eax, dword [ebp - 0x3ea0]
mov ecx, ebx
sub ecx, eax
mov edx, eax
cmp dword [ebp - 0x3ebc], 0
mov dword [ebp - 0x3ea8], ecx
je 0x1000d6b5
cmp eax, ebx
jae 0x1000d6b5
mov esi, ecx
mov cl, byte [edx]
lea eax, [esi - 1]
and cl, 0xc0
inc edx
cmp cl, 0x80
cmovne eax, esi
mov esi, eax
cmp edx, ebx
jb 0x1000d692
mov dword [ebp - 0x3ea8], esi
mov ecx, eax
mov esi, dword [ebp - 0x3eb4]
mov edx, dword [ebp - 0x3e88]
mov eax, edx
inc edx
mov dword [ebp - 0x3e88], edx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov edx, dword [ebp - 0x3e90]
lea eax, [ecx - 1]
neg esi
mov dword [edx], esi
mov dword [edx + 4], 0
jmp 0x1000c070
push dword [ebp - 0x3ef0]
mov ebx, dword [ebp - 0x3ea0]
lea eax, [ebp - 0x2ee4]
push 0x3e8
push eax
push 2
lea eax, [ebp - 0x3f30]
push eax
mov eax, ebx
sub eax, dword [ebp - 0x3ec4]
push eax
push ebx
push esi
push dword [ebp - 0x3e9c]
call fcn.10009930
add esp, 0x24
test eax, eax
js 0x1000d50a
mov ebx, dword [ebp - 0x3f2c]
sub ebx, dword [ebp - 0x3f30]
nop word [eax + eax]
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
mov al, byte [esi + ecx]
add esi, ecx
cmp al, 0x77
je 0x1000d740
mov edx, esi
sub edx, dword [ebp - 0x3ed4]
add edx, 3
mov dword [ebp - 0x3ea8], edx
cmp al, 0x79
je 0x1000d774
cmp al, 0x7a
je 0x1000d774
or esi, 0xffffffff
jmp 0x1000d789
movzx ecx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl ecx, 8
or ecx, eax
sub esi, ecx
sub esi, dword [ebp - 0x3ed4]
mov ecx, dword [ebp - 0x3e8c]
mov dword [ebp - 0x3eb4], esi
test ebx, ebx
jne 0x1000d7c1
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
mov dword [edi], edx
mov edx, dword [ebp - 0x3e90]
mov dword [edi + 4], ebx
add edi, 0xc
jmp case.default.0x1000c40d
mov eax, dword [ebp - 0x3ee4]
inc eax
cmp eax, ecx
jl 0x1000d858
cmp dword [ebp - 0x3e88], 0
jne 0x1000d858
add dword [ebp - 0x3ea0], ebx
cmp dword [ebp - 0x3e94], 0
mov dword [ebp - 0x3eb0], 0
mov dword [ebp - 0x3e88], 1
jle 0x1000ac5b
mov edx, dword [ebp - 0x3e90]
mov eax, dword [ebp - 0x3ea8]
mov dword [edx], eax
mov dword [edx + 4], 0
add edx, 0xc
mov dword [ebp - 0x3e90], edx
test esi, esi
js case.default.0x1000c40d
mov eax, dword [ebp - 0x3ee8]
mov ecx, 1
mov dword [ebp - 0x3ee4], 0xffffffff
mov dword [ebp - 0x3e8c], ecx
mov dword [eax], esi
lea edi, [eax + 0xc]
mov dword [eax + 4], 0
mov esi, ecx
jmp 0x1000c088
cmp dword [ebp - 0x3ebc], 0
je 0x1000d8ac
mov edx, dword [ebp - 0x3ec4]
mov eax, dword [ebp - 0x3f2c]
add edx, dword [ebp - 0x3f30]
add eax, dword [ebp - 0x3ec4]
mov ecx, dword [ebp - 0x3e8c]
cmp edx, eax
jae 0x1000d8a6
mov esi, eax
mov cl, byte [edx]
lea eax, [ebx - 1]
and cl, 0xc0
inc edx
cmp cl, 0x80
cmovne eax, ebx
mov ebx, eax
cmp edx, esi
jb 0x1000d885
mov esi, dword [ebp - 0x3eb4]
mov ecx, dword [ebp - 0x3e8c]
mov edx, dword [ebp - 0x3ea8]
mov eax, dword [ebp - 0x3e88]
inc dword [ebp - 0x3e88]
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
neg edx
dec ebx
mov dword [ebp - 0x3ea8], edx
mov edx, dword [ebp - 0x3e90]
mov eax, dword [ebp - 0x3ea8]
mov dword [edx], eax
mov dword [edx + 4], 0
mov dword [edx + 8], ebx
add edx, 0xc
mov dword [ebp - 0x3e90], edx
test esi, esi
js case.default.0x1000c40d
mov eax, dword [ebp - 0x3e88]
inc dword [ebp - 0x3e88]
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
neg esi
mov dword [edx + 4], 0
mov dword [edx], esi
mov dword [edx + 8], ebx
add edx, 0xc
mov dword [ebp - 0x3e90], edx
jmp case.default.0x1000c40d
mov ebx, dword [sym.pcre3.dll_pcre_callout]
test ebx, ebx
je 0x1000da07
movzx eax, byte [esi + 1]
mov ecx, dword [ebp - 0x3ec4]
mov dword [ebp - 0x3f60], eax
mov eax, dword [ebp - 0x3ef8]
mov dword [ebp - 0x3f5c], eax
mov eax, dword [ebp - 0x3ee0]
sub eax, ecx
mov dword [ebp - 0x3f58], ecx
mov dword [ebp - 0x3f54], eax
mov eax, dword [ebp - 0x3ecc]
sub eax, ecx
mov dword [ebp - 0x3f64], 1
mov dword [ebp - 0x3f50], eax
mov eax, dword [ebp - 0x3ea0]
sub eax, ecx
mov dword [ebp - 0x3f48], 1
movzx ecx, byte [esi + 2]
mov dword [ebp - 0x3f4c], eax
movzx eax, byte [esi + 3]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x3f44], 0xffffffff
movzx eax, byte [esi + 5]
mov dword [ebp - 0x3f3c], ecx
movzx ecx, byte [esi + 4]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x3f34], 0
mov eax, dword [ebp - 0x3e9c]
mov dword [ebp - 0x3f38], ecx
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x3f40], eax
lea eax, [ebp - 0x3f64]
push eax
call ebx
add esp, 4
test eax, eax
js 0x1000ac60
mov edx, dword [ebp - 0x3e90]
mov ecx, dword [ebp - 0x3e8c]
jne case.default.0x1000c40d
mov eax, ecx
inc ecx
mov dword [ebp - 0x3e8c], ecx
cmp eax, dword [ebp - 0x3e94]
jge 0x1000ac5b
movzx eax, byte [0x1003ea66]
add eax, dword [ebp - 0x3e98]
mov dword [edi], eax
mov dword [edi + 4], 0
add edi, 0xc
jmp case.default.0x1000c40d
pop edi
pop esi
mov eax, 0xffffffef
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10021ef6
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffe6
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10021ef6
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffec
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10021ef6
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffff0
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10021ef6
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x3ef0], 1
jne 0x1000a3dc
cmp dword [ebp - 0x3ed0], 0
je 0x1000a3dc
mov esi, dword [ebp - 0x3efc]
mov eax, dword [ebp - 0x3f24]
cmp eax, dword [esi + 4]
je 0x1000a3dc
mov ecx, dword [ebp - 0x3e9c]
mov eax, dword [ecx + 0x18]
test eax, 0x8000000
jne 0x1000dae9
test eax, 0x8000
je 0x1000a3dc
cmp dword [ebp - 0x3edc], 0
jge 0x1000a3dc
cmp dword [ebp - 0x3eec], 0
jne 0x1000db0d
mov eax, dword [ebp - 0x3ea0]
cmp eax, dword [ebp - 0x3ee0]
jb 0x1000a3dc
cmp eax, dword [ecx + 0xc]
jbe 0x1000a3dc
mov ecx, dword [ebp - 4]
mov eax, 0xfffffff4
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10021ef6
mov esp, ebp
pop ebp
ret