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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x100
mov eax, dword [0x1004a5b8]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x14]
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x90], ecx
mov ecx, dword [ebp + 0x1c]
push esi
mov esi, dword [ebp + 0x18]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x9c], ecx
test eax, eax
jne 0x100301e7
cmp dword [ebp + 0x20], eax
jne 0x100301cb
push 1
push eax
push eax
push eax
push eax
push eax
lea edx, [ebp + 0x20]
push edx
call fcn.10030160
add esp, 0x1c
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
lea eax, [ebp + 0x20]
sub eax, ebx
cdq
xor eax, edx
sub eax, edx
pop esi
neg eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
push edi
cmp eax, dword [esi + 4]
jae 0x10032bce
mov ecx, dword [ebp + 0x20]
inc dword [esi]
cmp ecx, dword [esi + 8]
jae 0x100330f5
cmp dword [esi + 0x98], 2
jne 0x10030232
mov edx, dword [ebp - 0x9c]
lea eax, [ebp - 0x100]
mov dword [ebp - 0xfc], ebx
mov dword [ebp - 0x100], edx
mov dword [ebp - 0x9c], eax
mov dword [esi + 0x98], 0
mov edi, dword [ebp - 0x88]
jmp 0x10030240
xor eax, eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa0], eax
movzx eax, byte [edi]
mov dword [ebp - 0x98], eax
cmp eax, 0xa1
ja case.0x10030269.15
movzx ecx, byte [eax + 0x100340f8]
jmp dword [ecx*4 + 0x10033fbc]
inc dword [esi + 0x28]
mov eax, dword [esi + 0x28]
cmp eax, dword [esi + 0x2c]
ja 0x10033366
movzx edx, byte [edi]
movzx ecx, byte [edi + 1]
movzx eax, byte [edx + 0x10044870]
add edi, ecx
add edi, eax
mov dword [ebp - 0x88], edi
jmp 0x10030240
mov edx, dword [esi + 0xac]
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0x8c], edx
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x84]
inc eax
push eax
mov eax, dword [ebp - 0x90]
push ecx
push esi
push edx
push eax
lea ecx, [edi + 3]
push ecx
push ebx
call fcn.10030160
add esp, 0x1c
cmp eax, 1
je 0x10030331
cmp eax, 0xfffffc20
jne 0x10030307
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
shl ecx, 8
or ecx, edx
add ecx, edi
cmp dword [esi + 0x7c], ecx
jae 0x10033faa
cmp byte [edi], 0x77
je 0x1003030f
cmp byte [ecx], 0x77
jmp 0x10030309
test eax, eax
jne 0x10033faa
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
mov edx, dword [ebp - 0x8c]
shl eax, 8
or eax, ecx
add edi, eax
mov dword [esi + 0xac], edx
cmp byte [edi], 0x77
je 0x100302b1
jmp 0x1003033a
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x90], eax
mov al, byte [edi]
cmp al, 0x82
je 0x10030350
cmp al, 0x77
jne case.0x10033e26.14
jmp 0x10030350
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
shl ecx, 8
or ecx, edx
add edi, ecx
cmp byte [edi], 0x77
je 0x10030350
cmp byte [edi], 0x78
mov eax, dword [esi + 0x8c]
mov ebx, dword [esi + 0x80]
mov dword [ebp - 0x84], eax
je 0x10030387
cmp ebx, dword [ebp - 0xa8]
jne 0x10032e6f
add edi, 3
mov dword [ebp - 0x88], edi
jmp 0x10030240
mov dword [ebp - 0x94], 0
jmp 0x10030e6e
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, 3
cmp byte [edi], 0x76
mov dword [ebp - 0x8c], eax
jne 0x100304b2
cmp dword [0x1004a878], 0
je 0x100304a3
movzx edx, byte [edi + 1]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x78]
mov dword [ebp - 0xf0], eax
mov eax, dword [esi + 0x74]
sub ecx, eax
mov dword [ebp - 0xf4], edx
mov edx, dword [ebp - 0x90]
sub edx, eax
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe4], edx
movzx edx, byte [edi + 2]
mov ecx, ebx
sub ecx, eax
movzx eax, byte [edi + 3]
shl edx, 8
or edx, eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0xe0], ecx
movzx ecx, byte [edi + 4]
mov dword [ebp - 0xd0], edx
movzx edx, byte [edi + 5]
shl ecx, 8
or ecx, edx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0xdc], eax
mov eax, dword [esi + 0x90]
and eax, 0xffff
mov dword [ebp - 0xf8], 2
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xd8], eax
jne 0x1003046d
mov dword [ebp - 0xd8], 0xffffffff
mov ecx, dword [esi + 0xa8]
mov edx, dword [esi + 0xb0]
lea eax, [ebp - 0xf8]
push eax
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0xc8], edx
call dword [0x1004a878]
add esp, 4
test eax, eax
jg case.0x10033e26.14
js 0x10033faa
movzx eax, byte [0x100448e6]
add edi, eax
sub dword [ebp - 0x8c], eax
movzx eax, byte [edi]
mov dword [ebp - 0xa0], eax
add eax, 0xffffff73
mov dword [ebp - 0xa4], 0
cmp eax, 4
ja case.default.0x100304d3
jmp dword [eax*4 + 0x1003419c]
mov ecx, dword [esi + 0xa4]
test ecx, ecx
je case.0x100304d3.145
movzx eax, byte [edi + 1]
movzx edx, byte [edi + 2]
shl eax, 8
or eax, edx
cmp eax, 0xffff
je 0x1003062c
cmp eax, dword [ecx + 4]
je 0x1003062c
mov dword [ebp - 0xa4], 0
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0xa4]
add edi, ecx
mov dword [ebp - 0x88], edi
test eax, eax
jne 0x10030531
cmp byte [edi - 3], 0x77
jne 0x10030240
cmp dword [ebp - 0x98], 0x8c
jne 0x10032bc3
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x84]
inc eax
push eax
mov eax, dword [ebp - 0x90]
push ecx
push esi
push edx
push eax
push edi
push ebx
mov dword [esi + 0x98], 2
call fcn.10030160
add esp, 0x1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0xa4], 0
je case.0x100304d3.145
movzx ecx, byte [edi + 3]
movzx eax, byte [edi + 4]
movzx edx, byte [edi + 2]
shl ecx, 8
or ecx, eax
movzx eax, byte [edi + 1]
shl eax, 8
or eax, edx
imul eax, dword [esi + 0x24]
add eax, dword [esi + 0x30]
mov dword [ebp - 0xac], eax
test ecx, ecx
jle case.0x100304d3.145
mov edx, dword [esi + 0xa4]
mov edx, dword [edx + 4]
dec ecx
mov dword [ebp - 0xa8], ecx
movzx ecx, byte [eax]
movzx eax, byte [eax + 1]
shl ecx, 8
or ecx, eax
xor eax, eax
cmp ecx, edx
sete al
mov dword [ebp - 0xa4], eax
test eax, eax
jne 0x10030631
mov eax, dword [ebp - 0xac]
add eax, dword [esi + 0x24]
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0xac], eax
test ecx, ecx
jg 0x100305c2
jmp case.0x100304d3.145
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add eax, eax
cmp eax, dword [ebp - 0x84]
jge 0x10030505
mov edx, dword [esi + 0xc]
cmp dword [edx + eax*4], 0
jl 0x10030505
mov eax, 1
mov ecx, dword [ebp - 0xa0]
movzx ecx, byte [ecx + 0x10044870]
jmp 0x1003051b
movzx ecx, byte [edi + 3]
movzx eax, byte [edi + 4]
movzx edx, byte [edi + 2]
shl ecx, 8
or ecx, eax
movzx eax, byte [edi + 1]
shl eax, 8
or eax, edx
imul eax, dword [esi + 0x24]
add eax, dword [esi + 0x30]
test ecx, ecx
jle case.0x100304d3.145
mov dword [ebp - 0xa4], 0
movzx edx, byte [eax]
dec ecx
mov dword [ebp - 0xac], ecx
movzx ecx, byte [eax + 1]
shl edx, 8
or ecx, edx
add ecx, ecx
cmp ecx, dword [ebp - 0x84]
jge 0x1003069c
mov edx, dword [esi + 0xc]
cmp dword [edx + ecx*4], 0
jge 0x1003062c
mov ecx, dword [ebp - 0xac]
add eax, dword [esi + 0x24]
test ecx, ecx
jg 0x10030676
jmp case.0x100304d3.145
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x90]
inc eax
push eax
push 0
push esi
push ecx
push edx
push edi
push ebx
mov dword [esi + 0x98], 1
call fcn.10030160
add esp, 0x1c
cmp eax, 1
jne 0x1003074c
mov eax, dword [esi + 0x8c]
cmp eax, dword [ebp - 0x84]
jle 0x100306f1
mov dword [ebp - 0x84], eax
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x77
mov dword [ebp - 0xa4], 1
jne 0x10030724
nop
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl edx, 8
or edx, eax
add edi, edx
cmp byte [edi], 0x77
je 0x10030710
mov ecx, dword [ebp - 0xa0]
movzx edx, byte [ecx + 0x10044870]
movzx ecx, byte [ecx + 0x10044870]
mov eax, 3
sub eax, edx
add edi, eax
mov eax, dword [ebp - 0xa4]
jmp 0x1003051b
test eax, eax
je case.0x100304d3.145
cmp eax, 0xfffffc20
jne 0x10033faa
jmp case.0x100304d3.145
movzx eax, byte [edi + 1]
movzx edx, byte [edi + 2]
mov ecx, dword [esi + 0x90]
shl eax, 8
or eax, edx
and ecx, 0xffff0000
lea edx, [eax + eax]
or ecx, eax
mov dword [esi + 0x90], ecx
cmp edx, dword [esi + 0x14]
jl 0x100307a7
or ecx, 0x10000
add edi, 3
mov dword [esi + 0x90], ecx
mov dword [ebp - 0x88], edi
jmp 0x10030240
mov ecx, dword [esi + 0x10]
sub ecx, eax
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + ecx*4]
mov dword [eax + edx*4], ecx
mov ecx, dword [esi + 0xc]
mov eax, ebx
sub eax, dword [esi + 0x74]
mov dword [ecx + edx*4 + 4], eax
cmp dword [ebp - 0x84], edx
jg 0x100307d2
add edx, 2
mov dword [ebp - 0x84], edx
add edi, 3
mov dword [ebp - 0x88], edi
jmp 0x10030240
mov edx, dword [esi + 0xac]
mov eax, 1
mov dword [ebp - 0x8c], edx
cmp dword [esi + 0x98], eax
jne 0x1003080b
mov dword [ebp - 0xa4], eax
mov dword [esi + 0x98], 0
jmp 0x10030820
mov dword [ebp - 0xa4], 0
jmp 0x10030820
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x90]
inc eax
push eax
push 0
push esi
push ecx
push edx
lea eax, [edi + 3]
push eax
push ebx
call fcn.10030160
add esp, 0x1c
cmp eax, 1
je 0x100308a2
cmp eax, 0xfffffc19
je 0x100308a2
mov ecx, dword [ebp - 0x8c]
mov dword [esi + 0xac], ecx
cmp eax, 0xfffffc20
jne 0x10030884
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
shl ecx, 8
or ecx, edx
add ecx, edi
cmp dword [esi + 0x7c], ecx
jae 0x10033faa
cmp byte [edi], 0x77
je 0x1003088c
cmp byte [ecx], 0x77
jmp 0x10030886
test eax, eax
jne 0x10033faa
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x77
je 0x10030820
jmp 0x100308ab
mov edx, dword [esi + 0x7c]
mov dword [ebp - 0x90], edx
cmp byte [edi], 0x78
je case.0x10033e26.14
cmp dword [ebp - 0xa4], 0
jne 0x1003372e
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x77
je 0x100308c1
mov edx, dword [esi + 0x8c]
add edi, 3
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x84], edx
jmp 0x10030240
mov eax, dword [esi + 0xac]
mov dword [ebp - 0x8c], eax
mov eax, 1
cmp dword [esi + 0x98], eax
jne 0x1003091a
mov dword [ebp - 0xa4], eax
mov dword [esi + 0x98], 0
jmp 0x10030930
mov dword [ebp - 0xa4], 0
jmp 0x10030930
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x90]
inc ecx
push ecx
push 0
push esi
push edx
push eax
lea ecx, [edi + 3]
push ecx
push ebx
call fcn.10030160
mov edx, dword [ebp - 0x8c]
add esp, 0x1c
mov dword [esi + 0xac], edx
cmp eax, 0xfffffc20
jg 0x10030988
jne 0x100309a9
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add eax, edi
cmp dword [esi + 0x7c], eax
jae 0x100309d0
cmp byte [edi], 0x77
je 0x10030993
cmp byte [eax], 0x77
jne 0x100309d0
jmp 0x10030993
mov ecx, eax
sub ecx, 0
jne 0x100330dd
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl edx, 8
or edx, eax
add edi, edx
cmp byte [edi], 0x77
je 0x10030930
jmp 0x100309e4
cmp eax, 0xfffffc19
je case.0x10033e26.14
cmp eax, 0xfffffc1b
jle 0x10033faa
cmp eax, 0xfffffc1f
jg 0x10033faa
lea ebx, [ebx]
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
shl ecx, 8
or ecx, edx
add edi, ecx
cmp byte [edi], 0x77
je 0x100309d0
cmp dword [ebp - 0xa4], 0
jne 0x1003372e
add edi, 3
mov dword [ebp - 0x88], edi
jmp 0x10030240
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
sub ebx, eax
cmp ebx, dword [esi + 0x74]
jb case.0x10033e26.14
cmp ebx, dword [esi + 0x84]
jae 0x10030a25
mov dword [esi + 0x84], ebx
add edi, 3
mov dword [ebp - 0x88], edi
jmp 0x10030240
cmp dword [0x1004a878], 0
je 0x10030b13
movzx edx, byte [edi + 1]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x78]
mov dword [ebp - 0xf0], eax
mov eax, dword [esi + 0x74]
sub ecx, eax
mov dword [ebp - 0xf4], edx
mov edx, dword [ebp - 0x90]
sub edx, eax
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe4], edx
movzx edx, byte [edi + 2]
mov ecx, ebx
sub ecx, eax
movzx eax, byte [edi + 3]
shl edx, 8
or edx, eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0xe0], ecx
movzx ecx, byte [edi + 4]
mov dword [ebp - 0xd0], edx
movzx edx, byte [edi + 5]
shl ecx, 8
or ecx, edx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0xdc], eax
mov eax, dword [esi + 0x90]
and eax, 0xffff
mov dword [ebp - 0xf8], 2
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xd8], eax
jne 0x10030add
mov dword [ebp - 0xd8], 0xffffffff
mov ecx, dword [esi + 0xa8]
mov edx, dword [esi + 0xb0]
lea eax, [ebp - 0xf8]
push eax
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0xc8], edx
call dword [0x1004a878]
add esp, 4
test eax, eax
jg case.0x10033e26.14
js 0x10033faa
add edi, 6
mov dword [ebp - 0x88], edi
jmp 0x10030240
movzx eax, byte [edi + 1]
movzx edx, byte [edi + 2]
mov ecx, dword [esi + 0x70]
shl eax, 8
or eax, edx
add eax, ecx
mov dword [ebp - 0x8c], eax
cmp eax, ecx
jne 0x10030b41
xor ecx, ecx
jmp 0x10030b4e
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl ecx, 8
or ecx, eax
mov edx, dword [esi + 0xa4]
mov eax, edx
test eax, eax
je 0x10030b74
lea ebx, [ebx]
cmp ecx, dword [eax + 4]
jne 0x10030b6e
cmp ebx, dword [eax + 0x14]
je 0x10033690
mov eax, dword [eax]
test eax, eax
jne 0x10030b60
mov dword [ebp - 0xc0], ecx
mov ecx, dword [esi + 0x90]
mov dword [ebp - 0xb4], ecx
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0xc4], edx
add edi, 3
lea edx, [ebp - 0xc4]
mov dword [ebp - 0xb0], ebx
mov dword [esi + 0xa4], edx
mov dword [ebp - 0x88], edi
mov dword [ebp - 0xb8], ecx
cmp ecx, 0x1e
jg 0x10030bc0
lea eax, [ebp - 0x7c]
mov dword [ebp - 0xbc], eax
jmp 0x10030be5
lea eax, [ecx*4]
push eax
call dword [0x1004a438]
add esp, 4
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x100336a6
mov ecx, dword [ebp - 0xb8]
mov edx, dword [esi + 0xc]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call sub.MSVCR100.dll_memcpy
mov eax, dword [ebp - 0x8c]
add esp, 0xc
cmp byte [eax], 0x88
sbb eax, eax
inc eax
mov dword [ebp - 0xa4], eax
lea esp, [esp]
cmp dword [ebp - 0xa4], 0
je 0x10030c23
mov dword [esi + 0x98], 2
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x84]
inc ecx
push ecx
mov ecx, dword [ebp - 0x90]
push edx
push esi
push eax
mov eax, dword [ebp - 0x8c]
movzx edx, byte [eax]
push ecx
movzx ecx, byte [edx + 0x10044870]
add ecx, eax
push ecx
push ebx
call fcn.10030160
mov edx, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0xac], eax
lea eax, [edx*4]
mov edx, dword [esi + 0xc]
push eax
push ecx
push edx
call sub.MSVCR100.dll_memcpy
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xc4]
add esp, 0x28
cmp dword [ebp - 0xac], 1
mov dword [esi + 0x90], eax
mov dword [esi + 0xa4], ecx
je 0x10030d34
mov eax, dword [ebp - 0xac]
cmp eax, 0xfffffc19
je 0x10030d34
cmp eax, 0xfffffc1c
jl 0x10030cc6
cmp eax, 0xfffffc20
jle case.0x10033e26.14
test eax, eax
jne 0x100336bc
mov eax, dword [ebp - 0x8c]
lea edx, [ebp - 0xc4]
mov dword [esi + 0xa4], edx
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
cmp byte [eax], 0x77
mov dword [ebp - 0x8c], eax
je 0x10030c10
mov eax, dword [ebp - 0xc4]
mov dword [esi + 0xa4], eax
mov eax, dword [ebp - 0xbc]
lea ecx, [ebp - 0x7c]
cmp eax, ecx
je 0x10030d21
push eax
call dword [0x1004a43c]
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0xbc]
lea ecx, [ebp - 0x7c]
cmp eax, ecx
je 0x10030d4b
push eax
call dword [0x1004a43c]
add esp, 4
mov edx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x80]
mov dword [ebp - 0x90], edx
jmp 0x10030240
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x77
je case.0x10030269.119
mov dword [ebp - 0x88], edi
jmp 0x10030240
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x84]
inc edx
push edx
mov edx, dword [ebp - 0x90]
push eax
push esi
push ecx
push edx
inc edi
push edi
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
jne 0x10033faa
lea ecx, [ecx]
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x77
je 0x10030db0
add edi, 3
mov dword [ebp - 0x88], edi
jmp 0x10030240
inc edi
mov eax, edi
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
add eax, edx
cmp byte [eax], 0x77
je 0x10030dd5
mov edx, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x9c]
inc edx
push edx
mov edx, dword [ebp - 0x84]
push ecx
mov ecx, dword [ebp - 0x90]
push esi
push edx
push ecx
add eax, 3
push eax
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
jne 0x10033faa
mov dword [ebp - 0x88], edi
jmp 0x10030240
inc edi
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl edx, 8
or edx, eax
add edi, edx
cmp byte [edi], 0x77
je 0x10030e25
add edi, 3
mov dword [ebp - 0x88], edi
jmp 0x10030240
movzx eax, byte [edi + 1]
inc edi
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], 1
cmp eax, 0x86
je 0x10030e6e
cmp eax, 0x8b
jne 0x10031032
movzx ecx, byte [edi + 3]
movzx edx, byte [edi + 4]
shl ecx, 8
or ecx, edx
lea edx, [ecx + ecx]
mov dword [ebp - 0xa4], ecx
cmp edx, dword [esi + 0x14]
jge case.0x10030269.132
mov eax, edi
sub eax, dword [esi + 0x70]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x8c], eax
mov eax, dword [esi + 0xc]
mov edx, dword [eax + edx*4]
mov dword [ebp - 0x88], edx
lea edx, [ecx + ecx]
mov edx, dword [eax + edx*4 + 4]
mov dword [ebp - 0x80], edx
mov edx, dword [esi + 0x10]
sub edx, ecx
mov eax, dword [eax + edx*4]
mov ecx, dword [esi + 0x90]
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa0], ecx
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0xa4]
mov ecx, dword [esi + 0xc]
mov edx, ebx
sub edx, dword [esi + 0x74]
cmp dword [ebp - 0x98], 0x88
mov dword [ecx + eax*4], edx
jb 0x10030efc
mov dword [esi + 0x98], 2
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x84]
inc edx
push edx
mov edx, dword [ebp - 0x90]
push eax
movzx eax, byte [edi]
push esi
push ecx
movzx ecx, byte [eax + 0x10044870]
push edx
add ecx, edi
push ecx
push ebx
call fcn.10030160
add esp, 0x1c
cmp eax, 0xfffffc1a
jne 0x10030f73
mov edx, dword [esi + 0x8c]
mov edi, dword [esi + 0x70]
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0x7c]
mov ebx, dword [esi + 0x80]
add edi, dword [ebp - 0x8c]
mov dword [ebp - 0x84], edx
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0xa8], 1
mov dword [ebp - 0x90], ecx
jmp 0x10030ed2
cmp eax, 0xfffffc20
jne 0x10030f9c
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
shl ecx, 8
or ecx, edx
add ecx, edi
cmp dword [esi + 0x7c], ecx
jae 0x10033faa
cmp byte [edi], 0x77
je 0x10030fa4
cmp byte [ecx], 0x77
jmp 0x10030f9e
test eax, eax
jne 0x10033faa
mov eax, dword [ebp - 0xa0]
mov dword [esi + 0x90], eax
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
shl ecx, 8
or ecx, edx
add edi, ecx
cmp byte [edi], 0x77
je 0x10030ed2
cmp dword [ebp - 0xa8], 0
jne 0x10031004
mov ecx, dword [esi + 0xc]
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebp - 0x88]
add eax, eax
mov dword [ecx + eax*4], edx
mov ecx, dword [esi + 0xc]
mov edx, dword [ebp - 0x80]
mov dword [ecx + eax*4 + 4], edx
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0xa4]
mov ecx, dword [esi + 0xc]
mov edx, dword [ebp - 0xac]
mov dword [ecx + eax*4], edx
cmp dword [ebp - 0x94], 0
jne 0x1003101a
cmp dword [ebp - 0xa8], 0
je case.0x10033e26.14
add edi, 3
mov dword [ebp - 0x88], edi
jmp 0x10030240
mov dword [ebp - 0x94], 0
mov ecx, edi
sub ecx, dword [esi + 0x70]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x8c], ecx
mov ecx, dword [esi + 0x90]
mov dword [ebp - 0xa0], ecx
cmp eax, 0x88
jb 0x10031064
mov dword [esi + 0x98], 2
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x84]
inc edx
push edx
mov edx, dword [ebp - 0x90]
push eax
movzx eax, byte [edi]
push esi
push ecx
movzx ecx, byte [eax + 0x10044870]
push edx
add ecx, edi
push ecx
push ebx
call fcn.10030160
add esp, 0x1c
cmp eax, 0xfffffc1a
jne 0x100310d2
mov eax, dword [esi + 0x7c]
mov edx, dword [esi + 0x8c]
mov edi, dword [esi + 0x70]
mov ebx, dword [esi + 0x80]
add edi, dword [ebp - 0x8c]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x84], edx
mov dword [ebp - 0xa8], 1
jmp 0x10031053
cmp eax, 0xfffffc20
jne 0x100310fb
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
shl ecx, 8
or ecx, edx
add ecx, edi
cmp dword [esi + 0x7c], ecx
jae 0x10033faa
cmp byte [edi], 0x77
je 0x10031103
cmp byte [ecx], 0x77
jmp 0x100310fd
test eax, eax
jne 0x10033faa
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x77
jne 0x1003112e
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x98]
mov dword [esi + 0x90], edx
jmp 0x10031053
cmp dword [ebp - 0xa8], 0
jne 0x10031144
cmp dword [ebp - 0x94], 0
je case.0x10033e26.14
add edi, 3
mov dword [ebp - 0x88], edi
jmp 0x10030240
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
mov edx, edi
sub edx, eax
mov al, byte [edx]
mov dword [ebp - 0xa0], edx
cmp al, 0x88
jae 0x1003117f
cmp al, 0x81
je 0x1003117f
mov dword [ebp - 0xa8], 0
jmp 0x1003119c
mov ecx, dword [ebp - 0x9c]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0xa8], ecx
mov ecx, dword [ebp - 0x9c]
mov ecx, dword [ecx]
mov dword [ebp - 0x9c], ecx
cmp al, 0x7d
jb 0x100311a8
cmp al, 0x80
jbe 0x100336ee
cmp al, 0x82
je 0x100336ee
cmp al, 0x85
je 0x100311c4
cmp al, 0x8a
je 0x100311c4
cmp al, 0x86
je 0x100311c4
cmp al, 0x8b
jne 0x1003127c
movzx ecx, byte [edx + 3]
movzx edx, byte [edx + 4]
mov eax, dword [esi + 0xa4]
shl ecx, 8
or ecx, edx
mov dword [ebp - 0xa4], ecx
lea edx, [ecx + ecx]
test eax, eax
je 0x100311ed
cmp dword [eax + 4], ecx
je 0x1003371f
mov eax, dword [esi + 0x90]
and eax, 0xffff0000
or eax, ecx
mov dword [esi + 0x90], eax
cmp edx, dword [esi + 0x14]
jl 0x10031212
or eax, 0x10000
mov dword [esi + 0x90], eax
jmp 0x10031276
mov eax, dword [ebp - 0x84]
cmp edx, eax
jle 0x10031249
mov ecx, dword [esi + 0xc]
lea eax, [ecx + eax*4]
lea ecx, [ecx + edx*4]
mov dword [ebp - 0xac], eax
cmp eax, ecx
jae 0x10031243
mov edi, eax
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x88]
mov ecx, dword [ebp - 0xa4]
mov eax, dword [esi + 0x10]
sub eax, ecx
mov ecx, eax
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + ecx*4]
mov dword [eax + edx*4], ecx
mov ecx, dword [esi + 0xc]
mov eax, ebx
sub eax, dword [esi + 0x74]
mov dword [ecx + edx*4 + 4], eax
cmp dword [ebp - 0x84], edx
jg 0x10031276
add edx, 2
mov dword [ebp - 0x84], edx
mov edx, dword [ebp - 0xa0]
cmp byte [edi], 0x78
je 0x1003128d
cmp ebx, dword [ebp - 0xa8]
jne 0x10033017
add edi, 3
cmp byte [edx], 0x81
je 0x10033843
mov dword [ebp - 0x88], edi
jmp 0x10030240
cmp dword [esi + 0x44], 0
je case.0x10030269.1
cmp ebx, dword [esi + 0x74]
je case.0x10033e26.14
cmp ebx, dword [esi + 0x74]
jne case.0x10033e26.14
inc edi
mov dword [ebp - 0x88], edi
jmp 0x10030240
cmp dword [esi + 0x44], 0
je 0x100312d7
cmp ebx, dword [esi + 0x74]
je case.0x10033e26.14
mov eax, dword [esi + 0x74]
cmp ebx, eax
je 0x10031348
cmp ebx, dword [esi + 0x78]
je case.0x10033e26.14
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x1003131b
cmp ebx, eax
jbe case.0x10033e26.14
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push ebx
call fcn.10035130
add esp, 0x14
test eax, eax
je case.0x10033e26.14
inc edi
mov dword [ebp - 0x88], edi
jmp 0x10030240
mov ecx, dword [esi + 0x1c]
add eax, ecx
cmp ebx, eax
jb case.0x10033e26.14
mov eax, ebx
sub eax, ecx
mov dl, byte [eax]
cmp dl, byte [esi + 0x34]
jne case.0x10033e26.14
cmp ecx, 1
je 0x10031348
mov al, byte [eax + 1]
cmp al, byte [esi + 0x35]
jne case.0x10033e26.14
inc edi
mov dword [ebp - 0x88], edi
jmp 0x10030240
mov ecx, dword [esi + 0x94]
add ecx, dword [esi + 0x74]
cmp ebx, ecx
jne case.0x10033e26.14
inc edi
mov dword [ebp - 0x88], edi
jmp 0x10030240
inc edi
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x88], edi
jmp 0x10030240
mov eax, dword [esi + 0x78]
cmp ebx, eax
jae 0x10031415
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x100313ec
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push ebx
call fcn.10035060
add esp, 0x14
test eax, eax
jne 0x10031441
mov eax, dword [esi + 0x88]
test eax, eax
je case.0x10033e26.14
lea ecx, [ebx + 1]
cmp ecx, dword [esi + 0x78]
jb case.0x10033e26.14
cmp dword [esi + 0x18], 0
jne case.0x10033e26.14
cmp dword [esi + 0x1c], 2
jne case.0x10033e26.14
mov dl, byte [ebx]
cmp dl, byte [esi + 0x34]
jne case.0x10033e26.14
jmp 0x10033f69
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x100313ae
mov al, byte [ebx]
cmp al, byte [esi + 0x34]
jne 0x100313ae
cmp ecx, 1
je 0x10031441
mov cl, byte [ebx + 1]
cmp cl, byte [esi + 0x35]
jne 0x100313ae
inc edi
mov dword [ebp - 0x88], edi
jmp 0x10030240
cmp dword [esi + 0x48], 0
jne case.0x10033e26.14
mov eax, dword [esi + 0x88]
test eax, eax
je 0x10031441
cmp ebx, dword [esi + 0x84]
jbe 0x10031441
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x10033f79
inc edi
mov dword [ebp - 0x88], edi
jmp 0x10030240
cmp dword [esi + 0x48], 0
jne case.0x10033e26.14
cmp dword [esi + 0x58], 0
je case.0x10030269.23
cmp ebx, dword [esi + 0x78]
jb case.0x10033e26.14
mov eax, dword [esi + 0x88]
test eax, eax
je 0x10031441
cmp ebx, dword [esi + 0x84]
jbe 0x10031441
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x10033f79
inc edi
mov dword [ebp - 0x88], edi
jmp 0x10030240
mov eax, dword [esi + 0x78]
cmp ebx, eax
jae 0x100314f4
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x100314bd
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push ebx
call fcn.10035060
add esp, 0x14
test eax, eax
je 0x100313ae
jmp 0x100314e6
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x100313ae
mov dl, byte [ebx]
cmp dl, byte [esi + 0x34]
jne 0x100313ae
cmp ecx, 1
je 0x100314e6
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x35]
jne 0x100313ae
mov ecx, dword [esi + 0x78]
sub ecx, dword [esi + 0x1c]
cmp ebx, ecx
jne 0x100313ae
mov eax, dword [esi + 0x88]
test eax, eax
je 0x10031441
cmp ebx, dword [esi + 0x84]
jbe 0x10031441
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x10033f79
inc edi
mov dword [ebp - 0x88], edi
jmp 0x10030240
cmp ebx, dword [esi + 0x74]
jne 0x10031533
xor ecx, ecx
jmp 0x10031555
cmp ebx, dword [esi + 0x84]
ja 0x10031544
lea edx, [ebx - 1]
mov dword [esi + 0x84], edx
movzx ecx, byte [ebx - 1]
mov eax, dword [esi + 0x40]
movzx ecx, byte [ecx + eax]
shr ecx, 4
and ecx, 1
cmp ebx, dword [esi + 0x78]
jb 0x10031580
mov eax, dword [esi + 0x88]
test eax, eax
je 0x1003157c
cmp ebx, dword [esi + 0x84]
jbe 0x1003157c
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x10033f79
xor eax, eax
jmp 0x10031590
movzx eax, byte [ebx]
mov edx, dword [esi + 0x40]
movzx eax, byte [eax + edx]
shr eax, 4
and eax, 1
mov dl, byte [edi]
inc edi
mov dword [ebp - 0x88], edi
cmp dl, 5
jne 0x100315a7
xor edx, edx
cmp eax, ecx
sete dl
jmp 0x100315ae
xor edx, edx
cmp eax, ecx
setne dl
mov eax, edx
test eax, eax
je 0x10030240
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x100315f4
mov eax, dword [esi + 0x78]
cmp ebx, eax
jae 0x1003161c
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push ebx
call fcn.10035060
add esp, 0x14
test eax, eax
jne case.0x10033e26.14
jmp 0x1003161c
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x78]
sub ecx, eax
cmp ebx, ecx
ja 0x1003161c
mov dl, byte [ebx]
cmp dl, byte [esi + 0x34]
jne 0x1003161c
cmp eax, 1
je case.0x10033e26.14
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x35]
je case.0x10033e26.14
mov eax, dword [esi + 0x88]
test eax, eax
je case.0x10030269.13
lea ecx, [ebx + 1]
cmp ecx, dword [esi + 0x78]
jb case.0x10030269.13
cmp dword [esi + 0x18], 0
jne case.0x10030269.13
cmp dword [esi + 0x1c], 2
jne case.0x10030269.13
mov dl, byte [ebx]
cmp dl, byte [esi + 0x34]
jne case.0x10030269.13
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x10033f79
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
inc ebx
inc edi
mov dword [ebp - 0x88], edi
jmp 0x10030240
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x40]
inc ebx
test byte [eax + ecx], 4
jne case.0x10033e26.14
inc edi
mov dword [ebp - 0x88], edi
jmp 0x10030240
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx eax, byte [ebx]
mov edx, dword [esi + 0x40]
inc ebx
test byte [eax + edx], 4
je case.0x10033e26.14
inc edi
mov dword [ebp - 0x88], edi
jmp 0x10030240
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x40]
inc ebx
test byte [eax + ecx], 1
jne case.0x10033e26.14
inc edi
mov dword [ebp - 0x88], edi
jmp 0x10030240
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx eax, byte [ebx]
mov edx, dword [esi + 0x40]
inc ebx
test byte [eax + edx], 1
je case.0x10033e26.14
inc edi
mov dword [ebp - 0x88], edi
jmp 0x10030240
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x40]
inc ebx
test byte [eax + ecx], 0x10
jne case.0x10033e26.14
inc edi
mov dword [ebp - 0x88], edi
jmp 0x10030240
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx eax, byte [ebx]
mov edx, dword [esi + 0x40]
inc ebx
test byte [eax + edx], 0x10
je case.0x10033e26.14
inc edi
mov dword [ebp - 0x88], edi
jmp 0x10030240
mov ecx, dword [esi + 0x78]
cmp ebx, ecx
jae 0x10033f4f
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xd
ja 0x100317b5
je 0x10031771
cmp eax, 0xa
je 0x100317dc
jbe case.0x10033e26.14
cmp eax, 0xc
jmp 0x100317cc
cmp ebx, ecx
jb 0x100317a3
mov eax, dword [esi + 0x88]
test eax, eax
je 0x100317dc
cmp ebx, dword [esi + 0x84]
jbe 0x100317dc
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x10033f79
inc edi
mov dword [ebp - 0x88], edi
jmp 0x10030240
cmp byte [ebx], 0xa
jne 0x100317dc
inc ebx
inc edi
mov dword [ebp - 0x88], edi
jmp 0x10030240
cmp eax, 0x85
je 0x100317d2
cmp eax, 0x2027
jbe case.0x10033e26.14
cmp eax, 0x2029
ja case.0x10033e26.14
cmp dword [esi + 0x68], 0
jne case.0x10033e26.14
inc edi
mov dword [ebp - 0x88], edi
jmp 0x10030240
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx eax, byte [ebx]
inc ebx
cmp eax, 0x180e
ja 0x10031824
je case.0x10033e26.14
cmp eax, 0xa0
ja 0x1003181d
je case.0x10033e26.14
cmp eax, 9
je case.0x10033e26.14
cmp eax, 0x20
jmp 0x1003184f
cmp eax, 0x1680
jmp 0x1003184f
cmp eax, 0x205f
ja 0x1003184a
je case.0x10033e26.14
cmp eax, 0x2000
jb 0x10031855
cmp eax, 0x200a
jbe case.0x10033e26.14
cmp eax, 0x202f
jmp 0x1003184f
cmp eax, 0x3000
je case.0x10033e26.14
inc edi
mov dword [ebp - 0x88], edi
jmp 0x10030240
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx eax, byte [ebx]
inc ebx
cmp eax, 0x180e
ja 0x10031891
je 0x100318be
cmp eax, 0xa0
ja 0x1003188a
je 0x100318be
cmp eax, 9
je 0x100318be
cmp eax, 0x20
jmp 0x100318b8
cmp eax, 0x1680
jmp 0x100318b8
cmp eax, 0x205f
ja 0x100318b3
je 0x100318be
cmp eax, 0x2000
jb case.0x10033e26.14
cmp eax, 0x200a
jbe 0x100318be
cmp eax, 0x202f
jmp 0x100318b8
cmp eax, 0x3000
jne case.0x10033e26.14
inc edi
mov dword [ebp - 0x88], edi
jmp 0x10030240
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx eax, byte [ebx]
inc ebx
cmp eax, 0x85
ja 0x100318ee
je case.0x10033e26.14
cmp eax, 0xa
jb 0x10031900
cmp eax, 0xd
jmp 0x100318fa
cmp eax, 0x2028
jb 0x10031900
cmp eax, 0x2029
jbe case.0x10033e26.14
inc edi
mov dword [ebp - 0x88], edi
jmp 0x10030240
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx eax, byte [ebx]
inc ebx
cmp eax, 0x85
ja 0x10031930
je 0x10031946
cmp eax, 0xa
jb case.0x10033e26.14
cmp eax, 0xd
jmp 0x10031940
cmp eax, 0x2028
jb case.0x10033e26.14
cmp eax, 0x2029
ja case.0x10033e26.14
inc edi
mov dword [ebp - 0x88], edi
jmp 0x10030240
movzx edx, byte [edi + 3]
xor ecx, ecx
cmp eax, 0x74
movzx eax, byte [edi + 4]
sete cl
shl edx, 8
or edx, eax
movzx eax, byte [edi + 1]
shl eax, 8
mov dword [ebp - 0xa8], ecx
movzx ecx, byte [edi + 2]
or eax, ecx
imul eax, dword [esi + 0x24]
add eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x50]
add edi, 5
neg ecx
sbb ecx, ecx
neg ecx
dec ecx
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0xa4], 0
test edx, edx
jle 0x10031a56
lea esp, [esp]
movzx ecx, byte [eax + 1]
dec edx
mov dword [ebp - 0xac], edx
movzx edx, byte [eax]
shl edx, 8
or ecx, edx
add ecx, ecx
mov dword [ebp - 0xa4], ecx
cmp ecx, dword [ebp - 0x84]
jge 0x100319dc
mov edx, dword [esi + 0xc]
cmp dword [edx + ecx*4], 0
jge 0x100319f1
mov edx, dword [ebp - 0xac]
add eax, dword [esi + 0x24]
test edx, edx
jg 0x100319b0
mov ecx, dword [ebp - 0x8c]
jmp 0x10031a56
mov eax, dword [esi + 0xc]
lea eax, [eax + ecx*4]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
jmp 0x10031a50
movzx edx, byte [edi + 2]
xor ecx, ecx
cmp eax, 0x72
movzx eax, byte [edi + 1]
sete cl
shl eax, 8
or eax, edx
add eax, eax
add edi, 3
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x88], edi
mov dword [ebp - 0xa8], ecx
cmp eax, dword [ebp - 0x84]
jge 0x10031a46
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx + eax*4]
lea eax, [ecx + eax*4]
test edx, edx
js 0x10031a46
mov ecx, dword [eax + 4]
sub ecx, edx
jmp 0x10031a50
mov ecx, dword [esi + 0x50]
neg ecx
sbb ecx, ecx
neg ecx
dec ecx
mov dword [ebp - 0x8c], ecx
movzx eax, byte [edi]
lea edx, [eax - 0x62]
cmp edx, 7
ja case.default.0x10031a6c
movzx edx, byte [edx + 0x100341b8]
jmp dword [edx*4 + 0x100341b0]
lea edx, [eax - 0x62]
and edx, 1
mov dword [ebp - 0xa0], edx
movsx edx, byte [eax + 0x100447f6]
movsx eax, byte [eax + 0x10044802]
inc edi
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x94], eax
test eax, eax
jne 0x10031b01
mov eax, 0x7fffffff
mov dword [ebp - 0x94], eax
jmp 0x10031b01
movzx edx, byte [edi + 2]
xor eax, eax
cmp byte [edi], 0x69
sete al
mov dword [ebp - 0xa0], eax
movzx eax, byte [edi + 1]
shl eax, 8
or eax, edx
movzx edx, byte [edi + 4]
mov dword [ebp - 0x98], eax
movzx eax, byte [edi + 3]
shl eax, 8
or eax, edx
mov dword [ebp - 0x94], eax
jne 0x10031af2
mov eax, 0x7fffffff
mov dword [ebp - 0x94], eax
mov edx, dword [ebp - 0x98]
add edi, 5
mov dword [ebp - 0x88], edi
test ecx, ecx
je 0x10030240
jns 0x10031b13
test edx, edx
je 0x10030240
mov dword [ebp - 0x80], 1
cmp edx, 1
jl 0x10031b65
nop
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0xa4]
push eax
push ecx
mov ecx, esi
mov eax, ebx
call fcn.100300b0
add esp, 8
test eax, eax
js 0x10033892
add ebx, eax
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp eax, dword [ebp - 0x98]
jle 0x10031b20
mov eax, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
cmp edx, eax
je 0x10030240
cmp dword [ebp - 0xa0], 0
je 0x100338da
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x98]
inc ecx
push ecx
mov ecx, dword [ebp - 0x90]
push edx
push esi
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x84]
push eax
push ecx
push edi
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
jne 0x10033faa
mov edx, dword [ebp - 0x94]
cmp dword [ebp - 0x80], edx
jge case.0x10033e26.14
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0xa4]
push eax
push ecx
mov ecx, esi
mov eax, ebx
call fcn.100300b0
add esp, 8
test eax, eax
js 0x100338b6
mov edx, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x84]
inc dword [ebp - 0x80]
inc edx
push edx
mov edx, dword [ebp - 0x90]
add ebx, eax
mov eax, dword [ebp - 0x9c]
push eax
push esi
push ecx
push edx
push edi
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
je 0x10031bb0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x8c]
push edx
mov edx, dword [ebp - 0xa4]
push eax
mov ecx, esi
mov eax, ebx
call fcn.100300b0
add esp, 8
test eax, eax
js 0x100339ae
add ebx, eax
jmp 0x10030240
mov al, byte [edi + 0x21]
lea ecx, [edi + 1]
add edi, 0x21
mov dword [ebp - 0x8c], ecx
movzx ecx, al
lea edx, [ecx - 0x62]
mov dword [ebp - 0x88], edi
cmp edx, 0xb
ja case.default.0x10031c80
movzx edx, byte [edx + 0x100341c8]
jmp dword [edx*4 + 0x100341c0]
lea eax, [ecx - 0x62]
inc edi
mov dword [ebp - 0x88], edi
cmp eax, 8
jae 0x10031ca3
mov ecx, eax
and ecx, 1
mov dword [ebp - 0xa0], ecx
jmp 0x10031cad
mov dword [ebp - 0xa8], 1
movsx ecx, byte [eax + 0x10044858]
movsx eax, byte [eax + 0x10044864]
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x94], eax
test eax, eax
jne 0x10031d3d
mov eax, 0x7fffffff
jmp 0x10031d37
xor ecx, ecx
cmp al, 0x69
sete cl
xor edx, edx
cmp al, 0x6d
movzx eax, byte [edi + 2]
sete dl
mov dword [ebp - 0xa0], ecx
movzx ecx, byte [edi + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [edi + 3]
mov dword [ebp - 0xa8], edx
movzx edx, byte [edi + 4]
shl eax, 8
or eax, edx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x94], eax
jne 0x10031d1f
mov eax, 0x7fffffff
mov dword [ebp - 0x94], eax
add edi, 5
mov dword [ebp - 0x88], edi
jmp 0x10031d3d
mov eax, 1
mov ecx, eax
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x80], 1
cmp ecx, 1
jl 0x10031d94
lea esp, [esp]
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx eax, byte [ebx]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [ebp - 0x8c]
shr eax, 3
mov al, byte [eax + ecx]
inc ebx
test al, dl
je case.0x10033e26.14
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x98]
inc eax
mov dword [ebp - 0x80], eax
cmp eax, ecx
jle 0x10031d50
mov eax, dword [ebp - 0x94]
cmp ecx, eax
je 0x10030240
cmp dword [ebp - 0xa0], 0
jne 0x100339d2
mov dword [ebp - 0x98], ebx
cmp ecx, eax
jge 0x10031e1e
mov dword [ebp - 0xac], ecx
lea esp, [esp]
cmp ebx, dword [esi + 0x78]
jae 0x10031dfc
movzx eax, byte [ebx]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [ebp - 0x8c]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je 0x10031e1e
mov eax, dword [ebp - 0xac]
inc eax
inc ebx
mov dword [ebp - 0xac], eax
cmp eax, dword [ebp - 0x94]
jl 0x10031dc0
jmp 0x10031e1e
mov eax, dword [esi + 0x88]
test eax, eax
je 0x10031e1e
cmp ebx, dword [esi + 0x84]
jbe 0x10031e1e
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x10033f79
cmp dword [ebp - 0xa8], 0
jne 0x10030240
cmp ebx, dword [ebp - 0x98]
jb case.0x10033e26.14
mov edi, dword [ebp - 0x88]
lea esp, [esp]
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x84]
inc edx
push edx
mov edx, dword [ebp - 0x90]
push eax
push esi
push ecx
push edx
push edi
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
jne 0x10033faa
dec ebx
cmp ebx, dword [ebp - 0x98]
jae 0x10031e40
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x78]
sub ecx, ebx
cmp ecx, 1
jl 0x10033f4f
mov dl, byte [ebx]
inc ebx
cmp byte [edi + 1], dl
jne case.0x10033e26.14
add edi, 2
mov dword [ebp - 0x88], edi
jmp 0x10030240
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx ecx, byte [edi + 1]
mov eax, dword [esi + 0x38]
movzx edx, byte [ebx]
mov cl, byte [ecx + eax]
cmp cl, byte [edx + eax]
jne case.0x10033e26.14
inc ebx
add edi, 2
mov dword [ebp - 0x88], edi
jmp 0x10030240
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl edx, 8
or edx, eax
mov ecx, edx
add edi, 3
jmp 0x10031f91
mov dword [ebp - 0xa8], 1
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl edx, 8
or edx, eax
mov al, byte [edi]
xor ecx, ecx
mov dword [ebp - 0x94], edx
cmp al, 0x28
je 0x10031f1d
mov dword [ebp - 0xa0], ecx
cmp al, 0x35
jne 0x10031f27
mov dword [ebp - 0xa0], 1
add edi, 3
jmp 0x10031f97
xor ecx, ecx
mov dword [ebp - 0xa8], 1
inc edi
jmp 0x10031f8c
mov ecx, 1
mov dword [ebp - 0xa8], ecx
add edi, ecx
jmp 0x10031f8c
mov edx, 1
xor ecx, ecx
mov dword [ebp - 0xa8], edx
add edi, edx
jmp 0x10031f91
cmp eax, 0x2e
sbb ecx, ecx
and ecx, 0xfffffff3
add ecx, 0x2e
sub eax, ecx
movsx edx, byte [eax + 0x10044864]
mov ecx, eax
and ecx, 1
inc edi
mov dword [ebp - 0xa0], ecx
movsx ecx, byte [eax + 0x10044858]
mov dword [ebp - 0x94], edx
test edx, edx
jne 0x10031f97
mov edx, 0x7fffffff
mov dword [ebp - 0x94], edx
movzx eax, byte [edi]
inc edi
cmp dword [ebp - 0x98], 0x2e
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], edi
jb 0x100320cc
mov edx, dword [esi + 0x3c]
movzx edx, byte [edx + eax]
mov dword [ebp - 0xa4], edx
cmp ecx, 1
jl 0x10032002
mov dword [ebp - 0xac], 1
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx eax, byte [ebx]
cmp dword [ebp - 0x8c], eax
je 0x10031ff0
cmp dword [ebp - 0xa4], eax
jne case.0x10033e26.14
mov eax, dword [ebp - 0xac]
inc eax
inc ebx
mov dword [ebp - 0xac], eax
cmp eax, ecx
jle 0x10031fd0
mov eax, dword [ebp - 0x94]
cmp ecx, eax
je 0x10030240
cmp dword [ebp - 0xa0], 0
jne 0x10033a89
mov dword [ebp - 0x98], ebx
cmp ecx, eax
jge 0x10032072
mov edx, dword [ebp - 0x8c]
lea ecx, [ecx]
cmp ebx, dword [esi + 0x78]
jae 0x10032050
movzx eax, byte [ebx]
cmp edx, eax
je 0x10032044
cmp dword [ebp - 0xa4], eax
jne 0x10032072
inc ecx
inc ebx
cmp ecx, dword [ebp - 0x94]
jl 0x10032030
jmp 0x10032072
mov eax, dword [esi + 0x88]
test eax, eax
je 0x10032072
cmp ebx, dword [esi + 0x84]
jbe 0x10032072
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x10033f79
cmp dword [ebp - 0xa8], 0
jne 0x10030240
cmp ebx, dword [ebp - 0x98]
je 0x10032bc3
mov edi, dword [ebp - 0x88]
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x84]
inc eax
push eax
mov eax, dword [ebp - 0x90]
push ecx
push esi
push edx
push eax
push edi
push ebx
call fcn.10030160
add esp, 0x1c
dec ebx
test eax, eax
jne 0x10033faa
cmp ebx, dword [ebp - 0x98]
jne 0x10032091
jmp 0x10032bc3
mov dword [ebp - 0x80], 1
cmp ecx, 1
jl 0x10032106
mov edx, dword [ebp - 0x8c]
mov edi, edi
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx eax, byte [ebx]
inc ebx
cmp edx, eax
jne case.0x10033e26.14
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp eax, ecx
jle 0x100320e0
mov edx, dword [ebp - 0x94]
cmp ecx, edx
je 0x10030240
cmp dword [ebp - 0xa0], 0
mov dword [ebp - 0x80], ecx
jne 0x10033b2d
mov dword [ebp - 0x98], ebx
cmp ecx, edx
jge 0x1003216c
mov ecx, dword [ebp - 0x8c]
mov edi, edi
cmp ebx, dword [esi + 0x78]
jae 0x1003214a
movzx eax, byte [ebx]
cmp ecx, eax
jne 0x1003216c
mov eax, dword [ebp - 0x80]
inc eax
inc ebx
mov dword [ebp - 0x80], eax
cmp eax, edx
jl 0x10032130
jmp 0x1003216c
mov eax, dword [esi + 0x88]
test eax, eax
je 0x1003216c
cmp ebx, dword [esi + 0x84]
jbe 0x1003216c
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x10033f79
cmp dword [ebp - 0xa8], 0
jne 0x10030240
cmp ebx, dword [ebp - 0x98]
je 0x10032bc3
mov edi, dword [ebp - 0x88]
jmp 0x10032190
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x84]
inc ecx
push ecx
mov ecx, dword [ebp - 0x90]
push edx
push esi
push eax
push ecx
push edi
push ebx
call fcn.10030160
add esp, 0x1c
dec ebx
test eax, eax
jne 0x10033faa
cmp ebx, dword [ebp - 0x98]
jne 0x10032190
jmp 0x10032bc3
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx edx, byte [ebx]
movzx ecx, byte [edi + 1]
inc ebx
cmp ecx, edx
je case.0x10033e26.14
cmp eax, 0x20
jne 0x100321f8
mov eax, dword [esi + 0x3c]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je case.0x10033e26.14
add edi, 2
mov dword [ebp - 0x88], edi
jmp 0x10030240
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
shl ecx, 8
or ecx, edx
mov dword [ebp - 0x98], ecx
add edi, 3
jmp 0x10032312
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
shl ecx, 8
or ecx, edx
mov dl, byte [edi]
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], ecx
cmp dl, 0x42
je 0x10032254
mov dword [ebp - 0xa0], 0
cmp dl, 0x4f
jne 0x1003225e
mov dword [ebp - 0xa0], 1
add edi, 3
jmp 0x10032318
mov dword [ebp - 0xa8], 1
mov dword [ebp - 0x98], 0
inc edi
jmp 0x1003230d
mov edx, 1
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0x98], edx
add edi, edx
jmp 0x1003230d
mov ecx, 1
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0x98], 0
add edi, ecx
jmp 0x10032312
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
shl ecx, 8
or ecx, edx
mov dword [ebp - 0xa8], 1
mov dword [ebp - 0x98], 0
add edi, 3
jmp 0x10032312
cmp eax, 0x48
sbb edx, edx
and edx, 0xfffffff3
add edx, 0x48
mov ecx, eax
sub ecx, edx
mov edx, ecx
and edx, 1
mov dword [ebp - 0xa0], edx
movsx edx, byte [ecx + 0x10044858]
movsx ecx, byte [ecx + 0x10044864]
inc edi
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x94], ecx
test ecx, ecx
jne 0x10032318
mov ecx, 0x7fffffff
mov dword [ebp - 0x94], ecx
movzx edx, byte [edi]
inc edi
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x80], 1
cmp eax, 0x48
jb 0x1003246b
mov eax, dword [esi + 0x3c]
movzx eax, byte [eax + edx]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x98]
cmp eax, 1
jl 0x10032398
jmp 0x10032366
mov edx, dword [ebp - 0x8c]
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx eax, byte [ebx]
cmp edx, eax
je case.0x10033e26.14
cmp dword [ebp - 0xa4], eax
je case.0x10033e26.14
mov edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x98]
inc edx
inc ebx
mov dword [ebp - 0x80], edx
cmp edx, eax
jle 0x10032360
cmp eax, ecx
je 0x10030240
cmp dword [ebp - 0xa0], 0
mov dword [ebp - 0x80], eax
jne 0x10033bc5
mov dword [ebp - 0x98], ebx
cmp eax, ecx
jge 0x10032408
lea ebx, [ebx]
cmp ebx, dword [esi + 0x78]
jae 0x100323e6
movzx eax, byte [ebx]
cmp dword [ebp - 0x8c], eax
je 0x10032408
cmp dword [ebp - 0xa4], eax
je 0x10032408
mov eax, dword [ebp - 0x80]
inc eax
inc ebx
mov dword [ebp - 0x80], eax
cmp eax, ecx
jl 0x100323c0
jmp 0x10032408
mov eax, dword [esi + 0x88]
test eax, eax
je 0x10032408
cmp ebx, dword [esi + 0x84]
jbe 0x10032408
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x10033f79
cmp dword [ebp - 0xa8], 0
jne 0x10030240
cmp ebx, dword [ebp - 0x98]
je 0x10032bc3
mov edi, dword [ebp - 0x88]
jmp 0x10032430
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x84]
inc edx
push edx
mov edx, dword [ebp - 0x90]
push eax
push esi
push ecx
push edx
push edi
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
jne 0x10033faa
dec ebx
cmp ebx, dword [ebp - 0x98]
jne 0x10032430
jmp 0x10032bc3
mov eax, dword [ebp - 0x98]
cmp eax, 1
jl 0x100324ac
jmp 0x10032486
mov edx, dword [ebp - 0x8c]
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx eax, byte [ebx]
inc ebx
cmp edx, eax
je case.0x10033e26.14
mov edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x98]
inc edx
mov dword [ebp - 0x80], edx
cmp edx, eax
jle 0x10032480
cmp eax, ecx
je 0x10030240
cmp dword [ebp - 0xa0], 0
mov dword [ebp - 0x80], eax
jne 0x10033c71
mov dword [ebp - 0x98], ebx
cmp eax, ecx
jge 0x10032510
mov edx, dword [ebp - 0x8c]
cmp ebx, dword [esi + 0x78]
jae 0x100324ee
movzx eax, byte [ebx]
cmp edx, eax
je 0x10032510
mov eax, dword [ebp - 0x80]
inc eax
inc ebx
mov dword [ebp - 0x80], eax
cmp eax, ecx
jl 0x100324d4
jmp 0x10032510
mov eax, dword [esi + 0x88]
test eax, eax
je 0x10032510
cmp ebx, dword [esi + 0x84]
jbe 0x10032510
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x10033f79
cmp dword [ebp - 0xa8], 0
jne 0x10030240
cmp ebx, dword [ebp - 0x98]
je 0x10032bc3
mov edi, dword [ebp - 0x88]
nop
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x84]
inc eax
push eax
mov eax, dword [ebp - 0x90]
push ecx
push esi
push edx
push eax
push edi
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
jne 0x10033faa
dec ebx
cmp ebx, dword [ebp - 0x98]
jne 0x10032530
jmp 0x10032bc3
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
shl ecx, 8
or ecx, edx
mov eax, ecx
mov dword [ebp - 0x98], eax
mov dword [ebp - 0xa0], 1
add edi, 3
jmp 0x10032660
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
shl ecx, 8
or ecx, edx
mov dword [ebp - 0x94], ecx
xor ecx, ecx
xor eax, eax
cmp byte [edi], 0x5c
mov dword [ebp - 0x98], eax
sete cl
add edi, 3
mov dword [ebp - 0xa0], ecx
mov ecx, dword [ebp - 0x94]
jmp 0x10032666
xor eax, eax
mov dword [ebp - 0xa8], 1
mov dword [ebp - 0x98], eax
inc edi
jmp 0x1003265b
mov eax, 1
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x98], eax
add edi, eax
jmp 0x1003265b
mov ecx, 1
xor eax, eax
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0x98], eax
add edi, ecx
jmp 0x10032660
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
shl ecx, 8
xor eax, eax
or ecx, edx
mov dword [ebp - 0xa8], 1
mov dword [ebp - 0x98], eax
add edi, 3
jmp 0x10032660
lea ecx, [eax - 0x55]
mov eax, ecx
and eax, 1
mov dword [ebp - 0xa0], eax
movsx eax, byte [ecx + 0x10044858]
movsx ecx, byte [ecx + 0x10044864]
inc edi
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], ecx
test ecx, ecx
jne 0x10032666
mov ecx, 0x7fffffff
mov dword [ebp - 0x94], ecx
movzx edx, byte [edi]
inc edi
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x88], edi
test eax, eax
jle 0x10032a41
add edx, 0xfffffffa
cmp edx, 0xf
ja case.0x10033dc0.15
jmp dword [edx*4 + 0x100341d4]
mov dword [ebp - 0x80], 1
cmp eax, 1
jl 0x10032a41
mov ecx, dword [esi + 0x78]
cmp ebx, ecx
jae 0x10033f4f
mov edx, dword [esi + 0x18]
test edx, edx
je 0x100326d4
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
push edx
push ebx
call fcn.10035060
add esp, 0x14
test eax, eax
jne case.0x10033e26.14
mov eax, dword [ebp - 0x98]
jmp 0x100326f9
mov edx, dword [esi + 0x1c]
sub ecx, edx
cmp ebx, ecx
ja 0x100326f9
mov cl, byte [ebx]
cmp cl, byte [esi + 0x34]
jne 0x100326f9
cmp edx, 1
je case.0x10033e26.14
mov dl, byte [ebx + 1]
cmp dl, byte [esi + 0x35]
je case.0x10033e26.14
cmp dword [esi + 0x88], 0
mov ecx, dword [ebp - 0x94]
je 0x10032737
lea edx, [ebx + 1]
cmp edx, dword [esi + 0x78]
jb 0x10032737
cmp dword [esi + 0x18], 0
jne 0x10032737
cmp dword [esi + 0x1c], 2
jne 0x10032737
mov dl, byte [ebx]
cmp dl, byte [esi + 0x34]
jne 0x10032737
cmp dword [esi + 0x88], 1
mov dword [esi + 0x64], 1
jg 0x10033f79
inc dword [ebp - 0x80]
inc ebx
cmp dword [ebp - 0x80], eax
jle 0x100326a1
jmp 0x10032a41
mov edx, dword [esi + 0x78]
sub edx, eax
cmp ebx, edx
ja 0x10033f4f
add ebx, eax
jmp 0x10032a41
mov dword [ebp - 0x80], 1
cmp eax, 1
jl 0x10032a41
lea ecx, [ecx]
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx edx, byte [ebx]
sub edx, 0xa
inc ebx
cmp edx, 0x7b
ja case.0x10033e26.14
movzx edx, byte [edx + 0x10034224]
jmp dword [edx*4 + 0x10034214]
cmp ebx, dword [esi + 0x78]
jae case.0x10032790.10
cmp byte [ebx], 0xa
jne case.0x10032790.10
inc ebx
jmp case.0x10032790.10
cmp dword [esi + 0x68], 0
jne case.0x10033e26.14
mov edx, dword [ebp - 0x80]
inc edx
mov dword [ebp - 0x80], edx
cmp edx, eax
jle 0x10032770
jmp 0x10032a41
mov dword [ebp - 0x80], 1
cmp eax, 1
jl 0x10032a41
mov edi, edi
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx edx, byte [ebx]
inc ebx
cmp edx, 9
je case.0x10033e26.14
cmp edx, 0x20
je case.0x10033e26.14
cmp edx, 0xa0
je case.0x10033e26.14
mov edx, dword [ebp - 0x80]
inc edx
mov dword [ebp - 0x80], edx
cmp edx, eax
jle 0x100327d0
jmp 0x10032a41
mov dword [ebp - 0x80], 1
cmp eax, 1
jl 0x10032a41
jmp 0x10032820
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx edx, byte [ebx]
inc ebx
cmp edx, 9
je 0x10032843
cmp edx, 0x20
je 0x10032843
cmp edx, 0xa0
jne case.0x10033e26.14
mov edx, dword [ebp - 0x80]
inc edx
mov dword [ebp - 0x80], edx
cmp edx, eax
jle 0x10032820
jmp 0x10032a41
mov dword [ebp - 0x80], 1
cmp eax, 1
jl 0x10032a41
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx edx, byte [ebx]
inc ebx
cmp edx, 0xa
jl 0x1003288a
cmp edx, 0xd
jle case.0x10033e26.14
cmp edx, 0x85
je case.0x10033e26.14
mov edx, dword [ebp - 0x80]
inc edx
mov dword [ebp - 0x80], edx
cmp edx, eax
jle 0x10032863
jmp 0x10032a41
mov dword [ebp - 0x80], 1
cmp eax, 1
jl 0x10032a41
lea ebx, [ebx]
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx edx, byte [ebx]
inc ebx
cmp edx, 0xa
jl case.0x10033e26.14
cmp edx, 0xd
jle 0x100328d7
cmp edx, 0x85
jne case.0x10033e26.14
mov edx, dword [ebp - 0x80]
inc edx
mov dword [ebp - 0x80], edx
cmp edx, eax
jle 0x100328b0
jmp 0x10032a41
mov dword [ebp - 0x80], 1
cmp eax, 1
jl 0x10032a41
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx ecx, byte [ebx]
mov edx, dword [esi + 0x40]
test byte [ecx + edx], 4
jne case.0x10033e26.14
mov ecx, dword [ebp - 0x80]
inc ecx
inc ebx
mov dword [ebp - 0x80], ecx
cmp ecx, eax
jle 0x100328f7
jmp 0x10032a3b
mov dword [ebp - 0x80], 1
cmp eax, 1
jl 0x10032a41
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx ecx, byte [ebx]
mov edx, dword [esi + 0x40]
test byte [ecx + edx], 4
je case.0x10033e26.14
mov ecx, dword [ebp - 0x80]
inc ecx
inc ebx
mov dword [ebp - 0x80], ecx
cmp ecx, eax
jle 0x10032931
jmp 0x10032a3b
mov dword [ebp - 0x80], 1
cmp eax, 1
jl 0x10032a41
jmp 0x10032970
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx ecx, byte [ebx]
mov edx, dword [esi + 0x40]
test byte [ecx + edx], 1
jne case.0x10033e26.14
mov ecx, dword [ebp - 0x80]
inc ecx
inc ebx
mov dword [ebp - 0x80], ecx
cmp ecx, eax
jle 0x10032970
jmp 0x10032a3b
mov dword [ebp - 0x80], 1
cmp eax, 1
jl 0x10032a41
lea ebx, [ebx]
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx ecx, byte [ebx]
mov edx, dword [esi + 0x40]
test byte [ecx + edx], 1
je case.0x10033e26.14
mov ecx, dword [ebp - 0x80]
inc ecx
inc ebx
mov dword [ebp - 0x80], ecx
cmp ecx, eax
jle 0x100329b0
jmp 0x10032a3b
mov dword [ebp - 0x80], 1
cmp eax, 1
jl 0x10032a41
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx ecx, byte [ebx]
mov edx, dword [esi + 0x40]
test byte [ecx + edx], 0x10
jne case.0x10033e26.14
mov ecx, dword [ebp - 0x80]
inc ecx
inc ebx
mov dword [ebp - 0x80], ecx
cmp ecx, eax
jle 0x100329e3
jmp 0x10032a3b
mov dword [ebp - 0x80], 1
cmp eax, 1
jl 0x10032a41
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx ecx, byte [ebx]
mov edx, dword [esi + 0x40]
test byte [ecx + edx], 0x10
je case.0x10033e26.14
mov ecx, dword [ebp - 0x80]
inc ecx
inc ebx
mov dword [ebp - 0x80], ecx
cmp ecx, eax
jle 0x10032a16
mov ecx, dword [ebp - 0x94]
cmp eax, ecx
je 0x10030240
cmp dword [ebp - 0xa0], 0
jne 0x10033d05
mov edx, dword [ebp - 0x8c]
add edx, 0xfffffffa
mov dword [ebp - 0x98], ebx
cmp edx, 0xf
ja case.0x10033dc0.15
jmp dword [edx*4 + 0x100342a0]
mov dword [ebp - 0x80], eax
cmp eax, ecx
jge 0x10032b50
mov eax, dword [esi + 0x78]
cmp ebx, eax
jae 0x10032b2e
mov edx, dword [esi + 0x18]
test edx, edx
je 0x10032ab3
push 0
lea ecx, [esi + 0x1c]
push ecx
push eax
push edx
push ebx
call fcn.10035060
add esp, 0x14
test eax, eax
jne 0x10032b50
mov ecx, dword [ebp - 0x94]
jmp 0x10032ad4
mov edx, dword [esi + 0x1c]
sub eax, edx
cmp ebx, eax
ja 0x10032ad4
mov al, byte [ebx]
cmp al, byte [esi + 0x34]
jne 0x10032ad4
cmp edx, 1
je 0x10032b50
mov dl, byte [ebx + 1]
cmp dl, byte [esi + 0x35]
je 0x10032b50
mov eax, dword [esi + 0x88]
test eax, eax
je 0x10032b09
lea edx, [ebx + 1]
cmp edx, dword [esi + 0x78]
jb 0x10032b09
cmp dword [esi + 0x18], 0
jne 0x10032b09
cmp dword [esi + 0x1c], 2
jne 0x10032b09
mov dl, byte [ebx]
cmp dl, byte [esi + 0x34]
jne 0x10032b09
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x10033f79
mov eax, dword [ebp - 0x80]
inc eax
inc ebx
mov dword [ebp - 0x80], eax
cmp eax, ecx
jl 0x10032a80
jmp 0x10032b50
sub ecx, eax
mov eax, dword [esi + 0x78]
mov edx, eax
sub edx, ebx
cmp ecx, edx
jbe 0x10032be6
mov ebx, eax
mov eax, dword [esi + 0x88]
test eax, eax
je 0x10032b50
cmp ebx, dword [esi + 0x84]
jbe 0x10032b50
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x10033f79
cmp dword [ebp - 0xa8], 0
jne 0x10030240
cmp ebx, dword [ebp - 0x98]
je 0x10032bc3
mov edi, dword [ebp - 0x88]
jmp 0x10032b70
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x84]
inc ecx
push ecx
mov ecx, dword [ebp - 0x90]
push edx
push esi
push eax
push ecx
push edi
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
jne 0x10033faa
dec ebx
cmp dword [ebp - 0x8c], 0x11
jne 0x10032bbb
cmp ebx, dword [ebp - 0x98]
jbe 0x10032bc1
cmp byte [ebx], 0xa
jne 0x10032bbb
cmp byte [ebx - 1], 0xd
jne 0x10032bbb
dec ebx
cmp ebx, dword [ebp - 0x98]
jne 0x10032b70
mov edx, dword [esi]
cmp edx, dword [esi + 4]
jb 0x100301f3
inc dword [esi]
pop edi
pop esi
mov eax, 0xfffffff8
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
add ebx, ecx
jmp 0x10032b50
cmp eax, ecx
jge 0x10032b50
cmp ebx, dword [esi + 0x78]
jae 0x10032b2e
movzx edx, byte [ebx]
cmp edx, 0xd
jne 0x10032c17
inc ebx
cmp ebx, dword [esi + 0x78]
jae 0x10032b50
cmp byte [ebx], 0xa
jne 0x10032c3d
jmp 0x10032c3c
cmp edx, 0xa
je 0x10032c3c
cmp dword [esi + 0x68], 0
jne 0x10032b50
cmp edx, 0xb
je 0x10032c3c
cmp edx, 0xc
je 0x10032c3c
cmp edx, 0x85
jne 0x10032b50
inc ebx
inc eax
cmp eax, ecx
jl 0x10032bf5
jmp 0x10032b50
cmp eax, ecx
jge 0x10032b50
nop
cmp ebx, dword [esi + 0x78]
jae 0x10032b2e
mov dl, byte [ebx]
cmp dl, 9
je 0x10032b50
cmp dl, 0x20
je 0x10032b50
cmp dl, 0xa0
je 0x10032b50
inc eax
inc ebx
cmp eax, ecx
jl 0x10032c50
jmp 0x10032b50
cmp eax, ecx
jge 0x10032b50
lea esp, [esp]
cmp ebx, dword [esi + 0x78]
jae 0x10032b2e
mov dl, byte [ebx]
cmp dl, 9
je 0x10032cae
cmp dl, 0x20
je 0x10032cae
cmp dl, 0xa0
jne 0x10032b50
inc eax
inc ebx
cmp eax, ecx
jl 0x10032c90
jmp 0x10032b50
cmp eax, ecx
jge 0x10032b50
cmp ebx, dword [esi + 0x78]
jae 0x10032b2e
mov dl, byte [ebx]
cmp dl, 0xa
jb 0x10032ce3
cmp dl, 0xd
jbe 0x10032b50
cmp dl, 0x85
je 0x10032b50
inc eax
inc ebx
cmp eax, ecx
jl 0x10032cc1
jmp 0x10032b50
cmp eax, ecx
jge 0x10032b50
cmp ebx, dword [esi + 0x78]
jae 0x10032b2e
mov dl, byte [ebx]
cmp dl, 0xa
jb 0x10032b50
cmp dl, 0xd
jbe 0x10032d18
cmp dl, 0x85
jne 0x10032b50
inc eax
inc ebx
cmp eax, ecx
jl 0x10032cf6
jmp 0x10032b50
mov dword [ebp - 0x80], eax
cmp eax, ecx
jge 0x10032b50
mov edi, edi
cmp ebx, dword [esi + 0x78]
jae 0x10032b2e
movzx eax, byte [ebx]
mov edx, dword [esi + 0x40]
test byte [eax + edx], 4
jne 0x10032b50
mov eax, dword [ebp - 0x80]
inc eax
inc ebx
mov dword [ebp - 0x80], eax
cmp eax, ecx
jl 0x10032d30
jmp 0x10032b50
mov dword [ebp - 0x80], eax
cmp eax, ecx
jge 0x10032b50
cmp ebx, dword [esi + 0x78]
jae 0x10032b2e
movzx eax, byte [ebx]
mov edx, dword [esi + 0x40]
test byte [eax + edx], 4
je 0x10032b50
mov eax, dword [ebp - 0x80]
inc eax
inc ebx
mov dword [ebp - 0x80], eax
cmp eax, ecx
jl 0x10032d65
jmp 0x10032b50
mov dword [ebp - 0x80], eax
cmp eax, ecx
jge 0x10032b50
lea ebx, [ebx]
cmp ebx, dword [esi + 0x78]
jae 0x10032b2e
movzx eax, byte [ebx]
mov edx, dword [esi + 0x40]
test byte [eax + edx], 1
jne 0x10032b50
mov eax, dword [ebp - 0x80]
inc eax
inc ebx
mov dword [ebp - 0x80], eax
cmp eax, ecx
jl 0x10032da0
jmp 0x10032b50
mov dword [ebp - 0x80], eax
cmp eax, ecx
jge 0x10032b50
cmp ebx, dword [esi + 0x78]
jae 0x10032b2e
movzx eax, byte [ebx]
mov edx, dword [esi + 0x40]
test byte [eax + edx], 1
je 0x10032b50
mov eax, dword [ebp - 0x80]
inc eax
inc ebx
mov dword [ebp - 0x80], eax
cmp eax, ecx
jl 0x10032dd5
jmp 0x10032b50
mov dword [ebp - 0x80], eax
cmp eax, ecx
jge 0x10032b50
lea ebx, [ebx]
cmp ebx, dword [esi + 0x78]
jae 0x10032b2e
movzx eax, byte [ebx]
mov edx, dword [esi + 0x40]
test byte [eax + edx], 0x10
jne 0x10032b50
mov eax, dword [ebp - 0x80]
inc eax
inc ebx
mov dword [ebp - 0x80], eax
cmp eax, ecx
jl 0x10032e10
jmp 0x10032b50
mov dword [ebp - 0x80], eax
cmp eax, ecx
jge 0x10032b50
cmp ebx, dword [esi + 0x78]
jae 0x10032b2e
movzx eax, byte [ebx]
mov edx, dword [esi + 0x40]
test byte [eax + edx], 0x10
je 0x10032b50
mov eax, dword [ebp - 0x80]
inc eax
inc ebx
mov dword [ebp - 0x80], eax
cmp eax, ecx
jl 0x10032e45
jmp 0x10032b50
cmp byte [edi], 0x7a
jne 0x10032eb5
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x84]
inc eax
push eax
mov eax, dword [ebp - 0x90]
push ecx
push esi
push edx
push eax
add edi, 3
push edi
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
jne 0x10033faa
mov ecx, dword [ebp - 0xa0]
mov dword [ebp - 0x88], ecx
jmp 0x10032bc3
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x84]
inc edx
push edx
mov edx, dword [ebp - 0x90]
push eax
mov eax, dword [ebp - 0xa0]
push esi
push ecx
push edx
push eax
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
jne 0x10033faa
add edi, 3
mov dword [ebp - 0x88], edi
jmp 0x10032bc3
movzx ecx, byte [edi + 3]
movzx edx, byte [edi + 4]
shl ecx, 8
or ecx, edx
mov dword [ebp - 0xa4], ecx
add ecx, ecx
cmp ecx, dword [esi + 0x14]
jl 0x1003347d
cmp eax, 0x88
jae 0x10032f52
cmp eax, 0x81
je 0x10032f52
cmp dword [esi + 0x6c], 0
jne 0x10032f5c
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
cmp byte [eax + edi], 0x77
je 0x10032f5c
movzx ecx, byte [edi]
movzx edx, byte [ecx + 0x10044870]
add edi, edx
mov dword [ebp - 0x88], edi
jmp 0x10032bc3
mov dword [esi + 0x98], 2
mov edx, dword [esi + 0xac]
mov ecx, dword [ebp + 0x20]
mov eax, dword [esi + 0x90]
inc ecx
push ecx
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x9c]
push edx
movzx edx, byte [edi]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x84]
push esi
push eax
movzx eax, byte [edx + 0x10044870]
push ecx
add eax, edi
push eax
push ebx
call fcn.10030160
add esp, 0x1c
cmp eax, 0xfffffc20
jne 0x10032fd4
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
shl ecx, 8
or ecx, edx
add ecx, edi
cmp dword [esi + 0x7c], ecx
jae 0x10033faa
cmp byte [edi], 0x77
je 0x10032fdc
cmp byte [ecx], 0x77
jne 0x10033faa
jmp 0x10032fdc
test eax, eax
jne 0x100335ca
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
mov edx, dword [ebp - 0x8c]
shl eax, 8
or eax, ecx
add edi, eax
mov dword [esi + 0xac], edx
cmp byte [edi], 0x77
jne case.0x10033e26.14
mov eax, dword [ebp - 0xa0]
mov dword [esi + 0x90], eax
mov eax, dword [ebp - 0x98]
jmp case.0x10030269.129
mov al, byte [edi]
cmp al, 0x7b
je 0x10033744
cmp al, 0x7a
jne 0x10033078
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x84]
inc eax
push eax
mov eax, dword [ebp - 0x90]
push ecx
push esi
push edx
push eax
add edi, 3
push edi
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
jne 0x10033faa
mov edi, dword [ebp - 0xa0]
mov al, byte [edi]
cmp al, 0x81
je 0x10033775
cmp al, 0x88
jae 0x100337be
mov dword [ebp - 0x88], edi
jmp 0x10032bc3
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x84]
inc ecx
push ecx
mov ecx, dword [ebp - 0x90]
push edx
mov edx, dword [ebp - 0xa0]
push esi
push eax
push ecx
push edx
push ebx
call fcn.10030160
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x100330b8
mov ecx, dword [esi + 0xb4]
cmp ecx, dword [ebp - 0xa0]
jmp 0x100330ba
test eax, eax
jne 0x10033faa
mov edx, dword [ebp - 0xa0]
add edi, 3
cmp byte [edx], 0x81
je 0x100337f4
mov dword [ebp - 0x88], edi
jmp 0x10032bc3
dec ecx
je case.0x10033e26.14
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffeb
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x84]
lea eax, [edi + 2]
mov dword [esi + 0xb0], eax
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp + 0x20]
inc eax
push eax
mov eax, dword [ebp - 0x90]
push ecx
mov dword [esi + 0xac], 0
movzx ecx, byte [edi]
push esi
push edx
movzx edx, byte [ecx + 0x10044870]
push eax
movzx eax, byte [edi + 1]
add edx, edi
add eax, edx
push eax
push ebx
call fcn.10030160
add esp, 0x1c
cmp eax, 1
je 0x10033167
cmp eax, 0xfffffc19
jne 0x1003318d
cmp dword [esi + 0xac], 0
jne 0x1003318d
mov ecx, dword [ebp - 0x8c]
pop edi
mov dword [esi + 0xac], ecx
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
cmp eax, 0xfffffc1f
jne 0x10033faa
mov edi, dword [esi + 0x7c]
mov ecx, dword [ebp - 0x8c]
mov dl, byte [ecx]
cmp dl, byte [edi]
jne 0x100331c1
test dl, dl
je 0x100331bd
mov dl, byte [ecx + 1]
cmp dl, byte [edi + 1]
jne 0x100331c1
add ecx, 2
add edi, 2
test dl, dl
jne 0x100331a1
xor ecx, ecx
jmp 0x100331c6
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x10033faa
pop edi
mov dword [esi + 0x7c], ebx
pop esi
mov eax, 0xfffffc1e
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x84]
inc edx
push edx
mov edx, dword [ebp - 0x90]
push eax
movzx eax, byte [edi]
push esi
push ecx
movzx ecx, byte [eax + 0x10044870]
push edx
add ecx, edi
push ecx
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
jne 0x10033faa
pop edi
pop esi
mov eax, 0xfffffc1c
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x84]
inc edx
push edx
mov edx, dword [ebp - 0x90]
push eax
movzx eax, byte [edi]
push esi
push ecx
movzx ecx, byte [eax + 0x10044870]
push edx
add ecx, edi
push ecx
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
jne 0x10033faa
pop edi
pop esi
mov eax, 0xfffffc1d
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x84]
inc edx
push edx
mov edx, dword [ebp - 0x90]
lea eax, [edi + 2]
mov dword [esi + 0xb0], eax
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x9c]
push eax
mov dword [esi + 0xac], 0
movzx eax, byte [edi]
push esi
push ecx
movzx ecx, byte [eax + 0x10044870]
push edx
movzx edx, byte [edi + 1]
add ecx, edi
add edx, ecx
push edx
push ebx
call fcn.10030160
add esp, 0x1c
cmp eax, 1
je 0x100332e1
cmp eax, 0xfffffc19
jne 0x100332f6
cmp dword [esi + 0xac], 0
jne 0x100332f6
mov ecx, dword [ebp - 0x8c]
mov dword [esi + 0xac], ecx
test eax, eax
jne 0x10033faa
pop edi
pop esi
mov eax, 0xfffffc1d
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x84]
inc edx
push edx
mov edx, dword [ebp - 0x90]
push eax
movzx eax, byte [edi]
push esi
push ecx
movzx ecx, byte [eax + 0x10044870]
push edx
add ecx, edi
push ecx
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
jne 0x10033faa
pop edi
mov dword [esi + 0x7c], ebx
pop esi
mov eax, 0xfffffc1e
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x84]
inc edx
push edx
mov edx, dword [ebp - 0x90]
push eax
movzx eax, byte [edi]
push esi
push ecx
movzx ecx, byte [eax + 0x10044870]
push edx
movzx edx, byte [edi + 1]
add ecx, edi
add edx, ecx
push edx
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
jne 0x10033faa
add edi, 2
mov dword [esi + 0x7c], edi
pop edi
pop esi
mov eax, 0xfffffc1f
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x84]
inc eax
push eax
mov eax, dword [ebp - 0x90]
push ecx
movzx ecx, byte [edi]
push esi
push edx
movzx edx, byte [ecx + 0x10044870]
push eax
add edx, edi
push edx
push ebx
call fcn.10030160
add esp, 0x1c
jmp 0x1003345c
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x84]
lea eax, [edi + 2]
mov dword [esi + 0xb0], eax
mov eax, dword [ebp + 0x20]
inc eax
push eax
mov eax, dword [ebp - 0x90]
push ecx
mov dword [esi + 0xac], 0
movzx ecx, byte [edi]
push esi
push edx
movzx edx, byte [ecx + 0x10044870]
push eax
movzx eax, byte [edi + 1]
add edx, edi
add eax, edx
push eax
push ebx
call fcn.10030160
add esp, 0x1c
cmp eax, 1
je 0x1003344a
cmp eax, 0xfffffc19
jne 0x1003345c
cmp dword [esi + 0xac], 0
jne 0x1003345c
lea ecx, [edi + 2]
mov dword [esi + 0xac], ecx
test eax, eax
jne 0x10033faa
mov dword [esi + 0x7c], edi
pop edi
pop esi
mov eax, 0xfffffc20
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0xc]
mov ecx, dword [edx + ecx*4]
mov dword [ebp - 0x88], ecx
mov ecx, dword [ebp - 0xa4]
add ecx, ecx
mov edx, dword [edx + ecx*4 + 4]
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x80], edx
mov edx, dword [esi + 0x10]
sub edx, dword [ebp - 0xa4]
lea ecx, [ecx + edx*4]
mov edx, dword [ecx]
mov dword [ebp - 0xac], edx
mov edx, dword [esi + 0x90]
mov dword [ebp - 0xa0], edx
mov edx, dword [esi + 0xac]
mov dword [ebp - 0x8c], edx
mov edx, ebx
sub edx, dword [esi + 0x74]
mov dword [ecx], edx
mov edi, edi
cmp eax, 0x88
jb 0x100334e1
mov dword [esi + 0x98], 2
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x84]
inc eax
push eax
mov eax, dword [ebp - 0x90]
push ecx
movzx ecx, byte [edi]
push esi
push edx
movzx edx, byte [ecx + 0x10044870]
push eax
add edx, edi
push edx
push ebx
call fcn.10030160
add esp, 0x1c
cmp eax, 0xfffffc1b
je 0x10033589
cmp eax, 0xfffffc20
jne 0x1003354a
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
shl ecx, 8
or ecx, edx
add ecx, edi
cmp dword [esi + 0x7c], ecx
jae 0x10033faa
cmp byte [edi], 0x77
je 0x10033546
cmp byte [ecx], 0x77
jne 0x10033faa
xor eax, eax
jmp 0x10033552
test eax, eax
jne 0x10033faa
mov ecx, dword [ebp - 0xa0]
mov dword [esi + 0x90], ecx
movzx edx, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl edx, 8
or edx, ecx
add edi, edx
mov edx, dword [ebp - 0x8c]
mov dword [esi + 0xac], edx
cmp byte [edi], 0x77
jne 0x10033589
mov eax, dword [ebp - 0x98]
jmp 0x100334d0
mov edi, dword [esi + 0xc]
mov edx, dword [ebp - 0xa4]
mov ebx, dword [ebp - 0x88]
lea ecx, [edx + edx]
mov dword [edi + ecx*4], ebx
mov edi, dword [esi + 0xc]
mov ebx, dword [ebp - 0x80]
mov dword [edi + ecx*4 + 4], ebx
mov ecx, dword [esi + 0x10]
sub ecx, edx
mov edx, dword [esi + 0xc]
mov esi, dword [ebp - 0xac]
pop edi
mov dword [edx + ecx*4], esi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
cmp eax, 0xfffffc1b
jne 0x10033faa
mov dl, byte [edi]
mov ecx, edi
cmp dl, 0x81
je 0x10033606
cmp dl, 0x77
jne 0x100335f7
movzx edx, byte [ecx + 1]
movzx edi, byte [ecx + 2]
shl edx, 8
or edx, edi
add ecx, edx
cmp byte [ecx], 0x77
je 0x100335e3
movzx edx, byte [ecx + 1]
movzx edi, byte [ecx + 2]
shl edx, 8
or edx, edi
sub ecx, edx
cmp dword [esi + 0xb4], ecx
jne 0x10033faa
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x90]
cmp ebx, ecx
jne 0x10033660
cmp eax, 0x9f
je 0x10033660
cmp dword [esi + 0xa4], 0
jne 0x10033660
cmp dword [esi + 0x5c], 0
jne case.0x10033e26.14
cmp dword [esi + 0x60], 0
je 0x10033660
mov edx, dword [esi + 0x94]
add edx, dword [esi + 0x74]
cmp ecx, edx
je case.0x10033e26.14
mov edx, dword [ebp - 0x84]
neg eax
sbb eax, eax
pop edi
mov dword [esi + 0x80], ebx
mov dword [esi + 0x8c], edx
mov dword [esi + 0x7c], ecx
and eax, 0xfffffc18
pop esi
inc eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
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.10035a92
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffffa
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xbc]
lea edx, [ebp - 0x7c]
cmp ecx, edx
je 0x10033faa
push ecx
call dword [0x1004a43c]
mov eax, dword [ebp - 0xac]
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x90]
mov edx, dword [ebp - 0x84]
pop edi
mov dword [esi + 0x80], ebx
mov dword [esi + 0x7c], eax
mov dword [esi + 0x8c], edx
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x90]
mov dword [esi + 0x80], ebx
mov dword [esi + 0x7c], ecx
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x84]
mov edx, dword [ebp - 0x90]
pop edi
mov dword [esi + 0x80], ebx
mov dword [esi + 0x8c], eax
mov dword [esi + 0x7c], edx
pop esi
mov eax, 0xfffffc1a
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x84]
inc ecx
push ecx
mov ecx, dword [ebp - 0x90]
push edx
push esi
push eax
push ecx
push edi
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
jne 0x10033faa
mov dword [esi + 0xb4], edi
pop edi
pop esi
mov eax, 0xfffffc1b
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x84]
inc edx
push edx
mov edx, dword [ebp - 0x90]
push eax
push esi
push ecx
push edx
push edi
push ebx
call fcn.10030160
add esp, 0x1c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x84]
inc eax
push eax
mov eax, dword [ebp - 0x90]
push ecx
push esi
push edx
push eax
push edi
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
jne 0x10033faa
mov ecx, dword [ebp - 0xa0]
pop edi
mov dword [esi + 0xb4], ecx
pop esi
mov eax, 0xfffffc1b
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x84]
inc edx
push edx
mov edx, dword [ebp - 0x90]
push eax
push esi
push ecx
push edx
push edi
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
jne 0x10033faa
mov eax, dword [ebp - 0xa0]
pop edi
mov dword [esi + 0xb4], eax
pop esi
mov eax, 0xfffffc1b
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
cmp eax, 0xfffffffe
jne 0x1003389a
mov ebx, dword [esi + 0x78]
mov eax, dword [esi + 0x88]
test eax, eax
je case.0x10033e26.14
cmp ebx, dword [esi + 0x78]
jb case.0x10033e26.14
jmp 0x10033f5d
cmp eax, 0xfffffffe
jne 0x100338be
mov ebx, dword [esi + 0x78]
mov eax, dword [esi + 0x88]
test eax, eax
je case.0x10033e26.14
cmp ebx, dword [esi + 0x78]
jb case.0x10033e26.14
jmp 0x10033f5d
mov dword [ebp - 0x98], ebx
mov edi, edx
cmp edx, eax
jge 0x10033953
jmp 0x100338f0
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0xa4]
push eax
push ecx
mov ecx, esi
mov eax, ebx
call fcn.100300b0
add esp, 8
test eax, eax
js 0x10033921
inc edi
add ebx, eax
cmp edi, dword [ebp - 0x94]
jl 0x100338f0
jmp 0x1003394b
cmp eax, 0xfffffffe
jne 0x1003394b
mov eax, dword [esi + 0x88]
test eax, eax
je 0x1003394b
mov edx, dword [esi + 0x78]
cmp edx, dword [esi + 0x84]
jbe 0x1003394b
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x10033f79
cmp ebx, dword [ebp - 0x98]
jb 0x1003399b
mov edi, dword [ebp - 0x88]
lea esp, [esp]
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x84]
inc eax
push eax
mov eax, dword [ebp - 0x90]
push ecx
push esi
push edx
push eax
push edi
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
jne 0x10033faa
sub ebx, dword [ebp - 0x8c]
cmp ebx, dword [ebp - 0x98]
jae 0x10033960
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
cmp eax, 0xfffffffe
jne 0x100339b6
mov ebx, dword [esi + 0x78]
mov eax, dword [esi + 0x88]
test eax, eax
je case.0x10033e26.14
cmp ebx, dword [esi + 0x78]
jb case.0x10033e26.14
jmp 0x10033f5d
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x80], ecx
mov ecx, dword [ebp + 0x20]
inc ecx
push ecx
mov ecx, dword [ebp - 0x90]
push edx
push esi
push eax
push ecx
push edi
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
jne 0x10033faa
jmp 0x10033a10
mov edx, dword [ebp - 0x94]
cmp dword [ebp - 0x80], edx
jge case.0x10033e26.14
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx eax, byte [ebx]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [ebp - 0x8c]
shr eax, 3
mov al, byte [eax + ecx]
inc ebx
test al, dl
je case.0x10033e26.14
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x84]
inc dword [ebp - 0x80]
inc ecx
push ecx
mov ecx, dword [ebp - 0x90]
push edx
push esi
push eax
push ecx
push edi
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
je 0x10033a10
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0x84]
inc eax
push eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x80], ecx
mov ecx, dword [ebp - 0x9c]
push ecx
push esi
push edx
push eax
push edi
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
jne 0x10033faa
lea esp, [esp]
mov ecx, dword [ebp - 0x94]
cmp dword [ebp - 0x80], ecx
jge case.0x10033e26.14
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx eax, byte [ebx]
cmp dword [ebp - 0x8c], eax
je 0x10033aef
cmp dword [ebp - 0xa4], eax
jne case.0x10033e26.14
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x84]
inc dword [ebp - 0x80]
inc edx
push edx
mov edx, dword [ebp - 0x90]
push eax
push esi
push ecx
push edx
inc ebx
push edi
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
je 0x10033ac0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x84]
inc eax
push eax
mov eax, dword [ebp - 0x90]
push ecx
push esi
push edx
push eax
push edi
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
jne 0x10033faa
lea ebx, [ebx]
mov ecx, dword [ebp - 0x94]
cmp dword [ebp - 0x80], ecx
jge case.0x10033e26.14
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx edx, byte [ebx]
inc ebx
cmp dword [ebp - 0x8c], edx
jne case.0x10033e26.14
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x84]
inc dword [ebp - 0x80]
inc eax
push eax
mov eax, dword [ebp - 0x90]
push ecx
push esi
push edx
push eax
push edi
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
je 0x10033b60
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x84]
inc ecx
push ecx
mov ecx, dword [ebp - 0x90]
push edx
push esi
push eax
push ecx
push edi
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
jne 0x10033faa
jmp 0x10033c00
mov edx, dword [ebp - 0x94]
cmp dword [ebp - 0x80], edx
jge case.0x10033e26.14
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx eax, byte [ebx]
cmp dword [ebp - 0x8c], eax
je case.0x10033e26.14
cmp dword [ebp - 0xa4], eax
je case.0x10033e26.14
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x84]
inc dword [ebp - 0x80]
inc eax
push eax
mov eax, dword [ebp - 0x90]
push ecx
push esi
push edx
push eax
inc ebx
push edi
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
je 0x10033c00
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x84]
inc ecx
push ecx
mov ecx, dword [ebp - 0x90]
push edx
push esi
push eax
push ecx
push edi
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
jne 0x10033faa
mov edi, edi
mov edx, dword [ebp - 0x94]
cmp dword [ebp - 0x80], edx
jge case.0x10033e26.14
cmp ebx, dword [esi + 0x78]
jae 0x10033f4f
movzx eax, byte [ebx]
inc ebx
cmp dword [ebp - 0x8c], eax
je case.0x10033e26.14
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x84]
inc dword [ebp - 0x80]
inc ecx
push ecx
mov ecx, dword [ebp - 0x90]
push edx
push esi
push eax
push ecx
push edi
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
je 0x10033ca0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x98]
inc eax
push eax
mov eax, dword [ebp - 0x90]
push ecx
push esi
mov dword [ebp - 0x80], edx
mov edx, dword [ebp - 0x84]
push edx
push eax
push edi
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
jne 0x10033faa
jmp 0x10033d40
mov ecx, dword [ebp - 0x94]
cmp dword [ebp - 0x80], ecx
jge case.0x10033e26.14
mov eax, dword [esi + 0x78]
cmp ebx, eax
jae 0x10033f4f
cmp dword [ebp - 0x8c], 0xc
jne 0x10033daa
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x10033d85
push 0
lea edx, [esi + 0x1c]
push edx
push eax
push ecx
push ebx
call fcn.10035060
add esp, 0x14
test eax, eax
jne case.0x10033e26.14
jmp 0x10033daa
mov ecx, dword [esi + 0x1c]
sub eax, ecx
cmp ebx, eax
ja 0x10033daa
mov al, byte [ebx]
cmp al, byte [esi + 0x34]
jne 0x10033daa
cmp ecx, 1
je case.0x10033e26.14
mov cl, byte [ebx + 1]
cmp cl, byte [esi + 0x35]
je case.0x10033e26.14
mov ecx, dword [ebp - 0x8c]
movzx eax, byte [ebx]
add ecx, 0xfffffffa
inc ebx
cmp ecx, 0xf
ja case.0x10033dc0.15
jmp dword [ecx*4 + 0x100342e0]
mov ecx, dword [esi + 0x88]
test ecx, ecx
je case.0x10033dc0.13
cmp ebx, dword [esi + 0x78]
jb case.0x10033dc0.13
cmp dword [esi + 0x18], 0
jne case.0x10033dc0.13
cmp dword [esi + 0x1c], 2
jne case.0x10033dc0.13
movzx edx, byte [esi + 0x34]
cmp eax, edx
jne case.0x10033dc0.13
mov dword [esi + 0x64], 1
cmp ecx, 1
jg 0x10033f79
jmp case.0x10033dc0.13
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x10033e26.14
movzx eax, byte [eax + 0x10034330]
jmp dword [eax*4 + 0x10034320]
cmp ebx, dword [esi + 0x78]
jae case.0x10033dc0.13
cmp byte [ebx], 0xa
jne case.0x10033dc0.13
inc ebx
jmp case.0x10033dc0.13
cmp dword [esi + 0x68], 0
jne case.0x10033e26.14
jmp case.0x10033dc0.13
cmp eax, 9
je case.0x10033e26.14
cmp eax, 0x20
je case.0x10033e26.14
cmp eax, 0xa0
jmp 0x10033f08
cmp eax, 9
je case.0x10033dc0.13
cmp eax, 0x20
je case.0x10033dc0.13
cmp eax, 0xa0
jne case.0x10033e26.14
jmp case.0x10033dc0.13
cmp eax, 0xa
jb case.0x10033dc0.13
cmp eax, 0xd
jbe case.0x10033e26.14
cmp eax, 0x85
jmp 0x10033f08
cmp eax, 0xa
jb case.0x10033e26.14
cmp eax, 0xd
jbe case.0x10033dc0.13
cmp eax, 0x85
jne case.0x10033e26.14
jmp case.0x10033dc0.13
mov ecx, dword [esi + 0x40]
test byte [eax + ecx], 4
jne case.0x10033e26.14
jmp case.0x10033dc0.13
mov edx, dword [esi + 0x40]
test byte [eax + edx], 4
jmp 0x10033f08
mov ecx, dword [esi + 0x40]
test byte [eax + ecx], 1
jne case.0x10033e26.14
jmp case.0x10033dc0.13
mov edx, dword [esi + 0x40]
test byte [eax + edx], 1
jmp 0x10033f08
mov ecx, dword [esi + 0x40]
test byte [eax + ecx], 0x10
jne case.0x10033e26.14
jmp case.0x10033dc0.13
mov edx, dword [esi + 0x40]
test byte [eax + edx], 0x10
je case.0x10033e26.14
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x84]
inc dword [ebp - 0x80]
inc eax
push eax
mov eax, dword [ebp - 0x90]
push ecx
push esi
push edx
push eax
push edi
push ebx
call fcn.10030160
add esp, 0x1c
test eax, eax
je 0x10033d40
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x88]
test eax, eax
je case.0x10033e26.14
cmp ebx, dword [esi + 0x84]
jbe case.0x10033e26.14
mov dword [esi + 0x64], 1
cmp eax, 1
jle case.0x10033e26.14
pop edi
pop esi
mov eax, 0xfffffff4
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffff2
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10035a92
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffffb
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10035a92
mov esp, ebp
pop ebp
ret