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

Disassembly:
sub esp, 0x788
mov eax, dword [0x100542d0]
mov dword [esp + 0x784], eax
mov eax, dword [esp + 0x78c]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 0x30]
push ebx
push ebp
mov ebp, dword [eax + 0x14]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 0x34]
mov dword [esp + 0x34], edx
mov edx, dword [eax + 0x38]
mov eax, dword [eax + 0x3c]
push esi
push edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x38], eax
mov byte [esp + 0x57], 0xff
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
movzx ebx, cx
movzx eax, word [edx + ebx*2]
mov edx, dword [esp + 0x20]
lea eax, [eax + eax*2]
lea eax, [edx + eax*4]
movzx edx, word [eax + 4]
add edx, ebp
test cx, cx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x30], eax
lea edx, [ebx + esi - 1]
ja 0x1002f988
lea edx, [esp + 0x57]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x79c]
cmp cx, word [edx + 0x26]
lea edx, [ebx + esi + 1]
jb 0x1002f9a1
lea edx, [esp + 0x57]
mov edi, dword [0x10060eb0]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x3c]
mov edx, dword [edx + ebx*4]
cmp edx, dword [edi + 0x14]
jne 0x1002fa1f
cmp byte [ebx + esi], 8
jne 0x1002fa1f
test cx, cx
jbe 0x1002fa1f
mov ecx, dword [esp + 0x2c]
cmp byte [ecx], 3
jne 0x1002fa1f
mov edx, dword [esp + 0x38]
mov cl, byte [ebx + edx - 1]
test cl, cl
jne 0x1002fa1f
mov byte [ebx + esi], 4
movzx ecx, word [eax + 4]
mov byte [ecx + ebp], 1
movzx edx, word [eax + 4]
mov byte [edx + ebp + 1], 4
movzx ecx, word [eax + 4]
mov edx, dword [esp + 0x14]
mov byte [ecx + ebp + 2], 0
movzx ecx, word [edx + ebx*2 - 2]
mov edx, dword [esp + 0x20]
lea ecx, [ecx + ecx*2]
movzx ecx, word [edx + ecx*4 + 4]
movzx edx, word [eax + 4]
mov cl, byte [ecx + ebp + 3]
mov byte [edx + ebp + 3], cl
movzx edx, word [eax + 4]
mov byte [edx + ebp + 4], 0x61
cmp byte [ebx + esi], 5
jne 0x10030563
mov eax, dword [esp + 0x5c]
cmp byte [eax + 4], 0x65
jne 0x10030563
mov al, byte [eax + 7]
cmp al, 0x41
je 0x1002fa46
cmp al, 0x43
jne 0x10030563
mov ecx, dword [esp + 0x30]
mov esi, dword [ecx + 8]
mov edi, str.sono
mov ecx, 5
xor edx, edx
mov dword [esp + 0x58], esi
repe cmpsb byte [esi], byte es:[edi]
jne 0x1002fee1
cmp al, 0x43
mov dword [esp + 0x44], edx
jne 0x1002fada
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x79c]
mov cx, word [ecx + 0x26]
inc eax
cmp ax, cx
ja 0x1002faa7
mov edx, dword [esp + 0x10]
movzx esi, ax
cmp byte [esi + edx], 5
je 0x1002fa97
inc eax
cmp ax, cx
jbe 0x1002fa86
jmp 0x1002faa7
movzx edx, ax
mov eax, dword [esp + 0x14]
mov cx, word [eax + edx*2]
mov word [esp + 0x24], cx
movsx eax, word [esp + 0x24]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + edx*4]
lea eax, [eax + edx*4]
mov edx, dword [eax + 8]
mov al, byte [edx + ecx - 1]
cmp al, 0x61
je 0x1002facd
cmp al, 0x6f
jne 0x10030563
mov eax, dword [esp + 0x5c]
mov byte [eax + 3], 0x31
jmp 0x10030563
lea eax, [ebx - 1]
test eax, eax
jle 0x1002faf4
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + eax*4]
mov ecx, dword [0x10060eb0]
cmp edx, dword [ecx + 0xc]
jne 0x1002faf4
dec eax
mov edx, dword [esp + 0x34]
mov cl, byte [edx]
cmp cl, 3
je 0x1002fb09
cmp cl, 4
je 0x1002fb09
cmp cl, 1
jne 0x1002fb2f
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx + ebx*2 + 2]
mov edi, dword [esp + 0x20]
lea edx, [ecx + ecx*2]
movzx ecx, word [edi + edx*4 + 4]
mov dl, byte [ecx + ebp + 3]
and dl, 0xc
cmp dl, 4
jne 0x1002fb33
jmp 0x1002fbf4
mov edi, dword [esp + 0x20]
test eax, eax
jle 0x1002fb72
mov ecx, dword [esp + 0x10]
mov cl, byte [eax + ecx]
cmp cl, 3
je 0x1002fb48
cmp cl, 4
jne 0x1002fb72
mov edx, dword [esp + 0x14]
movzx ecx, word [edx + eax*2]
lea ecx, [ecx + ecx*2]
movzx edx, word [edi + ecx*4 + 4]
mov cl, byte [edx + ebp + 3]
and cl, 0xc
cmp cl, 4
jne 0x1002fb72
mov edx, dword [esp + 0x38]
cmp byte [eax + edx], 0
je 0x1002fbf4
cmp eax, 1
jle 0x1002fc3a
mov ecx, dword [esp + 0x10]
cmp byte [eax + ecx - 1], 3
jne 0x1002fc3a
mov edx, dword [esp + 0x14]
movzx ecx, word [edx + eax*2 - 2]
lea ecx, [ecx + ecx*2]
movzx edx, word [edi + ecx*4 + 4]
mov cl, byte [edx + ebp + 3]
and cl, 0xc
cmp cl, 4
jne 0x1002fc3a
mov edx, dword [esp + 0x38]
cmp byte [eax + edx], 0
jne 0x1002fc3a
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx + eax*2]
lea edx, [ecx + ecx*2]
mov esi, dword [edi + edx*4 + 8]
mov edi, 0x1004f234
mov ecx, 3
xor edx, edx
mov dword [esp + 0x4c], esi
repe cmpsb byte [esi], byte es:[edi]
je 0x1002fbf0
mov esi, dword [esp + 0x4c]
mov edi, 0x1004f758
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x1002fc36
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
cmp byte [ebx + ecx], 0
mov dword [esp + 0x44], 0x7d0
jne 0x1002fc3a
mov edx, dword [esp + 0x34]
cmp byte [edx], 1
jne 0x1002fc3a
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx + ebx*2 + 2]
lea edx, [ecx + ecx*2]
movzx ecx, word [edi + edx*4 + 4]
mov dl, byte [ecx + ebp + 3]
and dl, 0xc
cmp dl, 8
jne 0x1002fc3a
mov dword [esp + 0x44], 0
jmp 0x1002fc3a
mov edi, dword [esp + 0x20]
test ax, ax
mov edx, eax
mov dword [esp + 0x24], edx
jl 0x1002fc93
mov esi, dword [esp + 0x14]
lea esp, [esp]
mov ecx, dword [esp + 0x10]
movsx eax, dx
mov cl, byte [eax + ecx]
cmp cl, 5
jbe 0x1002fc67
cmp cl, 8
jne 0x1002fc8a
cmp cl, 5
jne 0x1002fc7c
movzx eax, word [esi + eax*2]
lea eax, [eax + eax*2]
movzx ecx, word [edi + eax*4 + 4]
cmp byte [ecx + ebp + 8], 0x50
jne 0x1002fc8a
dec edx
test dx, dx
jge 0x1002fc50
mov dword [esp + 0x24], edx
xor eax, eax
jmp 0x1002fc9a
test dx, dx
mov dword [esp + 0x24], edx
jge 0x1002fc97
xor eax, eax
jmp 0x1002fc9a
lea eax, [edx + 1]
cmp dword [esp + 0x44], 0x7d0
jne 0x1002fcab
mov eax, dword [esp + 0x18]
add eax, 5
movsx esi, ax
xor ecx, ecx
mov dword [esp + 0x48], eax
lea eax, [ebx + 4]
cmp esi, eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], ecx
jge 0x1002fe84
mov edx, dword [esp + 0x79c]
movzx eax, word [edx + 0x26]
mov dword [esp + 0x58], eax
cmp esi, dword [esp + 0x58]
jg 0x1002fe84
cmp esi, ebx
jle 0x1002fcfa
lea ecx, [ebx + 3]
cmp esi, ecx
jge 0x1002fcfa
mov dword [esp + 0x50], 0x1e
mov edx, 0xa
jmp 0x1002fd03
mov edx, 0xa
mov dword [esp + 0x50], edx
cmp esi, ebx
jle 0x1002fd2c
mov eax, dword [esp + 0x10]
cmp byte [esi + eax], 5
jne 0x1002fd2c
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + esi*2]
lea eax, [eax + eax*2]
movzx ecx, word [edi + eax*4 + 4]
cmp byte [ecx + ebp + 8], 0x50
jne 0x1002fe84
mov eax, dword [esp + 0x10]
mov al, byte [esi + eax]
cmp al, 8
mov byte [esp + 0x2b], al
jne 0x1002fdb1
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + esi*2]
lea eax, [eax + eax*2]
movzx ecx, word [edi + eax*4 + 4]
lea eax, [ecx + ebp]
mov cl, byte [eax + 5]
mov al, byte [eax + 4]
cmp al, 0x31
jne 0x1002fd88
mov esi, dword [esp + 0x40]
add esi, edx
cmp cl, 0x73
mov dword [esp + 0x40], esi
jne 0x1002fd75
mov eax, esi
add eax, 0x5a
mov dword [esp + 0x40], eax
jmp 0x1002fe6d
cmp cl, 0x76
jne 0x1002fe6d
add dword [esp + 0x40], 0x28
jmp 0x1002fe6d
cmp al, 0x36
jne 0x1002fe6d
mov esi, dword [esp + 0x44]
add esi, edx
cmp cl, 0x73
mov dword [esp + 0x44], esi
jne 0x1002fe6d
mov eax, esi
add eax, 0x5a
mov dword [esp + 0x44], eax
jmp 0x1002fe6d
cmp al, 1
je 0x1002fdde
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x79c]
push edx
push eax
call fcn.10019260
add esp, 8
test al, al
jne 0x1002fdde
mov al, byte [esp + 0x2b]
cmp al, 3
je 0x1002fdde
cmp al, 4
jne 0x1002fe69
xor ecx, ecx
cmp word [esp + 0x48], cx
jle 0x1002fdff
mov edx, dword [esp + 0x10]
cmp byte [esi + edx - 1], 2
jne 0x1002fdff
mov eax, dword [esp + 0x50]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x14]
movzx eax, word [eax + esi*2]
mov edi, dword [esp + 0x20]
lea edx, [eax + eax*2]
movzx eax, word [edi + edx*4 + 4]
mov al, byte [eax + ebp + 3]
and al, 0xc
cmp esi, ebx
jge 0x1002fe43
cmp byte [esp + 0x2b], 1
jne 0x1002fe43
mov edx, dword [esp + 0x10]
cmp byte [esi + edx + 1], 3
jne 0x1002fe43
cmp word [esp + 0x48], 0
jle 0x1002fe43
cmp byte [esi + edx - 1], 2
je 0x1002fe43
mov ecx, 0x64
cmp al, 4
jne 0x1002fe53
mov eax, dword [esp + 0x50]
add ecx, eax
add dword [esp + 0x44], ecx
jmp 0x1002fe6d
cmp al, 8
jne 0x1002fe6d
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x40]
add ecx, edx
add eax, ecx
mov dword [esp + 0x40], eax
jmp 0x1002fe6d
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x48]
inc eax
movsx esi, ax
mov dword [esp + 0x48], eax
lea eax, [ebx + 4]
cmp esi, eax
jl 0x1002fcd6
cmp word [esp + 0x18], 0
jbe 0x1002fec1
mov eax, dword [esp + 0x38]
cmp byte [ebx + eax - 1], 0x2c
jne 0x1002fec1
mov ecx, dword [esp + 0x34]
cmp byte [ecx], 4
jne 0x1002fec1
mov edx, dword [esp + 0x14]
movzx eax, word [edx + ebx*2 + 2]
lea eax, [eax + eax*2]
movzx ecx, word [edi + eax*4 + 4]
mov dl, byte [ecx + ebp + 3]
and dl, 0xc
cmp dl, 4
jne 0x1002fec1
xor eax, eax
jmp 0x1002fec5
mov eax, dword [esp + 0x40]
cmp eax, dword [esp + 0x44]
jle 0x10030563
mov eax, dword [esp + 0x30]
movzx ecx, word [eax + 4]
mov byte [ecx + ebp + 3], 0x31
jmp 0x10030563
cmp al, 0x43
ja 0x100303bd
mov esi, dword [esp + 0x58]
mov edi, 0x1004f754
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x100303bd
mov eax, dword [esp + 0x34]
mov dl, byte [eax]
cmp dl, 5
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
mov byte [esp + 0x2a], dl
jne 0x1002ff4b
movzx eax, word [esi + ebx*2 + 2]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
cmp byte [eax + ebp + 8], 0x46
je 0x1002ff4b
cmp word [esp + 0x18], 0
jbe 0x100303bd
mov ecx, dword [esp + 0x38]
cmp byte [ebx + ecx - 1], 0x2c
jne 0x100303bd
mov ecx, dword [esp + 0x20]
cmp word [esp + 0x18], 1
jbe 0x1002ff99
mov edi, dword [esp + 0x38]
mov al, byte [ebx + edi - 1]
cmp al, 0x3b
je 0x100302c7
cmp al, 0x2c
je 0x100302c7
cmp byte [ebx + edi - 2], 0x2c
jne 0x1002ff7f
mov eax, dword [esp + 0x2c]
cmp byte [eax], 8
jne 0x100302c7
mov eax, dword [esp + 0x2c]
cmp byte [eax], 1
mov edi, dword [esp + 0x10]
jne 0x1002ff9d
cmp byte [ebx + edi - 2], 6
jne 0x100302c7
jmp 0x1002ff9d
mov edi, dword [esp + 0x10]
cmp word [esp + 0x18], 0
jbe 0x1003000a
mov edx, dword [esp + 0x2c]
mov dl, byte [edx]
cmp dl, 3
jne 0x1002ffe9
cmp byte [esp + 0x2a], 4
jne 0x1002ffce
movzx eax, word [esi + ebx*2 + 2]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
mov al, byte [eax + ebp + 3]
and al, 0xc
cmp al, 4
jne 0x1002ffe9
movzx eax, word [esi + ebx*2 - 2]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
mov al, byte [eax + ebp + 3]
and al, 0xc
cmp al, 4
je 0x100302c7
cmp dl, 5
jne 0x10030006
movzx eax, word [esi + ebx*2 - 2]
lea edx, [eax + eax*2]
movzx eax, word [ecx + edx*4 + 4]
cmp byte [eax + ebp + 5], 0x73
jne 0x100302c7
mov dl, byte [esp + 0x2a]
cmp word [esp + 0x18], 1
jbe 0x1003006b
mov dl, byte [ebx + edi - 2]
cmp dl, 5
jne 0x10030028
mov eax, dword [esp + 0x2c]
cmp byte [eax], 3
je 0x100302c7
mov eax, dword [esp + 0x2c]
cmp byte [eax], 6
jne 0x10030067
movzx eax, word [esi + ebx*2 - 2]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
cmp byte [eax + ebp + 3], 0x63
jne 0x10030067
cmp dl, 3
jne 0x10030067
movzx eax, word [esi + ebx*2 - 4]
lea edx, [eax + eax*2]
movzx eax, word [ecx + edx*4 + 4]
mov cl, byte [eax + ebp + 3]
and cl, 0xc
cmp cl, 4
je 0x100302c7
mov dl, byte [esp + 0x2a]
mov eax, dword [esp + 0x18]
test ax, ax
jne 0x10030083
cmp byte [edi + 1], 6
jne 0x10030127
jmp 0x100302c7
jbe 0x10030127
mov eax, dword [esp + 0x38]
mov al, byte [ebx + eax - 1]
cmp al, 0x3b
je 0x10030099
cmp al, 0x3a
jne 0x100300ab
cmp dl, 6
je 0x100302c7
cmp dl, 2
je 0x100302c7
mov ecx, dword [esp + 0x2c]
cmp byte [ecx], 8
jne 0x10030109
mov edx, dword [esp + 0x14]
movzx eax, word [edx + ebx*2 - 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
mov cl, byte [edx + ebp + 4]
cmp cl, 0x33
lea eax, [edx + ebp]
jbe 0x100300e0
mov al, byte [eax + 5]
cmp al, 0x70
je 0x100300e0
cmp al, 0x74
jne 0x10030109
cmp word [esp + 0x18], 1
jbe 0x100300f6
mov al, byte [ebx + edi - 2]
cmp al, byte [ebx + edi + 1]
je 0x100301ac
mov cl, byte [ebx + edi - 1]
cmp cl, byte [ebx + edi + 1]
je 0x100301ac
jmp 0x10030563
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + ebx*4 - 4]
mov ecx, dword [0x10060eb0]
cmp eax, dword [ecx + 0x80]
je 0x10030563
mov edi, dword [esp + 0x10]
lea eax, [ebx - 1]
lea ecx, [ebx - 0xb]
cmp eax, ecx
jl 0x100301ac
mov ecx, dword [esp + 0x10]
lea esi, [eax + edi]
mov edi, dword [esp + 0x38]
sub edi, ecx
mov dword [esp + 0x4c], edi
test eax, eax
jl 0x100301a8
mov dl, byte [esi]
cmp dl, 5
jne 0x10030182
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx + eax*2]
mov edi, dword [esp + 0x20]
lea ecx, [ecx + ecx*2]
movzx ecx, word [edi + ecx*4 + 4]
add ecx, ebp
cmp byte [ecx + 8], 0x46
je 0x1003017e
cmp byte [ecx + 5], 0x73
jne 0x100302c7
lea ecx, [ebx - 1]
cmp eax, ecx
jne 0x100302c7
mov edi, dword [esp + 0x4c]
cmp dl, 6
je 0x100301a8
cmp byte [edi + esi], 0
jne 0x100301a8
mov edx, dword [esp + 0x3c]
mov ecx, dword [edx + eax*4]
mov edx, dword [0x10060eb0]
cmp ecx, dword [edx + 0x20]
je 0x100301a8
dec eax
lea ecx, [ebx - 0xb]
dec esi
cmp eax, ecx
jge 0x10030142
mov edi, dword [esp + 0x10]
lea eax, [ebx - 1]
lea ecx, [ebx - 9]
cmp eax, ecx
jl 0x100301f3
test eax, eax
jl 0x100301f3
cmp byte [eax + edi], 6
jne 0x100301eb
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx + eax*2]
lea edx, [ecx + ecx*2]
mov ecx, dword [esp + 0x20]
mov esi, dword [ecx + edx*4 + 8]
mov edi, 0x1004f754
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x100302c7
mov edi, dword [esp + 0x10]
dec eax
lea ecx, [ebx - 9]
cmp eax, ecx
jge 0x100301b6
lea eax, [ebx + 1]
lea ecx, [ebx + 5]
cmp eax, ecx
jg 0x10030563
mov ecx, dword [esp + 0x79c]
movzx edx, word [ecx + 0x26]
mov dword [esp + 0x58], edx
cmp eax, dword [esp + 0x58]
jg 0x10030563
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx + eax*2]
lea edx, [ecx + ecx*2]
mov ecx, dword [esp + 0x20]
lea ecx, [ecx + edx*4]
cmp byte [ecx], 3
jne 0x1003026c
mov ecx, dword [ecx + 8]
mov dword [esp + 0x4c], ecx
mov esi, ecx
mov edi, 0x1004f654
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x1003025e
mov esi, dword [esp + 0x4c]
mov edi, 0x1004f754
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x1003026c
mov esi, dword [esp + 0x10]
mov cl, byte [esp + 0x2a]
cmp cl, byte [eax + esi + 1]
je 0x10030287
mov edx, dword [esp + 0x38]
cmp byte [eax + edx], 0
jne 0x10030563
inc eax
lea ecx, [ebx + 5]
cmp eax, ecx
jle 0x10030210
jmp 0x10030563
lea ecx, [ebx + 5]
cmp eax, ecx
jne 0x100302c7
mov al, byte [ebx + esi + 1]
cmp al, 1
je 0x100302a2
cmp al, 2
je 0x100302a2
cmp al, 3
jne 0x10030563
mov eax, dword [esp + 0x14]
movzx eax, word [eax + ebx*2 + 2]
mov edx, dword [esp + 0x20]
lea ecx, [eax + eax*2]
movzx eax, word [edx + ecx*4 + 4]
mov cl, byte [eax + ebp + 3]
and cl, 0xc
cmp cl, 4
jne 0x10030563
mov edi, dword [esp + 0x10]
push 0x1004f754
lea edx, [esp + 0x398]
push 0xffffffffffffffff
push edx
mov byte [ebx + edi], 6
call fcn.100396c0
mov ecx, dword [esp + 0x7a8]
mov edx, dword [ecx + 0x21c]
push 0xffffffffffffffff
lea eax, [esp + 0x3a4]
push eax
push edx
call fcn.10017450
mov ecx, dword [esp + 0x54]
add eax, 0xfbf4
mov dword [ecx + ebx*4], eax
mov eax, dword [esp + 0x48]
movzx edx, word [eax + 4]
mov ecx, dword [esp + 0x4c]
mov byte [edx + ebp + 1], 6
movzx eax, word [eax + 4]
mov byte [eax + ebp + 3], 0x63
mov al, byte [ecx]
add esp, 0x18
cmp al, 5
jne 0x10030563
mov edx, dword [esp + 0x14]
movzx eax, word [edx + ebx*2 + 2]
mov esi, dword [esp + 0x20]
lea ecx, [edx + ebx*2 + 2]
lea eax, [eax + eax*2]
movzx edx, word [esi + eax*4 + 4]
lea eax, [edx + ebp]
cmp byte [eax + 7], 0x56
jne 0x10030563
mov byte [eax + 1], 4
mov byte [ebx + edi + 1], 4
xor edi, edi
mov di, word [ecx]
movsx eax, di
lea eax, [eax + eax*2]
movzx edx, byte [esi + eax*4]
lea eax, [esi + eax*4]
mov eax, dword [eax + 8]
movzx edx, byte [eax + edx - 1]
push edx
mov dword [esp + 0x28], edi
call fcn.100192a0
movzx edx, di
lea edx, [edx + edx*2]
movzx edx, word [esi + edx*4 + 4]
mov byte [edx + ebp + 3], al
movzx eax, word [ecx]
lea eax, [eax + eax*2]
movzx edx, word [esi + eax*4 + 4]
mov byte [edx + ebp + 2], 0x60
movzx eax, word [ecx]
lea eax, [eax + eax*2]
movzx ecx, word [esi + eax*4 + 4]
add esp, 4
mov byte [ecx + ebp + 4], 0x71
jmp 0x10030563
mov esi, dword [esp + 0x58]
mov edi, 0x1004f750
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10030563
cmp word [esp + 0x18], dx
jbe 0x10030563
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax + 1], 5
jne 0x10030407
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + ebx*2 + 2]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x20]
movzx ecx, word [eax + edx*4 + 4]
cmp byte [ecx + ebp + 7], 0x56
je 0x10030457
mov edx, dword [esp + 0x2c]
mov al, byte [edx]
cmp al, 1
je 0x10030510
cmp al, 2
je 0x10030510
cmp word [esp + 0x18], 1
jbe 0x10030457
mov ecx, dword [esp + 0x10]
cmp byte [ebx + ecx - 2], 3
je 0x10030457
cmp al, 4
jne 0x10030457
mov edx, dword [esp + 0x14]
movzx eax, word [edx + ebx*2 - 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
mov al, byte [edx + ebp + 3]
and al, 0xfc
cmp al, 0x48
je 0x10030510
mov ecx, dword [esp + 0x2c]
cmp byte [ecx], 8
jne 0x10030563
mov edx, dword [esp + 0x14]
movzx eax, word [edx + ebx*2 - 2]
mov ecx, dword [esp + 0x20]
lea esi, [edx + ebx*2 - 2]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
mov al, byte [edx + ebp + 5]
cmp al, 0x74
lea edi, [edx + ebp]
jne 0x10030563
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x79c]
inc eax
movzx ecx, ax
push ecx
push edx
call sym.MSSP3IT.DLL_CicloAvanti
add esp, 8
cmp ax, 0xa
jne 0x10030563
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov byte [edi + 1], 1
mov byte [ebx + eax - 1], 1
movzx eax, word [esi]
lea ecx, [eax + eax*2]
movzx eax, word [edx + ecx*4 + 4]
mov byte [eax + ebp + 2], 0
movsx esi, word [esi]
mov ecx, esi
movsx eax, cx
lea eax, [eax + eax*2]
movzx edi, byte [edx + eax*4]
lea eax, [edx + eax*4]
mov eax, dword [eax + 8]
mov al, byte [eax + edi - 1]
cmp al, 0x27
je 0x100304fc
cmp al, 0x61
je 0x100304fc
cmp al, 0x65
jne 0x10030501
mov ecx, 0x44
jmp 0x10030501
mov ecx, 0x48
movzx eax, si
lea eax, [eax + eax*2]
movzx edx, word [edx + eax*4 + 4]
mov byte [edx + ebp + 3], cl
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x79c]
push eax
push esi
call fcn.1002bcf0
push 0x1004f750
lea ecx, [esp + 0x5a0]
push 0xffffffffffffffff
push ecx
call fcn.100396c0
mov eax, dword [esi + 0x21c]
push 0xffffffffffffffff
lea edx, [esp + 0x5ac]
push edx
push eax
call fcn.1001a870
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x50]
mov dword [ecx + ebx*4], eax
movzx eax, word [edx + 4]
add esp, 0x20
mov byte [eax + ebp + 3], 0x48
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx], 8
jne 0x1003069f
mov esi, dword [esp + 0x30]
movzx ecx, word [esi + 4]
lea eax, [ecx + ebp]
cmp byte [eax + 5], 0x74
jne 0x100305a3
mov ecx, dword [esp + 0x34]
mov cl, byte [ecx]
cmp cl, 3
je 0x10030592
cmp cl, 4
jne 0x100305a3
mov byte [eax + 1], 1
mov byte [ebx + edx], 1
movzx eax, word [esi + 4]
mov byte [eax + ebp + 2], 0
cmp byte [ebx + edx], 8
jne 0x1003069f
mov eax, dword [esi + 8]
cmp byte [eax], 0x65
jne 0x1003069f
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100305c0
sub eax, edx
cmp eax, 8
jne 0x1003069f
mov ecx, dword [esp + 0x34]
cmp byte [ecx], 1
je 0x10030604
cmp word [esp + 0x18], 0
jbe 0x1003069f
mov edx, dword [esp + 0x2c]
cmp byte [edx], 3
jne 0x1003069f
mov eax, dword [esp + 0x38]
mov cl, byte [ebx + eax - 1]
test cl, cl
jne 0x1003069f
mov edi, dword [esp + 0x79c]
mov ecx, dword [edi + 0x34]
mov byte [ebx + ecx], 4
mov edx, dword [edi + 0x38]
movzx eax, word [edx + ebx*2]
mov ecx, dword [edi + 4]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
mov eax, dword [edi + 0x14]
mov byte [edx + eax + 1], 4
mov ecx, dword [edi + 0x38]
movzx eax, word [ecx + ebx*2]
lea edx, [eax + eax*2]
mov eax, dword [edi + 4]
movzx ecx, word [eax + edx*4 + 4]
mov edx, dword [edi + 0x14]
mov byte [ecx + edx + 2], 0
mov eax, dword [edi + 0x38]
movzx eax, word [eax + ebx*2]
mov edx, dword [edi + 4]
lea ecx, [eax + eax*2]
movzx eax, word [edx + ecx*4 + 4]
mov ecx, dword [edi + 0x14]
mov byte [eax + ecx + 3], 0x86
mov edx, dword [esi + 8]
cmp byte [edx + 7], 0x65
jne 0x10030683
mov eax, dword [edi + 0x38]
movzx eax, word [eax + ebx*2]
mov edx, dword [edi + 4]
lea ecx, [eax + eax*2]
movzx eax, word [edx + ecx*4 + 4]
mov ecx, dword [edi + 0x14]
mov byte [eax + ecx + 3], 0x46
mov edx, dword [edi + 0x38]
movzx eax, word [edx + ebx*2]
mov ecx, dword [edi + 4]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
mov eax, dword [edi + 0x14]
mov byte [edx + eax + 4], 0x61
jmp 0x100306a6
mov edi, dword [esp + 0x79c]
mov ecx, dword [esp + 0x10]
cmp byte [ebx + ecx], 3
jne 0x100306f6
mov edx, dword [esp + 0x2c]
cmp byte [edx], 8
jne 0x100306f6
mov esi, dword [esp + 0x14]
movzx eax, word [esi + ebx*2 - 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
cmp byte [edx + ebp + 5], 0x74
jne 0x100306fa
mov eax, dword [esp + 0x30]
movzx ecx, word [eax + 4]
mov edx, dword [esp + 0x10]
mov byte [ecx + ebp + 1], 1
mov byte [ebx + edx - 1], 1
movzx eax, word [eax + 4]
mov byte [eax + ebp + 2], 0
jmp 0x100306fa
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
cmp byte [ebx + ecx], 4
jne 0x10030b10
mov edx, dword [esp + 0x30]
movzx eax, word [edx + 4]
mov cl, byte [eax + ebp + 3]
add eax, ebp
mov dword [esp + 0x50], eax
mov al, byte [eax + 4]
cmp al, 0x63
mov byte [esp + 0x2b], cl
je 0x10030846
cmp al, 0x6e
jne 0x10030b10
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + ebx*4]
mov eax, dword [0x10060eb0]
cmp ecx, dword [eax + 0xf4]
jne 0x10030b10
cmp word [esp + 0x18], 0
je 0x10030769
movzx eax, word [esi + ebx*2 - 2]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 4]
movzx eax, word [eax + ecx*4 + 4]
add eax, ebp
mov dword [esp + 0x64], eax
jmp 0x1003076d
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x2c]
mov cl, byte [ecx]
cmp cl, 2
jne 0x100307b8
cmp byte [eax + 4], 0x61
jne 0x100307b8
cmp byte [eax + 5], 0x64
jne 0x100307b8
cmp byte [eax + 6], 0x69
jne 0x100307b8
test byte [esp + 0x2b], 0x88
je 0x100307b8
mov eax, dword [esp + 0x34]
cmp byte [eax], 4
jne 0x100307b8
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x10]
mov byte [ecx + 1], 7
mov byte [ebx + eax], 7
movzx ecx, word [edx + 4]
mov byte [ecx + ebp + 3], 0x61
jmp 0x10030b10
cmp cl, 5
jne 0x100307d7
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + ebx*4 - 4]
mov ecx, dword [0x10060eb0]
cmp eax, dword [ecx + 0x104]
je 0x10030b10
mov edx, dword [esp + 0x34]
mov cl, byte [edx]
cmp cl, 3
je 0x10030b10
cmp cl, 1
je 0x10030b10
cmp cl, 4
jne 0x10030810
movzx eax, word [esi + ebx*2 + 2]
mov edx, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx eax, word [edx + eax*4 + 4]
cmp byte [eax + ebp + 4], 0x69
je 0x10030b10
cmp cl, 5
jne 0x10030831
movzx eax, word [esi + ebx*2 + 2]
mov edx, dword [esp + 0x20]
lea ecx, [eax + eax*2]
movzx eax, word [edx + ecx*4 + 4]
cmp byte [eax + ebp + 7], 0x56
je 0x10030b10
mov ecx, dword [esp + 0x18]
push 0
push ecx
push edi
call fcn.10018340
add esp, 0xc
jmp 0x10030b10
mov edx, dword [esp + 0x34]
cmp byte [edx], 3
mov dword [esp + 0x24], 0
jne 0x1003093b
cmp word [esp + 0x18], 0
jbe 0x1003093b
mov eax, dword [esp + 0x2c]
mov al, byte [eax]
cmp al, 4
je 0x10030890
cmp al, 3
je 0x10030890
cmp al, 1
je 0x10030890
mov ecx, dword [esp + 0x18]
dec ecx
push ecx
push edi
call fcn.10019260
add esp, 8
test al, al
je 0x1003093b
mov edx, dword [esp + 0x14]
movzx eax, word [edx + ebx*2 + 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
mov al, byte [edx + ebp + 3]
test al, al
mov esi, 1
mov dword [esp + 0x24], esi
mov byte [esp + 0x2b], al
jbe 0x10030a7e
mov eax, dword [esp + 0x2c]
cmp byte [eax], 1
je 0x100308da
mov ecx, dword [esp + 0x18]
dec ecx
push ecx
push edi
call fcn.10019260
add esp, 8
test al, al
je 0x100308e1
or esi, 0xffffffff
mov dword [esp + 0x24], esi
test byte [esp + 0x2b], 3
je 0x100308f6
mov edx, dword [esp + 0x18]
push edx
push edi
call fcn.1002bcf0
add esp, 8
test si, si
je 0x10030b10
mov ecx, dword [esp + 0x34]
mov al, byte [ecx]
cmp al, 3
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov byte [esp + 0x2a], al
jne 0x10030a8c
movzx eax, word [edx + ebx*2 + 2]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
test byte [eax + ebp + 3], 3
jne 0x10030a8c
mov esi, 1
jmp 0x10030aeb
mov ecx, dword [esp + 0x18]
cmp cx, 1
jbe 0x10030967
mov eax, dword [esp + 0x2c]
mov al, byte [eax]
cmp al, 4
je 0x10030953
cmp al, 3
jne 0x10030967
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx - 2], 1
jne 0x10030967
or esi, 0xffffffff
mov dword [esp + 0x24], esi
jmp 0x100308ff
test cx, cx
jbe 0x10030996
mov eax, dword [esp + 0x2c]
cmp byte [eax], 1
je 0x10030988
mov ecx, dword [esp + 0x18]
dec ecx
push ecx
push edi
call fcn.10019260
add esp, 8
test al, al
je 0x10030996
mov esi, 0xfffffffe
mov dword [esp + 0x24], esi
jmp 0x100308ff
cmp word [esp + 0x18], 1
jbe 0x10030a02
mov edx, dword [esp + 0x2c]
cmp byte [edx], 3
jne 0x10030a02
movzx eax, word [esi + ebx*2 - 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
mov al, byte [edx + ebp + 4]
and al, 0x1c
cmp al, 0xc
jne 0x10030a02
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx - 2], 4
jne 0x100309e1
movzx eax, word [esi + ebx*2 - 4]
lea eax, [eax + eax*2]
movzx ecx, word [ecx + eax*4 + 4]
test byte [ecx + ebp + 2], 2
jne 0x100309f6
mov edx, dword [esp + 0x18]
add edx, 0xfffffffe
push edx
push edi
call fcn.10019260
add esp, 8
test al, al
je 0x10030a02
or esi, 0xffffffff
mov dword [esp + 0x24], esi
jmp 0x100308ff
mov eax, dword [esp + 0x34]
cmp byte [eax], 3
jne 0x10030a36
movzx eax, word [esi + ebx*2 + 2]
mov edx, dword [esp + 0x20]
lea ecx, [eax + eax*2]
movzx eax, word [edx + ecx*4 + 4]
mov cl, byte [eax + ebp + 3]
and cl, 3
cmp cl, 2
jb 0x10030a36
mov esi, 1
mov dword [esp + 0x24], esi
jmp 0x100308ff
cmp word [esp + 0x18], 0
jne 0x10030b10
cmp word [edi + 0x22], 0
jne 0x10030b10
mov edx, dword [esp + 0x50]
test byte [edx + 2], 2
je 0x10030b10
movzx eax, word [esi + 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*4 + 8]
movzx eax, byte [edx]
push eax
call fcn.100491ec
add esp, 4
test eax, eax
je 0x10030b10
mov esi, 1
mov dword [esp + 0x24], esi
jmp 0x100308ff
cmp word [esp + 0x18], 0
jbe 0x10030ab1
mov eax, dword [esp + 0x2c]
cmp byte [eax], 3
jne 0x10030ab1
movzx eax, word [edx + ebx*2 - 2]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
test byte [eax + ebp + 3], 3
je 0x10030ae8
cmp si, 0xfffe
jne 0x10030aef
cmp byte [esp + 0x2a], 4
jne 0x10030ae8
movzx eax, word [edx + ebx*2 + 2]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
test byte [eax + ebp + 3], 2
je 0x10030ae8
mov ecx, dword [esp + 0x18]
push ecx
push edi
call fcn.1002bcf0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
add esp, 8
or esi, 0xffffffff
mov dword [esp + 0x24], esi
movsx eax, si
add eax, ebx
movzx eax, word [edx + eax*2]
lea edx, [eax + eax*2]
movzx eax, word [ecx + edx*4 + 4]
mov ecx, dword [esp + 0x30]
movzx edx, word [ecx + 4]
mov al, byte [eax + ebp + 3]
mov byte [edx + ebp + 3], al
mov ecx, dword [esp + 0x10]
cmp byte [ebx + ecx], 5
jne 0x10030d5a
mov edx, dword [esp + 0x30]
movzx eax, word [edx + 4]
mov cl, byte [eax + ebp + 7]
add eax, ebp
cmp cl, 0x53
jne 0x10030d5a
cmp byte [eax + 8], 0x43
jne 0x10030d5a
mov ecx, edx
mov edx, dword [ecx + 8]
mov ecx, 5
mov edi, str.stess
mov esi, edx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10030d5a
mov ecx, dword [esp + 0x38]
mov al, byte [ebx + ecx]
test al, al
mov edi, dword [esp + 0x18]
mov byte [esp + 0x2a], al
jne 0x10030bc4
test di, di
jbe 0x10030ea4
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + ebx*4 - 4]
mov eax, dword [0x10060eb0]
cmp ecx, dword [eax + 0x54]
je 0x10030bc4
mov ecx, dword [esp + 0x2c]
cmp byte [ecx], 8
jne 0x10030d5a
mov eax, dword [esp + 0x14]
movzx eax, word [eax + ebx*2 - 2]
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x20]
lea eax, [eax + ecx*4]
movzx ecx, word [eax + 4]
cmp byte [ecx + ebp + 5], 0x73
jne 0x10030d5a
mov eax, dword [eax + 8]
cmp byte [eax + 1], 0x73
jne 0x10030d5a
test di, di
mov cl, byte [edx + 5]
mov esi, 1
mov dword [esp + 0x24], esi
jbe 0x10030bee
mov edx, dword [esp + 0x14]
movzx eax, word [edx + ebx*2 - 2]
mov edx, dword [esp + 0x20]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*4 + 8]
mov al, byte [eax + 3]
jmp 0x10030bf0
xor al, al
cmp cl, al
je 0x10030bfa
xor esi, esi
mov dword [esp + 0x24], esi
cmp byte [esp + 0x2a], 0x2c
je 0x10030c25
cmp di, 1
jbe 0x10030c2f
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + ebx*4 - 4]
mov edx, dword [0x10060eb0]
cmp eax, dword [edx + 0x54]
jne 0x10030c2f
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax - 2], 2
jne 0x10030c2f
mov dword [esp + 0x24], 1
jmp 0x10030c39
cmp si, 1
jne 0x10030d5a
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
mov byte [ebx + eax], 4
movzx esi, word [edx + 4]
mov byte [esi + ebp + 1], 4
movzx esi, word [edx + 4]
mov byte [esi + ebp + 2], 0x10
cmp cl, 0x69
movzx ecx, word [edx + 4]
jne 0x10030c67
mov byte [ecx + ebp + 3], 0x84
jmp 0x10030c6c
mov byte [ecx + ebp + 3], 0x44
test di, di
movzx ecx, word [edx + 4]
mov byte [ecx + ebp + 4], 0x61
jbe 0x10030d1f
mov ecx, dword [esp + 0x3c]
mov esi, dword [0x10060eb0]
mov ecx, dword [ecx + ebx*4 - 4]
cmp ecx, dword [esi + 0x54]
jne 0x10030d1f
mov byte [ebx + eax - 1], 8
mov eax, dword [esp + 0x79c]
movzx ecx, word [eax + 0xe4]
mov byte [ecx + ebp], 0
movzx ecx, word [eax + 0xe4]
mov byte [ecx + ebp + 1], 8
movzx ecx, word [eax + 0xe4]
mov byte [ecx + ebp + 2], 0
movzx ecx, word [eax + 0xe4]
mov byte [ecx + ebp + 6], 0x73
movzx ecx, word [eax + 0xe4]
mov esi, dword [esp + 0x20]
mov byte [ecx + ebp + 5], 0x61
movzx ecx, word [eax + 0xe4]
mov byte [ecx + ebp + 4], 0x36
movzx edx, word [edx + 4]
movzx ecx, word [eax + 0xe4]
mov dl, byte [edx + ebp + 3]
mov byte [ecx + ebp + 3], dl
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx + ebx*2 - 2]
lea edx, [ecx + ecx*2]
mov cx, word [eax + 0xe4]
mov word [esi + edx*4 + 4], cx
add word [eax + 0xe4], 6
push str.stesso
lea edx, [esp + 0x298]
push 0xffffffffffffffff
push edx
call fcn.100396c0
mov ecx, dword [esp + 0x7a8]
mov edx, dword [ecx + 0x21c]
push 0xffffffffffffffff
lea eax, [esp + 0x2a4]
push eax
push edx
call fcn.1001a870
mov ecx, dword [esp + 0x54]
add esp, 0x18
mov dword [ecx + ebx*4], eax
mov eax, dword [esp + 0x18]
test ax, ax
jbe 0x10030ea4
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx], 8
jne 0x10030ea4
mov ecx, dword [esp + 0x30]
mov esi, dword [ecx + 8]
mov edi, 0x1004f258
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10030ea4
dec eax
movzx ecx, ax
mov eax, dword [esp + 0x79c]
mov edx, dword [eax + 0x34]
cmp byte [ecx + edx], 2
jne 0x10030dfd
mov edx, dword [eax + 0x38]
movzx ecx, word [edx + ecx*2]
mov edx, dword [eax + 4]
lea ecx, [ecx + ecx*2]
movzx ecx, word [edx + ecx*4 + 4]
mov edx, dword [eax + 0x14]
cmp byte [ecx + edx + 4], 0x61
jne 0x10030dfd
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx + ebx*2 - 2]
mov edx, dword [esp + 0x20]
lea ecx, [ecx + ecx*2]
movzx ecx, word [edx + ecx*4 + 4]
test byte [ecx + ebp + 3], 8
je 0x10030e01
mov ecx, dword [esp + 0x30]
movzx esi, word [ecx + 4]
mov byte [esi + ebp + 3], 8
movzx esi, word [ecx + 4]
mov byte [esi + ebp + 4], 0x33
movzx ecx, word [ecx + 4]
mov byte [ecx + ebp + 5], 0x61
jmp 0x10030e01
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
cmp byte [ecx], 5
jne 0x10030ea8
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx + ebx*2 - 2]
lea ecx, [ecx + ecx*2]
movzx ecx, word [edx + ecx*4 + 4]
lea esi, [ecx + ebp]
mov cl, byte [esi + 6]
and cl, 6
cmp cl, 6
jne 0x10030ea8
cmp byte [esi + 3], 0x36
je 0x10030ea8
mov ecx, dword [eax + 0x34]
mov byte [ebx + ecx], 4
mov ecx, dword [eax + 0x38]
movzx ecx, word [ecx + ebx*2]
mov esi, dword [eax + 4]
lea ecx, [ecx + ecx*2]
movzx ecx, word [esi + ecx*4 + 4]
mov esi, dword [eax + 0x14]
mov byte [ecx + esi + 1], 4
mov ecx, dword [eax + 0x38]
movzx ecx, word [ecx + ebx*2]
mov esi, dword [eax + 4]
lea ecx, [ecx + ecx*2]
movzx ecx, word [esi + ecx*4 + 4]
mov esi, dword [eax + 0x14]
mov byte [ecx + esi + 2], 0
mov ecx, dword [eax + 0x38]
movzx ecx, word [ecx + ebx*2]
mov esi, dword [eax + 4]
lea ecx, [ecx + ecx*2]
movzx ecx, word [esi + ecx*4 + 4]
mov esi, dword [eax + 0x14]
mov byte [ecx + esi + 3], 2
mov ecx, dword [eax + 0x38]
movzx ecx, word [ecx + ebx*2]
mov esi, dword [eax + 4]
mov eax, dword [eax + 0x14]
lea ecx, [ecx + ecx*2]
movzx ecx, word [esi + ecx*4 + 4]
mov byte [ecx + eax + 4], 0x70
jmp 0x10030ea8
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x10]
cmp byte [ebx + esi], 5
jne 0x10031274
mov ecx, dword [esp + 0x30]
movzx esi, word [ecx + 4]
cmp byte [esi + ebp + 3], 0x35
jne 0x1003121d
lea eax, [esi + ebp + 8]
mov dword [esp + 0x4c], eax
mov al, byte [eax]
cmp al, 0x49
je 0x10030edf
cmp al, 0x43
jne 0x1003121d
mov al, byte [esi + ebp + 9]
test al, al
jne 0x1003121d
lea eax, [esi + ebp + 0xb]
mov dword [esp + 0x48], 0
lea edi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10030f00
sub eax, edi
mov dword [esp + 0x24], eax
movsx eax, ax
add eax, esi
cmp byte [eax + ebp + 8], 0x65
je 0x1003121d
mov esi, dword [esp + 0x18]
cmp si, 1
jbe 0x10030f80
mov ecx, dword [esp + 0x2c]
mov al, byte [ecx]
cmp al, 3
jne 0x10030f3c
mov ecx, dword [esp + 0x10]
cmp byte [ebx + ecx - 2], 4
je 0x10030f4b
cmp al, 4
jne 0x10030f80
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax - 2], 3
jne 0x10030f80
mov edi, dword [esp + 0x14]
movzx eax, word [edi + ebx*2 - 2]
lea ecx, [eax + eax*2]
movzx eax, word [edx + ecx*4 + 4]
mov cl, byte [eax + ebp + 3]
and cl, 0xfc
cmp cl, 0x44
jne 0x10030f80
movzx eax, word [edi + ebx*2 - 4]
lea eax, [eax + eax*2]
movzx ecx, word [edx + eax*4 + 4]
cmp byte [ecx + ebp + 3], 0x44
je 0x1003101c
dec esi
test si, si
mov dword [esp + 0x24], esi
jl 0x10031024
mov edi, edi
mov ecx, dword [esp + 0x10]
movsx eax, si
mov cl, byte [eax + ecx]
cmp cl, 1
je 0x10030fdf
cmp cl, 4
ja 0x10030fdf
mov edi, dword [esp + 0x38]
cmp byte [eax + edi], 0
jne 0x10030fdf
cmp cl, 3
jne 0x10030fcd
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + eax*2]
lea eax, [eax + eax*2]
movzx ecx, word [edx + eax*4 + 4]
mov al, byte [ecx + ebp + 3]
and al, 0xfc
cmp al, 0x44
je 0x10030fd9
dec esi
test si, si
jge 0x10030f90
mov dword [esp + 0x24], esi
jmp 0x10031024
mov dword [esp + 0x24], esi
jmp 0x1003101c
mov eax, dword [esp + 0x14]
movsx ecx, si
lea ecx, [eax + ecx*2]
movzx eax, word [ecx]
lea eax, [eax + eax*2]
movzx eax, word [edx + eax*4 + 4]
mov al, byte [eax + ebp + 3]
and al, 0xfc
cmp al, 0x44
mov dword [esp + 0x24], esi
jne 0x10031024
movzx eax, word [ecx + 2]
lea ecx, [eax + eax*2]
movzx eax, word [edx + ecx*4 + 4]
mov al, byte [eax + ebp + 3]
and al, 0xfc
cmp al, 0x40
je 0x1003101c
cmp al, 0x44
jne 0x10031024
mov dword [esp + 0x48], 1
mov ecx, dword [esp + 0x34]
mov al, byte [ecx]
cmp al, 3
mov byte [esp + 0x2a], al
jne 0x10031053
mov eax, dword [esp + 0x14]
movzx eax, word [eax + ebx*2 + 2]
lea ecx, [eax + eax*2]
movzx eax, word [edx + ecx*4 + 4]
mov cl, byte [eax + ebp + 3]
and cl, 0xfc
cmp cl, 0x44
je 0x100311a6
mov eax, dword [esp + 0x48]
test ax, ax
jne 0x100311a0
mov eax, dword [esp + 0x18]
dec eax
test ax, ax
mov dword [esp + 0x24], eax
jl 0x100310c7
mov ecx, dword [esp + 0x10]
movsx esi, ax
cmp byte [esi + ecx], 7
jne 0x10031085
test ax, ax
jle 0x10031085
dec eax
mov dword [esp + 0x24], eax
movsx eax, ax
cmp byte [eax + ecx], 5
jne 0x100310c7
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + eax*2]
lea eax, [eax + eax*2]
movzx ecx, word [edx + eax*4 + 4]
mov al, byte [ecx + ebp + 8]
add ecx, ebp
cmp al, 0x49
je 0x100310b0
cmp al, 0x43
je 0x100310b0
cmp al, 0x4e
jne 0x100310c7
lea esi, [ecx + 0xb]
mov edi, str.andare
mov ecx, 7
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x100311a6
mov esi, dword [esp + 0x18]
test si, si
jbe 0x1003121d
mov ecx, dword [esp + 0x2c]
mov cl, byte [ecx]
cmp cl, 5
jne 0x10031105
cmp byte [esp + 0x2a], 3
jne 0x10031105
mov eax, dword [esp + 0x14]
movzx eax, word [eax + ebx*2 + 2]
lea eax, [eax + eax*2]
movzx eax, word [edx + eax*4 + 4]
mov al, byte [eax + ebp + 3]
and al, 0xfc
cmp al, 0x44
je 0x100311a6
cmp cl, 6
jne 0x1003121d
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + ebx*2 - 2]
lea eax, [eax + eax*2]
movzx ecx, word [edx + eax*4 + 4]
cmp byte [ecx + ebp + 3], 0x63
jne 0x1003121d
lea ecx, [esi - 2]
test cx, cx
mov esi, dword [esp + 0x10]
mov dword [esp + 0x24], ecx
jl 0x10031162
mov edi, dword [esp + 0x38]
mov edi, edi
movsx eax, cx
cmp byte [eax + edi], 0
jne 0x1003115e
mov al, byte [eax + esi]
cmp al, 7
je 0x10031158
cmp al, 3
je 0x10031158
cmp al, 4
jne 0x1003115e
dec ecx
test cx, cx
jge 0x10031140
mov dword [esp + 0x24], ecx
movsx eax, cx
lea ecx, [eax + 1]
lea edi, [ebx - 2]
cmp ecx, edi
jge 0x1003121d
mov cl, byte [eax + esi + 1]
cmp cl, 3
je 0x10031185
cmp cl, 4
jne 0x1003121d
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + eax*2 + 2]
lea eax, [eax + eax*2]
movzx ecx, word [edx + eax*4 + 4]
mov al, byte [ecx + ebp + 3]
and al, 0xc
cmp al, 4
jmp 0x100311a4
cmp ax, 1
jne 0x1003121d
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x30]
mov byte [ecx], 0x50
movzx eax, word [edx + 4]
mov ecx, dword [esp + 0x14]
mov byte [eax + ebp + 9], 1
xor eax, eax
mov ax, word [ecx + ebx*2]
mov dword [esp + 0x24], eax
movsx eax, ax
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + edx*4 + 8]
lea esi, [eax + edx*4]
push ecx
lea edx, [esp + 0x198]
push 0xffffffffffffffff
push edx
call fcn.100396c0
movzx eax, byte [esi]
mov edx, dword [esp + 0x7a8]
lea ecx, [esp + 0x1a0]
mov byte [esp + eax + 0x19f], 0x6f
mov eax, dword [edx + 0x21c]
push ecx
push eax
call fcn.1001a870
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x34]
add esp, 0x14
mov dword [ecx + ebx*4], eax
mov esi, dword [esp + 0x10]
cmp byte [ebx + esi], 5
jne 0x10031274
mov eax, dword [esp + 0x30]
movzx ecx, word [eax + 4]
lea eax, [ecx + ebp]
cmp byte [eax + 7], 0x56
jne 0x10031274
cmp byte [eax + 8], 0x50
jne 0x10031274
mov eax, dword [esp + 0x2c]
cmp byte [eax], 4
jne 0x10031274
mov ecx, dword [esp + 0x14]
lea eax, [ecx + ebx*2 - 2]
mov byte [ebx + esi - 1], 7
movzx ecx, word [eax]
lea ecx, [ecx + ecx*2]
movzx ecx, word [edx + ecx*4 + 4]
mov byte [ecx + ebp + 1], 7
movzx eax, word [eax]
lea eax, [eax + eax*2]
movzx ecx, word [edx + eax*4 + 4]
mov byte [ecx + ebp + 3], 0x61
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + ebx*4]
mov ecx, dword [0x10060eb0]
cmp eax, dword [ecx + 0xb4]
jne 0x10031296
mov edx, dword [esp + 0x30]
movzx eax, word [edx + 4]
mov byte [eax + ebp + 5], 0x74
cmp byte [ebx + esi], 5
jne case.default.0x10031506
mov ecx, dword [esp + 0x30]
movzx edx, word [ecx + 4]
mov cl, byte [edx + ebp + 7]
cmp cl, 0x53
lea eax, [edx + ebp]
mov dword [esp + 0x50], eax
jne case.default.0x10031506
cmp byte [eax + 8], 0x50
jne case.default.0x10031506
cmp byte [eax + 0xa], 0x53
je case.default.0x10031506
mov ecx, dword [esp + 0x18]
test cx, cx
jbe 0x10031318
mov eax, dword [esp + 0x2c]
mov al, byte [eax]
cmp al, 5
je 0x10031318
cmp al, 7
jne 0x1003134b
cmp cx, 1
jbe 0x100312f8
mov ecx, dword [esp + 0x10]
cmp byte [ebx + ecx - 2], 3
je 0x1003134b
mov edx, dword [esp + 0x14]
movzx eax, word [edx + ebx*2 - 2]
mov esi, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx ecx, word [esi + eax*4 + 4]
cmp byte [ecx + ebp + 3], 0x71
je 0x1003134f
mov ecx, dword [esp + 0x18]
cmp cx, 2
jbe case.default.0x10031506
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx - 3], 3
jne case.default.0x10031506
mov eax, edx
cmp byte [ebx + eax - 2], 4
jne case.default.0x10031506
mov ecx, dword [esp + 0x2c]
cmp byte [ecx], 7
jne case.default.0x10031506
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
xor eax, eax
cmp di, 1
mov ax, word [edx + ebx*2]
mov dword [esp + 0x24], eax
movsx eax, ax
lea eax, [eax + eax*2]
movzx ecx, byte [esi + eax*4]
mov edx, dword [esi + eax*4 + 8]
mov dl, byte [ecx + edx - 1]
mov ecx, dword [esp + 0x10]
lea eax, [esi + eax*4]
mov dword [esp + 0x40], eax
mov byte [esp + 0x60], dl
jbe 0x100313be
mov al, byte [ebx + ecx - 2]
cmp al, 3
je 0x10031394
cmp al, 8
jne 0x100313be
mov eax, dword [esp + 0x2c]
mov al, byte [eax]
cmp al, 7
je 0x100317cb
cmp al, 4
jne 0x100313be
mov eax, dword [esp + 0x38]
cmp byte [ebx + eax - 1], 0
jne 0x100313c2
cmp byte [ebx + eax - 2], 0
je 0x100317cb
jmp 0x100313c2
mov eax, dword [esp + 0x38]
cmp di, 2
jbe 0x100313e3
cmp byte [ebx + ecx - 3], 3
jne 0x100313e3
cmp byte [ebx + ecx - 2], 4
jne 0x100313e3
mov ecx, dword [esp + 0x2c]
cmp byte [ecx], 7
je 0x100317cb
mov ecx, dword [esp + 0x2c]
cmp byte [ecx], 6
je 0x1003149d
movzx ax, byte [ebx + eax - 1]
test ax, ax
je case.0x10031496.98
lea ecx, [edi - 1]
cmp di, 1
jbe 0x10031445
mov eax, dword [esp + 0x2c]
cmp byte [eax], 6
jne 0x10031441
mov eax, dword [esp + 0x14]
movzx eax, word [eax + ebx*2 - 2]
lea eax, [eax + eax*2]
movzx eax, word [esi + eax*4 + 4]
cmp byte [eax + ebp + 3], 0x63
jne 0x10031441
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax - 2], 4
jne 0x10031441
mov eax, dword [esp + 0x34]
cmp byte [eax], 1
jne 0x100317cb
mov edi, dword [esp + 0x18]
test cx, cx
jl case.0x10031496.98
movsx eax, cx
mov ecx, dword [esp + 0x10]
mov cl, byte [eax + ecx]
cmp cl, 3
je 0x10031466
cmp cl, 4
jne case.0x10031496.98
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + eax*2]
lea eax, [eax + eax*2]
movzx ecx, word [esi + eax*4 + 4]
mov al, byte [ecx + ebp + 3]
and al, 0xfc
movzx cx, al
movzx eax, dl
add eax, 0xffffff9f
cmp eax, 0xe
ja case.0x10031496.98
movzx edx, byte [eax + 0x10035774]
jmp dword [edx*4 + 0x10035760]
lea ecx, [edi - 2]
jmp 0x10031402
cmp cx, 0x88
jmp 0x100314bd
cmp cx, 0x48
jmp 0x100314bd
cmp cx, 0x84
jmp 0x100314bd
cmp cx, 0x44
je case.0x10031496.98
mov ecx, dword [esp + 0x38]
cmp byte [ebx + ecx - 1], 0x2c
jne case.default.0x10031506
mov edx, dword [esp + 0x34]
cmp byte [edx], 3
jne case.default.0x10031506
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx + ebx*2 + 2]
mov esi, dword [esp + 0x20]
movzx eax, byte [eax + 0x10035798]
lea edx, [ecx + ecx*2]
movzx ecx, word [esi + edx*4 + 4]
mov dl, byte [ecx + ebp + 3]
and dl, 0xfc
movzx cx, dl
jmp dword [eax*4 + 0x10035784]
cmp cx, 0x88
je 0x100317cb
jmp case.default.0x10031506
cmp cx, 0x48
je 0x100317cb
jmp case.default.0x10031506
cmp cx, 0x84
je 0x100317cb
jmp case.default.0x10031506
cmp cx, 0x44
je 0x100317cb
jmp case.default.0x10031506
test di, di
jbe 0x10031559
mov ecx, dword [esp + 0x2c]
cmp byte [ecx], 3
je 0x10031562
mov edx, dword [esp + 0x34]
cmp byte [edx], 3
jne 0x10031598
mov eax, dword [esp + 0x50]
mov cl, byte [eax + 9]
test cl, cl
jne 0x100317cb
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x79c]
push ecx
push edx
push eax
call fcn.10018620
mov esi, dword [esp + 0x2c]
add esp, 0xc
test ax, ax
jne 0x100317cb
mov edx, dword [esp + 0x18]
test dx, dx
jbe 0x100315e2
mov ecx, dword [esp + 0x2c]
cmp byte [ecx], 8
jne 0x100315df
mov eax, dword [esp + 0x14]
movzx eax, word [eax + ebx*2 - 2]
lea ecx, [eax + eax*2]
movzx eax, word [esi + ecx*4 + 4]
lea edi, [eax + ebp]
cmp byte [edi + 5], 0x61
jne 0x100315df
mov ecx, dword [esp + 0x60]
push ecx
call fcn.100192a0
mov cl, byte [edi + 3]
and cl, 0xfc
add esp, 4
cmp al, cl
je 0x100317cb
test dx, dx
je 0x100316b0
test dx, dx
jbe 0x10031603
mov eax, dword [esp + 0x2c]
mov al, byte [eax]
cmp al, 1
je 0x100316b0
cmp al, 2
je 0x100316b0
cmp dx, 1
mov edi, dword [esp + 0x2c]
jbe 0x1003163e
mov cl, byte [edi]
cmp cl, 1
je 0x100316b0
mov eax, dword [esp + 0x10]
mov al, byte [ebx + eax - 2]
cmp al, 1
je 0x100316b0
cmp cl, 2
je 0x100316b0
cmp al, 2
je 0x100316b0
cmp cl, 6
jne 0x1003163e
cmp al, 4
je 0x100316b0
test dx, dx
jbe 0x10031660
cmp byte [edi], 4
jne 0x10031660
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + ebx*2 - 2]
lea edx, [eax + eax*2]
movzx eax, word [esi + edx*4 + 4]
cmp byte [eax + ebp + 4], 0x69
je 0x100316b0
cmp byte [edi], 8
jne case.default.0x10031506
mov ecx, dword [esp + 0x14]
lea eax, [ecx + ebx*2 - 2]
movzx ecx, word [eax]
lea edx, [ecx + ecx*2]
mov ecx, dword [esp + 0x20]
movzx edx, word [ecx + edx*4 + 4]
cmp byte [edx + ebp + 5], 0x74
jne case.default.0x10031506
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
mov byte [ecx + 1], 1
mov byte [ebx + edx - 1], 1
movzx eax, word [eax]
lea eax, [eax + eax*2]
movzx ecx, word [esi + eax*4 + 4]
mov byte [ecx + ebp + 2], 0
mov edx, dword [esp + 0x2c]
cmp byte [edx], 4
jne 0x10031767
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax - 2], 2
jne 0x10031767
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + ebx*2 - 4]
lea edx, [eax + eax*2]
movzx eax, word [esi + edx*4 + 4]
cmp byte [eax + ebp + 4], 0x73
jne 0x10031767
mov ecx, dword [esp + 0x60]
push ecx
call fcn.100192a0
mov edx, dword [esp + 0x18]
movzx cx, al
movzx eax, word [edx + ebx*2 - 2]
lea eax, [eax + eax*2]
movzx edx, word [esi + eax*4 + 4]
movzx ax, byte [edx + ebp + 3]
add esp, 4
cmp cx, ax
je 0x10031759
mov edi, dword [esp + 0x18]
add edi, 0xfffffffd
test di, di
jl 0x10031767
mov edx, dword [esp + 0x10]
movsx eax, di
cmp byte [eax + edx], 4
ja 0x10031767
mov edx, dword [esp + 0x14]
movzx eax, word [edx + eax*2]
lea eax, [eax + eax*2]
movzx edx, word [esi + eax*4 + 4]
movzx ax, byte [edx + ebp + 3]
cmp ax, cx
je case.default.0x10031506
mov esi, dword [esp + 0x20]
dec edi
test di, di
jge 0x10031721
jmp 0x10031767
cmp cx, 1
jne case.default.0x10031506
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx + 1], 6
jne 0x10031798
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + ebx*2 + 2]
lea eax, [eax + eax*2]
movzx ecx, word [esi + eax*4 + 4]
cmp byte [ecx + ebp + 3], 0x63
jne 0x10031798
cmp byte [ebx + edx + 2], 4
jne 0x10031798
cmp byte [ebx + edx + 3], 3
je 0x100317cb
cmp word [esp + 0x18], 1
jbe 0x100319f0
mov eax, dword [esp + 0x3c]
mov ecx, dword [0x10060eb0]
mov eax, dword [eax + ebx*4 - 4]
cmp eax, dword [ecx + 0x10]
je 0x100317c0
cmp eax, dword [ecx + 0x24]
jne 0x100319f0
cmp byte [ebx + edx - 2], 1
jne 0x100319f0
mov edx, dword [esp + 0x18]
cmp dx, 1
jbe 0x10031823
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + ebx*4 - 4]
mov ecx, dword [0x10060eb0]
cmp eax, dword [ecx + 0x38]
jne 0x10031823
mov eax, dword [esp + 0x14]
movzx eax, word [eax + ebx*2 - 2]
lea ecx, [eax + eax*2]
movzx eax, word [esi + ecx*4 + 4]
lea esi, [esi + ecx*4]
cmp byte [eax + ebp + 3], 0x48
jne 0x10031823
mov ecx, dword [esp + 0x10]
cmp byte [ebx + ecx - 2], 1
jne 0x10031823
mov ecx, dword [esi + 8]
inc ecx
mov cx, word [ecx]
mov eax, 0x1004f73c
cmp cx, word [eax]
je 0x1003192b
mov eax, dword [esp + 0x79c]
mov ecx, dword [eax + 0x34]
mov al, byte [ecx + ebx - 1]
add ecx, ebx
cmp al, 3
lea esi, [edx + 1]
jne 0x10031852
mov edi, dword [esp + 0x38]
cmp byte [ebx + edi - 1], 0
je 0x1003184d
mov edi, dword [esp + 0x34]
cmp byte [edi], al
je 0x10031852
lea esi, [edx - 1]
jmp 0x1003187a
cmp al, 7
jne 0x1003187a
cmp dx, 1
jbe 0x10031867
cmp byte [ecx - 2], 3
jne 0x10031867
lea esi, [edx - 2]
jmp 0x1003187a
cmp al, 7
jne 0x1003187a
cmp dx, 2
jbe 0x1003187a
cmp byte [ecx - 3], 3
jne 0x1003187a
lea esi, [edx - 3]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x79c]
push esi
push edx
push eax
call fcn.10018540
add esp, 0xc
test ax, ax
jne 0x10031921
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x30]
mov byte [ebx + ecx], 4
movzx edx, word [esi + 4]
mov byte [edx + ebp + 1], 4
movzx eax, word [esi + 4]
lea ecx, [eax + ebp]
mov al, byte [ecx + 9]
test al, al
jne 0x100318fa
mov eax, dword [esp + 0x40]
mov edx, dword [eax + 8]
movzx eax, byte [eax]
cmp byte [eax + edx - 1], 0x65
sete dl
lea edx, [edx*4 + 4]
mov byte [ecx + 3], dl
movzx eax, word [esi + 4]
mov byte [eax + ebp + 2], 0x40
mov eax, dword [esp + 0x3c]
add dword [eax + ebx*4], 0x60000
movzx ecx, word [esi + 4]
mov byte [ecx + ebp + 4], 0x61
jmp case.default.0x10031506
mov edx, dword [esp + 0x60]
push edx
call fcn.100192a0
mov byte [ecx + 3], al
movzx eax, word [esi + 4]
mov byte [eax + ebp + 2], 0x60
movzx ecx, word [esi + 4]
add esp, 4
mov byte [ecx + ebp + 4], 0x61
jmp case.default.0x10031506
cmp ax, 1
jne case.default.0x10031506
mov esi, dword [esp + 0x40]
movzx edx, byte [esi]
mov eax, dword [esi + 8]
cmp byte [edx + eax - 1], 0x65
jne case.default.0x10031506
mov ecx, dword [esp + 0x30]
movzx edx, word [ecx + 4]
mov cl, byte [edx + ebp + 9]
cmp cl, 1
lea eax, [edx + ebp]
jne case.default.0x10031506
add eax, 0xb
push eax
lea eax, [esp + 0x498]
push 0xffffffffffffffff
push eax
call fcn.100396c0
add esp, 0xc
push 0
push 5
push 0
push 0
push 0xffffffffffffffff
lea ecx, [esp + 0x6a8]
push ecx
lea edx, [esp + 0x4ac]
push edx
call fcn.10037ea0
mov esi, dword [esi + 8]
lea eax, [esp + 0x694]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x100319bf
test cl, cl
je 0x100319bb
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x100319bf
add eax, 2
add esi, 2
test cl, cl
jne 0x10031997
xor eax, eax
jmp 0x100319c4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne case.default.0x10031506
mov eax, dword [esp + 0x30]
movzx ecx, word [eax + 4]
mov byte [ecx + ebp + 3], 0x35
movzx edx, word [eax + 4]
mov byte [edx + ebp + 8], 0x49
movzx eax, word [eax + 4]
mov byte [eax + ebp + 9], 0
jmp case.default.0x10031506
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x79c]
push ecx
push edx
call fcn.1002bcf0
mov esi, dword [esp + 0x38]
movzx eax, word [esi + 4]
lea ecx, [eax + ebp]
mov al, byte [ecx + 9]
add esp, 8
test al, al
mov eax, dword [esp + 0x40]
jne 0x10031a51
mov edx, dword [eax + 8]
movzx eax, byte [eax]
cmp byte [eax + edx - 1], 0x65
sete dl
lea edx, [edx*4 + 4]
mov byte [ecx + 3], dl
movzx eax, word [esi + 4]
mov dl, byte [eax + ebp + 2]
lea eax, [eax + ebp + 2]
or dl, 0x40
mov byte [eax], dl
mov eax, dword [esp + 0x3c]
add dword [eax + ebx*4], 0x60000
jmp case.default.0x10031506
movzx edx, byte [eax]
mov eax, dword [eax + 8]
movzx edx, byte [edx + eax - 1]
push edx
call fcn.100192a0
mov byte [ecx + 3], al
movzx eax, word [esi + 4]
mov cl, byte [eax + ebp + 2]
lea eax, [eax + ebp + 2]
add esp, 4
or cl, 0x60
mov byte [eax], cl
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x79c]
inc eax
cmp ax, word [ecx + 0x26]
mov dword [esp + 0x18], eax
jbe 0x1002f950
mov dword [esp + 0x18], 0
jmp 0x10031aa0
mov edx, dword [esp + 0x18]
test dx, dx
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
movzx ebx, dx
mov cx, word [eax + ebx*2]
movzx eax, cx
lea eax, [eax + eax*2]
lea esi, [esi + eax*4]
mov dword [esp + 0x2c], esi
lea eax, [ebx + edi - 1]
ja 0x10031ad1
lea eax, [esp + 0x57]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x79c]
cmp dx, word [eax + 0x26]
jae 0x10031aec
lea edx, [ebx + edi + 1]
mov dword [esp + 0x34], edx
jmp 0x10031af4
lea eax, [esp + 0x57]
mov dword [esp + 0x34], eax
cmp byte [ebx + edi], 8
jne 0x10031c30
cmp byte [esi], 2
mov dword [esp + 0x24], ecx
jne 0x10031c30
mov ecx, dword [esi + 8]
movzx edx, byte [ecx]
push edx
call fcn.10048e46
mov ecx, dword [esi + 8]
movzx dx, byte [ecx + 1]
shl eax, 8
add esp, 4
add eax, edx
movzx eax, ax
cmp eax, 0x7369
jg 0x10031b54
je 0x10031b48
cmp eax, 0x6369
je 0x10031b50
cmp eax, 0x6d69
je 0x10031b4c
cmp eax, 0x7327
jne 0x10031b62
mov dl, 0x39
jmp 0x10031b6d
mov dl, 0x31
jmp 0x10031b6d
mov dl, 0x34
jmp 0x10031b6d
cmp eax, 0x7469
je 0x10031b6b
cmp eax, 0x7669
je 0x10031b67
or dl, 0xff
jmp 0x10031b6d
mov dl, 0x35
jmp 0x10031b6d
mov dl, 0x32
mov eax, dword [esp + 0x34]
mov al, byte [eax]
cmp al, 5
jne 0x10031ccb
cmp dl, 0xff
je 0x10031ccb
mov eax, dword [esp + 0x14]
mov cx, word [eax + ebx*2]
movsx eax, word [eax + ebx*2 + 2]
mov esi, dword [esp + 0x20]
lea eax, [eax + eax*2]
lea esi, [esi + eax*4 + 4]
movzx eax, word [esi]
lea edi, [eax + ebp]
mov al, byte [edi + 3]
cmp al, 0x38
jne 0x10031bb5
cmp dl, 0x31
je 0x10031bb3
cmp dl, 0x32
jne 0x10031bb5
mov dl, 0x38
cmp al, dl
jne 0x10031bdb
cmp byte [edi + 4], 0x65
jne 0x10031bc5
cmp byte [edi + 7], 0x43
jne 0x10031bdb
mov edx, dword [esp + 0x20]
movzx eax, cx
lea ecx, [eax + eax*2]
movzx eax, word [edx + ecx*4 + 4]
mov byte [eax + ebp + 6], 0x72
jmp 0x10031c0e
cmp dl, 0x39
jne 0x10031c30
cmp al, 0x33
je 0x10031be8
cmp al, 0x36
jne 0x10031c30
movzx eax, cx
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
lea eax, [ecx + eax*4 + 4]
mov byte [edx + ebp + 6], 0x72
movzx ecx, word [esi]
movzx edx, word [eax]
mov al, byte [ecx + ebp + 3]
mov byte [edx + ebp + 4], al
movzx ecx, word [esi]
mov al, byte [ecx + ebp + 6]
test al, 0x10
lea ecx, [ecx + ebp + 6]
je 0x10031c30
and al, 0xef
mov byte [ecx], al
movzx edx, word [esi]
mov cl, byte [edx + ebp + 9]
lea eax, [edx + ebp + 9]
inc cl
mov byte [eax], cl
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx], 5
jne 0x1003202a
mov eax, dword [esp + 0x2c]
movzx ecx, word [eax + 4]
mov al, byte [ecx + ebp + 7]
cmp al, 0x56
lea edi, [ecx + ebp]
jne 0x10031d96
cmp byte [edi + 4], 0x74
jne 0x10031d96
mov dl, byte [edi + 6]
mov al, dl
and al, 0x81
cmp al, 1
jne 0x10031d96
test si, si
jbe 0x10031d96
lea ecx, [esi - 1]
test cx, cx
mov dword [esp + 0x24], ecx
jle 0x10031d96
jmp 0x10031c90
mov esi, dword [esp + 0x10]
movsx eax, cx
cmp byte [eax + esi], 5
jne 0x10031cbc
mov esi, dword [esp + 0x14]
movzx eax, word [esi + eax*2]
mov esi, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx eax, word [esi + eax*4 + 4]
cmp byte [eax + ebp + 7], 0x43
je 0x10031d43
dec ecx
test cx, cx
jg 0x10031c90
mov dword [esp + 0x24], ecx
jmp 0x10031d92
cmp byte [ebx + edi + 2], 5
jne 0x10031c30
mov ecx, dword [esp + 0x2c]
movzx edx, word [ecx + 4]
cmp byte [edx + ebp + 6], 0x72
je 0x10031c30
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + ebx*4 + 4]
mov ecx, dword [0x10060eb0]
cmp edx, dword [ecx + 0x80]
je 0x10031d24
cmp al, 8
jne 0x10031c30
mov edx, dword [esp + 0x14]
movzx eax, word [edx + ebx*2 + 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*4 + 8]
cmp byte [edx], 0x6c
jne 0x10031c30
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x79c]
push eax
push esi
push ecx
call fcn.100192f0
add esp, 0xc
jmp 0x10031c34
test cx, cx
mov dword [esp + 0x24], ecx
jle 0x10031d92
movsx eax, cx
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx + eax*2]
lea ecx, [ecx + ecx*2]
movzx ecx, word [esi + ecx*4 + 4]
cmp byte [ecx + ebp + 4], 0x65
jne 0x10031d92
mov ecx, dword [esp + 0x10]
cmp byte [eax + ecx - 1], 8
jne 0x10031d89
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + eax*2 - 2]
lea eax, [eax + eax*2]
movzx ecx, word [esi + eax*4 + 4]
cmp byte [ecx + ebp + 6], 0x72
je 0x10031d92
and dl, 0xfe
or dl, 0x80
mov byte [edi + 6], dl
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx], 5
jne 0x1003202a
mov eax, dword [esp + 0x2c]
movzx ecx, word [eax + 4]
lea eax, [ecx + ebp]
cmp byte [eax + 8], 0x46
mov dword [esp + 0x40], eax
jne 0x1003202a
mov edx, eax
mov al, byte [edx + 9]
test al, al
jne 0x1003202a
mov eax, edx
cmp byte [eax + 0xa], 0x53
jne 0x10031e03
test si, si
jbe 0x10031de0
mov ecx, dword [esp + 0x30]
cmp byte [ecx], 1
je 0x10031e03
cmp si, 1
jbe 0x1003202a
mov edx, dword [esp + 0x30]
cmp byte [edx], 4
jne 0x1003202a
mov eax, edx
cmp byte [eax - 1], 1
jne 0x1003202a
xor edi, edi
test si, si
mov dword [esp + 0x24], edi
jne 0x10031e76
mov ecx, dword [esp + 0x34]
mov al, byte [ecx]
cmp al, 1
mov edi, 1
mov dword [esp + 0x24], edi
je 0x10031e34
mov edx, dword [esp + 0x40]
mov cl, byte [edx + 6]
and cl, 0x81
cmp cl, 0x80
je 0x10031e3a
cmp al, 3
jne 0x10031e3a
xor edi, edi
mov dword [esp + 0x24], edi
mov edx, dword [esp + 0x34]
mov cl, byte [edx]
cmp cl, 6
jne 0x10031fa1
mov eax, dword [esp + 0x14]
movzx eax, word [eax + ebx*2 + 2]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x20]
movzx edx, word [eax + edx*4 + 4]
cmp byte [edx + ebp + 3], 0x63
je 0x10031fa1
mov dword [esp + 0x24], 0
jmp 0x1003202a
cmp si, 1
jbe 0x10031ec1
mov edx, dword [esp + 0x30]
cmp byte [edx], 1
je 0x10031e90
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax - 2], 1
jne 0x10031ebd
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + ebx*4 - 4]
mov edx, dword [0x10060eb0]
cmp eax, dword [edx + 0xd8]
je 0x10031f79
mov ecx, edx
cmp eax, dword [ecx + 0xdc]
je 0x10031f79
jmp 0x10031f70
cmp si, 1
jne 0x10031eda
mov edx, dword [esp + 0x30]
cmp byte [edx], 1
jne 0x10031f19
mov edi, 1
mov dword [esp + 0x24], edi
jmp 0x10031f82
cmp si, 1
jbe 0x10031f79
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x79c]
dec esi
push esi
push eax
call fcn.10019260
add esp, 8
test al, al
jne 0x10031f13
mov ecx, dword [esp + 0x79c]
push esi
push ecx
call fcn.10019260
add esp, 8
test al, al
je 0x10031f3a
mov esi, dword [esp + 0x18]
jmp 0x10031f70
mov edx, dword [esp + 0x79c]
push 0
push edx
call fcn.10019260
add esp, 8
test al, al
je 0x10031f82
mov edi, 1
mov dword [esp + 0x24], edi
jmp 0x10031f82
mov esi, dword [esp + 0x18]
cmp si, 1
jbe 0x10031f79
mov eax, dword [esp + 0x30]
cmp byte [eax], 4
jne 0x10031f79
mov edx, dword [esp + 0x79c]
lea ecx, [esi - 2]
push ecx
push edx
call fcn.10019260
add esp, 8
test al, al
jne 0x10031f70
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax - 2], 1
jne 0x10031f79
mov edi, 1
mov dword [esp + 0x24], edi
test si, si
jbe 0x10031e3a
mov ecx, dword [esp + 0x30]
mov al, byte [ecx]
cmp al, 8
je 0x10031f94
cmp al, 3
jne 0x10031e3a
mov dword [esp + 0x24], 0
jmp 0x1003202a
cmp cl, 7
jne 0x10031fb3
mov dword [esp + 0x24], 0
jmp 0x1003202a
cmp di, 1
jne 0x1003202a
mov eax, dword [esp + 0x40]
and byte [eax + 2], 0x90
mov eax, dword [esp + 0x79c]
push esi
push eax
call fcn.1002bcf0
add esp, 8
test si, si
jbe 0x1003200c
mov ecx, dword [esp + 0x30]
mov al, byte [ecx]
cmp al, 1
je 0x10031fe5
cmp al, 4
jne 0x1003200c
mov edx, dword [esp + 0x14]
movzx eax, word [edx + ebx*2 - 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
mov eax, dword [esp + 0x2c]
movzx ecx, word [eax + 4]
mov dl, byte [edx + ebp + 3]
mov byte [ecx + ebp + 3], dl
jmp 0x10032019
mov eax, dword [esp + 0x2c]
movzx ecx, word [eax + 4]
mov byte [ecx + ebp + 3], 0x88
movzx edx, word [eax + 4]
mov cl, byte [edx + ebp + 2]
lea eax, [edx + ebp + 2]
or cl, 1
mov byte [eax], cl
mov ecx, dword [esp + 0x10]
cmp byte [ebx + ecx], 7
jne 0x10032111
mov eax, dword [esp + 0x34]
cmp byte [eax], 6
jne 0x10032111
mov edx, dword [esp + 0x14]
movzx eax, word [edx + ebx*2 + 2]
mov edi, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx edx, word [edi + eax*4 + 4]
cmp byte [edx + ebp + 3], 0x63
jne 0x10032111
mov dl, byte [ebx + ecx + 2]
cmp dl, 3
lea eax, [ebx + ecx + 2]
mov dword [esp + 0x4c], eax
jne 0x10032111
mov al, byte [ebx + ecx + 3]
cmp al, 4
je 0x10032111
cmp al, 7
je 0x10032111
mov edx, dword [esp + 0x14]
push 0xffffffffffffffff
lea eax, [esp + 0x78]
push eax
movzx eax, word [edx + ebx*2 + 4]
mov edx, dword [esp + 0x7a4]
lea ecx, [esp + 0x70]
push ecx
push 0
lea eax, [eax + eax*2]
mov ecx, dword [edi + eax*4 + 8]
mov eax, dword [edx + 0x21c]
push 0xffffffffffffffff
push ecx
push eax
call fcn.1001a870
cmp dword [esp + 0x68], 0xf42400
je 0x10032111
mov ecx, dword [esp + 0x79c]
mov edx, dword [ecx + 0x21c]
mov al, byte [edx + 0xc]
and al, 0xe0
cmp al, 0x60
jne 0x10032111
mov ecx, dword [esp + 0x4c]
mov byte [ecx], 7
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + ebx*2 + 4]
lea edx, [eax + eax*2]
movzx eax, word [edi + edx*4 + 4]
mov byte [eax + ebp + 1], 7
movzx eax, word [ecx + ebx*2 + 4]
lea ecx, [eax + eax*2]
movzx edx, word [edi + ecx*4 + 4]
mov byte [edx + ebp + 3], 0x61
cmp si, 1
jbe 0x10032236
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax], 5
jne 0x10032236
mov ecx, dword [esp + 0x2c]
movzx esi, word [ecx + 4]
mov cl, byte [esi + ebp + 3]
cmp cl, 0x32
lea eax, [esi + ebp + 3]
mov dword [esp + 0x4c], eax
jne 0x10032236
mov edi, dword [esp + 0x30]
cmp byte [edi], 8
je 0x10032175
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + ebx*4 - 4]
mov ecx, dword [0x10060eb0]
cmp eax, dword [ecx + 0xc]
jne 0x10032236
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx - 2], 8
jne 0x10032236
cmp byte [esi + ebp + 8], 0x49
jne 0x10032236
mov al, byte [esi + ebp + 9]
test al, al
jne 0x10032236
lea eax, [esi + ebp + 0xb]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10032193
sub eax, edx
mov dword [esp + 0x24], eax
movsx eax, ax
add eax, esi
cmp byte [eax + ebp + 8], 0x61
jne 0x10032236
mov ecx, dword [esp + 0x18]
mov al, byte [edi]
dec ecx
cmp al, 8
mov dword [esp + 0x24], ecx
jne 0x100321e6
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx - 2], 8
jne 0x100321eb
mov eax, dword [esp + 0x14]
movzx eax, word [eax + ebx*2 - 2]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x20]
movzx edx, word [eax + edx*4 + 4]
cmp byte [edx + ebp + 5], 0x70
jne 0x100321eb
dec ecx
mov dword [esp + 0x24], ecx
movsx eax, cx
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + eax*2]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x20]
movzx ecx, word [eax + edx*4 + 4]
mov al, byte [ecx + ebp + 4]
cmp al, 0x31
lea esi, [ecx + ebp]
je 0x10032211
cmp al, 0x33
jne 0x10032236
mov cl, byte [esi + 5]
cmp cl, 0x73
je 0x10032223
cmp cl, 0x75
je 0x10032223
cmp cl, 0x70
jne 0x10032236
mov edx, dword [esp + 0x4c]
mov byte [edx], al
mov eax, dword [esp + 0x2c]
movzx ecx, word [eax + 4]
mov byte [ecx + ebp + 8], 0x43
mov esi, dword [esp + 0x18]
test si, si
jbe 0x10032367
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx], 5
jne 0x100322f9
mov eax, dword [esp + 0x2c]
movzx ecx, word [eax + 4]
mov al, byte [ecx + ebp + 3]
cmp al, 0x37
lea edi, [ecx + ebp]
je 0x1003226c
cmp al, 0x38
jne 0x100322f9
mov edx, dword [esp + 0x30]
mov cl, byte [edx]
cmp cl, 8
je 0x10032294
mov eax, dword [esp + 0x3c]
mov edx, dword [eax + ebx*4 - 4]
mov eax, dword [0x10060eb0]
cmp edx, dword [eax + 0xc]
jne 0x100322f9
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx - 2], 8
jne 0x100322f9
cmp byte [edi + 8], 0x43
jne 0x100322f9
mov dl, byte [edi + 9]
test dl, dl
je 0x100322a6
cmp dl, 4
jne 0x100322f9
cmp cl, 8
lea eax, [esi - 1]
mov dword [esp + 0x24], eax
je 0x100322b7
dec eax
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x14]
movsx eax, ax
movzx eax, word [ecx + eax*2]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
lea esi, [eax + ebp]
mov al, byte [esi + 4]
cmp al, 0x31
je 0x100322e0
cmp al, 0x32
je 0x100322e0
cmp al, 0x33
jne 0x100322f9
mov cl, byte [esi + 5]
cmp cl, 0x73
je 0x100322ed
cmp cl, 0x75
jne 0x100322f9
cmp dl, 4
jne 0x100322f6
cmp al, 3
je 0x100322f9
mov byte [edi + 3], al
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx], 4
jne 0x100327a8
mov eax, dword [esp + 0x38]
mov cl, byte [ebx + eax]
test cl, cl
je 0x10032363
mov al, byte [ebx + eax - 1]
cmp al, 0x28
jne 0x10032341
mov esi, dword [esp + 0x34]
cmp byte [esi], 3
je 0x1003232a
cmp byte [ebx + edx + 2], 3
jne 0x10032341
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x79c]
push esi
push edi
call fcn.1002bcf0
add esp, 8
jmp 0x1003236e
cmp al, 0x2c
jne 0x10032363
cmp cl, al
jne 0x10032363
mov ecx, dword [esp + 0x34]
cmp byte [ecx], 3
je 0x1003247a
mov edx, dword [esp + 0x30]
cmp byte [edx], 3
je 0x10032487
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x79c]
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax], 4
jne 0x100327a8
mov ecx, dword [esp + 0x38]
mov al, byte [ebx + ecx]
test al, al
mov byte [esp + 0x2a], al
je 0x10032395
cmp si, word [edi + 0x26]
jne 0x100327a8
mov edx, dword [esp + 0x14]
movzx eax, word [edx + ebx*2]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
lea eax, [ecx + eax*4]
mov dword [esp + 0x5c], eax
mov al, byte [edx + ebp + 3]
mov byte [esp + 0x1f], al
movzx eax, al
mov ecx, eax
and ecx, 0xc
and eax, 0xc0
test si, si
mov dword [esp + 0x58], ecx
mov dword [esp + 0x60], eax
mov dword [esp + 0x24], 0
jbe 0x100325c9
mov eax, dword [esp + 0x30]
mov al, byte [eax]
cmp al, 2
jne 0x10032526
mov ecx, dword [esp + 0x34]
mov cl, byte [ecx]
cmp cl, 6
je 0x10032423
cmp cl, al
je 0x10032423
cmp si, word [edi + 0x26]
je 0x10032423
cmp cl, 1
jne 0x10032526
mov edx, dword [esp + 0x3c]
mov ecx, dword [edx + ebx*4]
mov edx, dword [0x10060eb0]
cmp ecx, dword [edx + 0xf4]
je 0x1003252c
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx + 2], 2
jne 0x100324e0
mov edx, dword [esp + 0x14]
movzx eax, word [edx + ebx*2 + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
mov edi, dword [ecx + eax*4 + 8]
movzx eax, word [edx + ebx*2 - 2]
lea edx, [eax + eax*2]
mov esi, dword [ecx + edx*4 + 8]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x100324c1
test al, al
je 0x10032476
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x100324c1
add esi, 2
add edi, 2
test al, al
jne 0x10032452
xor eax, eax
jmp 0x100324c6
mov eax, dword [esp + 0x30]
cmp byte [eax], 3
jne 0x1003232a
mov edi, dword [esp + 0x79c]
mov ecx, dword [edi + 0x34]
movzx dx, byte [ecx + ebx + 1]
mov esi, dword [esp + 0x18]
push ebx
push edx
push edi
push esi
push edi
call fcn.100180b0
add esp, 0x14
cmp ax, 2
jne 0x1003236e
push esi
push edi
call fcn.1002bcf0
add esp, 8
jmp 0x1003236e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100324e0
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax + 3], 4
jne 0x100324e0
cmp byte [ebx + eax + 4], 3
je 0x100327a8
mov dword [esp + 0x24], 1
mov ecx, dword [esp + 0x2c]
movzx edx, word [ecx + 4]
mov al, byte [edx + ebp + 4]
cmp al, 0x6e
je 0x10032789
cmp al, 0x69
je 0x10032789
cmp al, 0x70
je 0x10032789
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x79c]
push eax
push ecx
call fcn.1002bcf0
add esp, 8
jmp 0x100327a8
mov edx, dword [0x10060eb0]
cmp al, 1
je 0x1003253d
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx + ebx*4 - 4]
cmp ecx, dword [edx + 0x1c]
jne 0x10032546
mov ecx, dword [esp + 0x34]
cmp byte [ecx], 2
je 0x100324e0
cmp al, 1
jne 0x10032569
mov ecx, dword [esp + 0x34]
cmp byte [ecx], 6
jne 0x10032569
mov ecx, dword [esp + 0x10]
mov cl, byte [ebx + ecx + 2]
cmp cl, 3
je 0x10032569
cmp cl, 4
jne 0x100324e0
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx + ebx*4 - 4]
cmp ecx, dword [edx + 0x58]
jne 0x10032582
movsx ecx, word [edi + 0x2a]
cmp ebx, ecx
je 0x100324e0
mov ecx, dword [esp + 0x38]
cmp byte [ebx + ecx - 1], 0x2c
jne 0x100325ac
cmp al, 3
jne 0x100325ac
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx + ebx*4 + 4]
cmp ecx, dword [edx + 0x6c]
jne 0x100325ac
mov ecx, dword [esp + 0x10]
cmp byte [ebx + ecx + 2], al
je 0x100324e0
cmp al, 1
jne 0x100325cf
mov eax, dword [esp + 0x34]
cmp byte [eax], 6
jne 0x100325cf
mov ecx, dword [esp + 0x10]
cmp byte [ebx + ecx + 2], 4
je 0x100325cf
jmp 0x100324e0
mov edx, dword [0x10060eb0]
mov eax, 1
cmp si, ax
jbe 0x10032614
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx + ebx*4 - 4]
cmp ecx, dword [edx + 0x84]
jne 0x10032614
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx - 2], al
jne 0x10032614
mov ecx, dword [esp + 0x34]
mov cl, byte [ecx]
cmp cl, 3
je 0x10032614
cmp cl, 4
je 0x10032614
mov cl, byte [esp + 0x2a]
test cl, cl
jne 0x10032614
mov dword [esp + 0x24], eax
jmp 0x100324e8
test si, si
jne 0x10032655
mov edx, dword [esp + 0x34]
cmp byte [edx], 8
jne 0x100326c6
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx + 2]
lea edx, [ecx + ecx*2]
mov ecx, dword [esp + 0x20]
movzx edx, word [ecx + edx*4 + 4]
mov cl, byte [edx + ebp + 5]
cmp cl, 0x74
je 0x1003264c
cmp cl, 0x70
jne 0x100326c6
mov dword [esp + 0x24], eax
jmp 0x100324e8
jbe 0x100326c6
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax - 1], 5
jne 0x100326c6
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx + ebx*2 - 2]
lea edx, [ecx + ecx*2]
mov ecx, dword [esp + 0x20]
movzx edx, word [ecx + edx*4 + 4]
test byte [edx + ebp + 6], 6
jne 0x100326c6
mov cl, byte [ebx + eax + 1]
cmp cl, 1
je 0x10032691
cmp cl, 2
je 0x10032691
cmp cl, 6
jne 0x100326c6
mov eax, dword [edi + 0x38]
movzx eax, word [eax + ebx*2]
mov edx, dword [edi + 4]
lea ecx, [eax + eax*2]
movsx eax, word [edx + ecx*4 + 2]
mov ecx, dword [edi + 0x10]
add eax, ecx
cmp byte [eax + 1], 5
jbe 0x100327a8
mov dl, byte [eax + 8]
and dl, 0xe0
cmp dl, 0xc0
jne 0x100327a8
jmp 0x100324e0
mov eax, dword [esp + 0x3c]
mov edx, dword [eax + ebx*4]
mov ecx, dword [0x10060eb0]
cmp edx, dword [ecx + 0x20]
mov dword [esp + 0x4c], edx
jne 0x10032707
test si, si
jbe 0x100326fa
mov eax, dword [esp + 0x38]
mov cl, byte [ebx + eax - 1]
test cl, cl
jne 0x100326fa
mov ecx, dword [esp + 0x30]
cmp byte [ecx], 3
je 0x10032794
mov eax, dword [esp + 0x34]
cmp byte [eax], 5
je 0x10032794
mov ecx, dword [esp + 0x2c]
movzx eax, word [ecx + 4]
mov al, byte [eax + ebp + 4]
cmp al, 0x69
mov byte [esp + 0x2b], al
jne 0x10032740
mov ecx, dword [esp + 0x34]
cmp byte [ecx], 7
jne 0x10032740
mov edx, dword [esp + 0x3c]
mov ecx, dword [edx + ebx*4 + 4]
mov edx, dword [0x10060eb0]
cmp ecx, dword [edx + 0x10]
je 0x10032794
cmp ecx, dword [edx + 0x24]
je 0x10032794
mov edx, dword [esp + 0x4c]
test si, si
mov ecx, dword [esp + 0x10]
jbe 0x10032779
cmp byte [ebx + ecx - 1], 3
je 0x10032776
cmp byte [ebx + ecx + 1], 3
je 0x10032776
cmp al, 0x61
jne 0x10032776
movzx eax, word [edi + 0x1e]
mov ecx, dword [esp + 0x5c]
add eax, dword [ecx + 8]
push eax
call sym.MSSP3IT.DLL_IsRomanNumber
add esp, 4
test eax, eax
jmp 0x100324da
test si, si
jne 0x100329cc
cmp byte [ecx + 1], 5
jne 0x100327a8
cmp al, 0x6e
jne 0x100327a8
mov edi, dword [esp + 0x79c]
mov esi, dword [esp + 0x18]
push 0
push esi
push edi
mov dword [esp + 0x30], 2
call fcn.10018340
add esp, 0xc
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx], 3
jne 0x10032bcf
mov eax, dword [esp + 0x34]
mov cl, byte [eax]
cmp cl, 7
je 0x100327ca
cmp cl, 1
jne 0x10032bcf
mov esi, dword [esp + 0x38]
cmp byte [ebx + esi], 0
jne 0x10032bcf
cmp cl, 1
mov eax, ebx
je 0x100327f8
mov cl, byte [eax + esi + 1]
inc eax
test cl, cl
jne 0x100327f8
cmp byte [eax + edx + 1], 7
jne 0x100327f8
mov cl, byte [eax + esi + 1]
test cl, cl
jne 0x100327f8
inc eax
mov al, byte [eax + edx + 1]
cmp al, 1
je 0x10032808
cmp al, 8
jne 0x10032bcf
mov edi, dword [esp + 0x14]
movzx ecx, word [edi + ebx*2]
mov edx, dword [esp + 0x79c]
mov esi, dword [edx + 4]
mov edx, dword [edx + 0x10]
lea ecx, [ecx + ecx*2]
movsx ecx, word [esi + ecx*4 + 2]
lea esi, [edx + ecx]
mov dword [esp + 0x4c], ecx
mov cl, byte [esi + 3]
and cl, 0xe0
cmp cl, 0x80
mov eax, 3
jne 0x10032841
mov eax, 8
mov cl, byte [eax + esi]
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x10032868
movzx edx, byte [esi + 1]
cmp eax, edx
jge 0x100328f0
and cl, 1
dec cl
neg cl
sbb ecx, ecx
inc ecx
lea eax, [eax + ecx*2 + 5]
movzx ecx, byte [esi + 1]
cmp eax, ecx
jge 0x100328f0
cmp eax, 3
jle 0x100328f0
mov cl, byte [eax + esi]
and cl, 0xe0
cmp cl, 0x20
jne 0x100328f0
mov esi, dword [esp + 0x79c]
mov edx, dword [esi + 0x21c]
mov edi, dword [esp + 0x14]
mov byte [edx], 0
mov ecx, dword [esi + 0x34]
mov byte [ebx + ecx], 5
mov edx, dword [esi + 0x10]
mov ecx, dword [esp + 0x18]
add edx, eax
mov eax, dword [esp + 0x4c]
add eax, edx
xor edx, edx
mov dx, word [edi + ebx*2]
push ecx
push 0
push edx
push 0xffffffffffffffff
push eax
movzx eax, byte [eax]
and eax, 0xffffffe0
push eax
push esi
call fcn.10024f50
movzx ecx, word [edi + ebx*2]
mov di, word [esi + 0xe4]
mov edx, dword [esi + 4]
lea ecx, [ecx + ecx*2]
mov word [edx + ecx*4 + 4], di
mov edi, dword [esp + 0x30]
add esp, 0x1c
add word [esi + 0xe4], ax
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx], 7
jne 0x10032bd8
mov eax, dword [esp + 0x3c]
mov ecx, dword [0x10060eb0]
mov eax, dword [eax + ebx*4]
cmp eax, dword [ecx + 0x10]
je 0x10032919
cmp eax, dword [ecx + 0x24]
jne 0x10032bd8
mov ecx, dword [esp + 0x38]
cmp byte [ebx + ecx], 0
jne 0x10032bd8
mov eax, dword [esp + 0x34]
cmp byte [eax], 3
jne 0x10032bd8
movzx eax, word [edi + ebx*2]
mov esi, dword [esp + 0x20]
lea ecx, [eax + eax*2]
movzx edx, word [esi + ecx*4 + 4]
lea eax, [esi + ecx*4 + 4]
movzx ecx, byte [edx + ebp]
mov edx, dword [esp + 0x79c]
mov dx, word [edx + 0xe4]
mov word [eax], dx
movzx eax, word [edi + ebx*2]
lea eax, [eax + eax*2]
movzx edx, word [esi + eax*4 + 4]
mov byte [edx + ebp], cl
movzx eax, word [edi + ebx*2]
mov edx, dword [esp + 0x10]
lea eax, [eax + eax*2]
movzx ecx, word [esi + eax*4 + 4]
mov byte [ecx + ebp + 1], 4
mov byte [ebx + edx], 4
movzx eax, word [edi + ebx*2]
lea eax, [eax + eax*2]
movzx ecx, word [esi + eax*4 + 4]
mov byte [ecx + ebp + 2], 0
movzx eax, word [edi + ebx*2]
lea eax, [eax + eax*2]
movzx ecx, word [esi + eax*4 + 4]
mov byte [ecx + ebp + 3], 2
movzx eax, word [edi + ebx*2]
lea eax, [eax + eax*2]
movzx ecx, word [esi + eax*4 + 4]
mov eax, dword [esp + 0x79c]
mov byte [ecx + ebp + 4], 0x6e
add word [eax + 0xe4], 5
jmp 0x10032bdc
cmp si, 1
jbe 0x10032adb
mov eax, dword [esp + 0x30]
cmp byte [eax], 6
jne 0x10032adb
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx + ebx*2 - 2]
lea eax, [ecx + ecx*2]
mov ecx, dword [esp + 0x20]
movzx eax, word [ecx + eax*4 + 4]
cmp byte [eax + ebp + 3], 0x63
jne 0x10032adb
mov ecx, dword [esp + 0x38]
mov al, byte [ebx + ecx - 1]
test al, al
jne 0x10032adb
mov eax, ecx
mov cl, byte [ebx + eax - 2]
test cl, cl
jne 0x10032adb
mov ecx, dword [esp + 0x10]
cmp byte [ebx + ecx - 2], 3
jne 0x10032adb
mov eax, dword [esp + 0x34]
mov cl, byte [eax]
cmp cl, 4
je 0x10032adb
cmp cl, 3
je 0x10032adb
cmp cl, 6
je 0x10032adb
cmp edx, 0x989680
jae 0x100327a8
mov eax, 3
cmp word [esp + 0x18], ax
jb 0x10032a78
mov ecx, dword [esp + 0x10]
cmp byte [ebx + ecx - 3], 4
je 0x100327a8
mov edx, dword [esp + 0x14]
movzx ecx, word [edx + ebx*2 - 4]
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x58]
lea ecx, [ecx + ecx*2]
movzx ecx, word [edx + ecx*4 + 4]
movzx edx, byte [ecx + ebp + 3]
mov ecx, edx
and ecx, 0xc
cmp esi, ecx
jne 0x100327a8
mov ecx, dword [esp + 0x60]
and edx, 0xc0
cmp ecx, edx
je 0x100324e0
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx - 3], 2
jne 0x100327a8
cmp word [esp + 0x18], ax
jbe 0x100327a8
mov eax, edx
cmp byte [ebx + eax - 4], 4
jmp 0x100324da
test si, si
jbe 0x100327a8
mov ecx, dword [esp + 0x30]
cmp byte [ecx], 1
jne 0x100327a8
mov al, byte [esp + 0x2a]
test al, al
jne 0x100327a8
mov edx, dword [esp + 0x34]
cmp byte [edx], 4
jne 0x100327a8
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax + 2], 3
jne 0x100327a8
mov ecx, dword [esp + 0x38]
mov al, byte [ebx + ecx + 1]
test al, al
jne 0x100327a8
mov edx, dword [esp + 0x14]
movzx eax, word [edx + ebx*2 - 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*4 + 8]
lea eax, [ecx + eax*4]
cmp byte [edx], 0x75
je 0x100327a8
movzx eax, word [eax + 4]
movzx eax, byte [eax + ebp + 3]
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx + ebx*2 + 4]
mov edi, eax
and eax, 0xc0
mov edx, eax
lea eax, [ecx + ecx*2]
mov ecx, dword [esp + 0x20]
movzx eax, word [ecx + eax*4 + 4]
mov al, byte [eax + ebp + 3]
movzx ecx, al
mov esi, ecx
and ecx, 0xc0
and edi, 0xc
and esi, 0xc
test edx, edx
mov dword [esp + 0x5c], ecx
jne 0x10032b99
xor al, byte [esp + 0x1f]
test al, 0xc
je 0x10032b99
mov edx, dword [esp + 0x5c]
cmp edi, esi
jne 0x10032ba7
cmp edx, dword [esp + 0x5c]
je 0x100327a8
test esi, esi
je 0x100327a8
test edx, edx
je 0x100327a8
cmp byte [esp + 0x2b], 0x6e
mov dword [esp + 0x24], 1
jne 0x100324e8
jmp 0x10032789
mov edi, dword [esp + 0x14]
jmp 0x100328f4
mov esi, dword [esp + 0x20]
cmp byte [ebx + edx], 6
jne 0x10032c75
movzx eax, word [edi + ebx*2]
lea eax, [eax + eax*2]
movzx ecx, word [esi + eax*4 + 4]
cmp byte [ecx + ebp + 3], 0x63
lea eax, [esi + eax*4]
jne 0x10032c75
cmp byte [eax], 7
jne 0x10032c75
mov eax, dword [eax + 8]
cmp byte [eax], 0x6e
jne 0x10032c75
cmp byte [eax + 1], 0x65
jne 0x10032c75
cmp word [esp + 0x18], 0
jbe 0x10032c75
mov eax, dword [esp + 0x30]
cmp byte [eax], 5
jne 0x10032c75
mov ecx, dword [esp + 0x34]
cmp byte [ecx], 5
jne 0x10032c75
mov eax, dword [esp + 0x38]
cmp byte [ebx + eax], 0
jne 0x10032c75
mov cl, byte [ebx + eax - 1]
test cl, cl
jne 0x10032c75
movzx eax, word [edi + ebx*2 - 2]
lea eax, [eax + eax*2]
movzx ecx, word [esi + eax*4 + 4]
lea eax, [ecx + ebp]
cmp byte [eax + 7], 0x43
je 0x10032c5b
test byte [eax + 6], 0x40
je 0x10032c75
mov eax, dword [esp + 0x2c]
mov byte [ebx + edx], 7
movzx ecx, word [eax + 4]
mov byte [ecx + ebp + 1], 7
movzx eax, word [eax + 4]
mov byte [eax + ebp + 3], 0x61
cmp byte [ebx + edx], 4
jne 0x100331f8
mov ecx, dword [esp + 0x38]
cmp byte [ebx + ecx], 0
jne 0x10033148
mov edx, dword [esp + 0x34]
cmp byte [edx], 4
jne 0x10033148
mov eax, dword [esp + 0x14]
movzx eax, word [eax + ebx*2 + 2]
mov edx, dword [esp + 0x20]
lea ecx, [eax + eax*2]
movzx eax, word [edx + ecx*4 + 4]
mov al, byte [eax + ebp + 4]
cmp al, 0x71
mov byte [esp + 0x2b], al
je 0x10032cd6
cmp al, 0x61
je 0x10032cd6
cmp al, 0x6e
je 0x10032cd6
mov ecx, dword [esp + 0x2c]
movzx edx, word [ecx + 4]
cmp byte [edx + ebp + 4], 0x6e
jne 0x10033148
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
lea edi, [ecx - 1]
test di, di
mov dword [esp + 0x24], edi
jl 0x10032d0d
lea ebx, [ebx]
movsx eax, di
cmp byte [eax + edx], 4
jne 0x10032d09
mov esi, dword [esp + 0x38]
cmp byte [eax + esi], 0
jne 0x10032d09
dec edi
test di, di
jge 0x10032cf0
mov dword [esp + 0x24], edi
test cx, cx
jne 0x10032d5c
xor edi, edi
mov dword [esp + 0x24], edi
movsx eax, di
cmp byte [eax + edx], 3
jne 0x10032d37
mov ecx, dword [esp + 0x38]
cmp byte [eax + ecx], 0
je 0x10033148
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
test cx, cx
jbe 0x10032d41
inc edi
mov dword [esp + 0x24], edi
mov esi, dword [esp + 0x79c]
movzx esi, word [esi + 0x26]
add ecx, 2
movsx eax, cx
cmp eax, esi
jg 0x10032de4
jmp 0x10032dc7
jbe 0x10032d18
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + ebx*4]
mov esi, dword [0x10060eb0]
cmp eax, dword [esi + 0x10]
je 0x10032d75
cmp eax, dword [esi + 0x24]
jne 0x10032d18
cmp byte [ebx + edx - 1], 1
jne 0x10032d18
mov eax, dword [esp + 0x79c]
mov ecx, dword [eax + 0x38]
movzx ecx, word [ecx + ebx*2]
lea edx, [ecx + ecx*2]
mov ecx, dword [eax + 4]
movzx edx, word [ecx + edx*4 + 4]
mov ecx, dword [eax + 0x14]
mov byte [edx + ecx + 1], 7
mov edx, dword [eax + 0x34]
mov byte [ebx + edx], 7
mov ecx, dword [eax + 0x38]
movzx ecx, word [ecx + ebx*2]
lea edx, [ecx + ecx*2]
mov ecx, dword [eax + 4]
movzx edx, word [ecx + edx*4 + 4]
mov eax, dword [eax + 0x14]
mov byte [edx + eax + 3], 0x71
jmp 0x10033148
mov edx, dword [esp + 0x10]
cmp byte [eax + edx], 4
jne 0x10032de4
mov edx, dword [esp + 0x38]
cmp byte [eax + edx - 1], 0
jne 0x10032de0
inc ecx
movsx eax, cx
cmp eax, esi
jle 0x10032dc3
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x38]
movsx eax, cx
cmp byte [eax + esi - 1], 0x2c
jne 0x10032e00
cmp byte [eax + edx + 1], 3
jne 0x10032e00
cmp byte [eax + edx], 4
jne 0x10032e00
inc ecx
movsx eax, cx
cmp byte [eax + edx], 3
je 0x10033148
mov al, byte [esp + 0x2b]
dec ecx
cmp al, 0x6e
mov dword [esp + 0x48], ecx
jne 0x10032e57
mov edx, dword [esp + 0x2c]
movzx eax, word [edx + 4]
cmp byte [eax + ebp + 4], 0x6e
je 0x10032e57
movsx ecx, cx
movsx edx, di
sub ecx, edx
cmp ecx, 1
jne 0x10033148
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x79c]
push 0
inc eax
push eax
push ecx
call fcn.10018340
add esp, 0xc
jmp 0x10033148
movzx eax, di
movsx edx, cx
cmp eax, edx
mov esi, edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x44], esi
jg 0x10032e94
mov ecx, dword [esp + 0x14]
nop
movzx eax, word [ecx + eax*2]
lea eax, [eax + eax*2]
movzx eax, word [edi + eax*4 + 4]
mov al, byte [eax + ebp + 4]
cmp al, 0x71
je 0x10032e90
cmp al, 0x61
je 0x10032e90
inc esi
movzx eax, si
cmp eax, edx
jle 0x10032e70
mov dword [esp + 0x44], esi
mov eax, dword [esp + 0x44]
movzx esi, ax
mov ecx, edx
sub ecx, esi
jne 0x10033042
mov eax, dword [esp + 0x30]
cmp byte [eax], 6
jne 0x10032f25
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + ebx*2 - 2]
lea eax, [eax + eax*2]
movzx ecx, word [edi + eax*4 + 4]
cmp byte [ecx + ebp + 3], 0x63
lea eax, [edi + eax*4]
jne 0x10032f25
cmp byte [eax], 2
ja 0x10032f25
mov eax, dword [esp + 0x3c]
mov ecx, dword [0x10060eb0]
mov eax, dword [eax + ebx*4]
cmp eax, dword [ecx + 0x10]
je 0x10032fde
cmp eax, dword [ecx + 0x24]
je 0x10032fde
mov esi, dword [esp + 0x2c]
movzx ecx, word [esi + 4]
cmp byte [ecx + ebp + 4], 0x71
jne 0x10032f25
mov ax, word [esi + 2]
add ax, 3
movzx ecx, ax
mov eax, dword [esp + 0x79c]
mov eax, dword [eax + 0x10]
mov cl, byte [ecx + eax + 5]
and cl, 0xe0
cmp cl, 7
je 0x10032fe2
mov ecx, dword [esp + 0x10]
cmp byte [edx + ecx + 1], 6
jne 0x10032f7d
cmp word [esp + 0x18], 0
je 0x10032f44
mov al, byte [ebx + ecx - 1]
cmp al, 5
je 0x10032f7d
cmp al, 7
je 0x10032f7d
mov eax, dword [esp + 0x14]
movzx eax, word [eax + edx*2 + 2]
lea eax, [eax + eax*2]
movzx eax, word [edi + eax*4 + 4]
cmp byte [eax + ebp + 3], 0x63
jne 0x10032f7d
cmp byte [edx + ecx + 2], 4
jne 0x10032f7d
mov eax, dword [esp + 0x38]
cmp byte [edx + eax + 2], 0
jne 0x10032f7d
cmp byte [edx + ecx + 3], 3
je 0x10033148
mov edi, dword [esp + 0x20]
movsx ecx, word [esp + 0x24]
sub edx, ecx
cmp edx, 1
jne 0x10033039
mov eax, dword [esp + 0x14]
movzx eax, word [eax + ecx*2]
lea eax, [eax + eax*2]
movzx eax, word [edi + eax*4 + 4]
lea esi, [eax + ebp]
cmp byte [esi + 4], 0x6e
jne 0x10033001
mov al, byte [esi + 3]
and al, 0xc
cmp al, 4
jne 0x10033001
cmp word [esp + 0x18], 0
je 0x10032fc2
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax - 1], 2
je 0x10033001
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x79c]
push 0
push ecx
push edx
call fcn.10018340
add esp, 0xc
jmp 0x10033148
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
mov byte [ebx + edx], 7
movzx eax, word [esi + 4]
mov byte [eax + ebp + 1], 7
movzx ecx, word [esi + 4]
mov byte [ecx + ebp + 3], 0x71
jmp 0x10033148
cmp edx, 1
jne 0x10033039
mov eax, dword [esp + 0x14]
movzx eax, word [eax + ecx*2]
lea ecx, [eax + eax*2]
movzx edx, word [edi + ecx*4 + 4]
cmp byte [edx + ebp + 4], 0x69
jne 0x10033039
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x79c]
push 0
push eax
push ecx
call fcn.10018340
add esp, 0xc
jmp 0x10033148
mov edx, dword [esp + 0x48]
jmp 0x10033137
cmp esi, edx
mov byte [esp + 0x94], 0
mov byte [esp + 0x95], 1
mov dword [esp + 0x40], eax
jg 0x1003310a
mov ecx, dword [esp + 0x79c]
mov edi, dword [ecx + 0x10]
mov eax, esi
lea ebx, [ebx]
mov edx, dword [esp + 0x14]
movzx ecx, word [edx + eax*2]
mov edx, dword [esp + 0x20]
lea ecx, [ecx + ecx*2]
mov cx, word [edx + ecx*4 + 2]
add cx, 3
movzx ecx, cx
lea edx, [ecx + edi]
mov cl, byte [edx]
and cl, 0xe0
sub eax, esi
cmp cl, 0x80
jne 0x100330aa
test byte [edx + 2], 0x10
je 0x100330b9
mov byte [esp + eax + 0x94], 0x70
jmp 0x100330c1
cmp cl, 0xc0
jne 0x100330b9
mov byte [esp + eax + 0x94], 0x73
jmp 0x100330c1
mov byte [esp + eax + 0x94], 0x64
mov eax, dword [esp + 0x40]
movsx ecx, word [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
movzx eax, ax
cmp eax, ecx
jle 0x10033070
mov cl, byte [esp + 0x94]
cmp cl, 0x73
je 0x10033133
cmp cl, 0x64
mov al, byte [esp + 0x95]
jne 0x100330f2
cmp al, 0x70
je 0x10033133
cmp al, 0x73
je 0x10033123
cmp cl, 0x70
jne 0x100330ff
cmp al, 0x64
je 0x10033123
cmp cl, al
jne 0x1003310a
mov edx, dword [esp + 0x44]
inc edx
jmp 0x10033137
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x79c]
push 0
push ecx
push edx
call fcn.10018340
add esp, 0xc
jmp 0x10033148
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x79c]
inc eax
push eax
push ecx
jmp 0x10033140
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x79c]
push edx
push eax
call fcn.1002bcf0
add esp, 8
mov esi, dword [esp + 0x10]
cmp byte [ebx + esi], 4
jne 0x100331f8
mov ecx, dword [esp + 0x34]
cmp byte [ecx], 4
jne 0x100331f8
mov eax, dword [esp + 0x38]
cmp byte [ebx + eax], 0
jne 0x100331f8
mov cl, byte [ebx + eax + 1]
test cl, cl
jne 0x100331f8
mov al, byte [ebx + esi + 2]
cmp al, 3
je 0x100331f8
mov edx, dword [esp + 0x2c]
movzx ecx, word [edx + 4]
cmp byte [ecx + ebp + 4], 0x71
jne 0x100331f8
cmp al, 8
je 0x100331f8
mov edx, dword [esp + 0x18]
test dx, dx
jbe 0x10033262
mov eax, dword [esp + 0x30]
cmp byte [eax], 1
je 0x100331e6
lea eax, [edx - 1]
movzx ecx, ax
mov eax, dword [esp + 0x79c]
mov esi, dword [eax + 0x34]
cmp byte [ecx + esi], 2
jne 0x100331f8
mov esi, dword [eax + 0x38]
movzx ecx, word [esi + ecx*2]
mov esi, dword [eax + 4]
lea ecx, [ecx + ecx*2]
movzx ecx, word [esi + ecx*4 + 4]
mov esi, dword [eax + 0x14]
cmp byte [ecx + esi + 4], 0x61
jne 0x100331f8
jmp 0x100331ed
mov eax, dword [esp + 0x79c]
inc edx
push edx
push eax
call fcn.1002bcf0
add esp, 8
mov edi, dword [esp + 0x18]
test di, di
mov esi, dword [esp + 0x10]
jbe 0x10033262
cmp byte [ebx + esi], 3
jne 0x10033262
mov eax, dword [esp + 0x2c]
movzx edx, word [eax + 4]
cmp byte [edx + ebp + 3], 1
jne 0x10033262
mov eax, dword [eax + 8]
movzx ecx, byte [eax]
push ecx
call fcn.10049260
add esp, 4
test eax, eax
je 0x10033262
mov edx, dword [esp + 0x34]
cmp byte [edx], 4
jne 0x10033262
mov eax, dword [esp + 0x38]
cmp byte [ebx + eax], 0
jne 0x10033262
cmp byte [ebx + esi + 2], 3
je 0x10033262
mov ecx, dword [esp + 0x30]
cmp byte [ecx], 3
je 0x10033262
mov edx, dword [esp + 0x79c]
inc edi
push edi
push edx
call fcn.1002bcf0
add esp, 8
cmp byte [ebx + esi], 4
jne 0x1003369b
mov eax, dword [esp + 0x34]
mov al, byte [eax]
cmp al, 3
mov byte [esp + 0x1f], al
je 0x1003346e
mov ecx, dword [esp + 0x2c]
movzx edx, word [ecx + 4]
mov al, byte [edx + ebp + 4]
cmp al, 0x69
mov byte [esp + 0x2b], al
je 0x1003346e
cmp al, 0x70
je 0x1003346e
cmp word [esp + 0x18], 0
jbe 0x1003346e
mov eax, dword [esp + 0x30]
mov dl, byte [eax]
cmp dl, 3
je 0x1003346e
mov eax, ecx
movzx ecx, byte [eax]
mov edi, dword [eax + 8]
dec ecx
mov esi, 0x1004f734
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x1003346e
cmp byte [esp + 0x1f], 6
jne 0x10033321
mov ecx, dword [esp + 0x10]
cmp byte [ebx + ecx + 2], 1
je 0x10033321
mov eax, dword [esp + 0x14]
movzx eax, word [eax + ebx*2 + 2]
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x20]
movzx ecx, word [eax + ecx*4 + 4]
cmp byte [ecx + ebp + 3], 0x63
mov eax, dword [esp + 0x79c]
jne 0x10033328
mov ecx, dword [eax + 0x3c]
mov cl, byte [ebx + ecx]
cmp cl, 0x2c
je 0x10033328
cmp cl, 0x3b
je 0x10033328
cmp cl, 0x3a
jne 0x1003346e
jmp 0x10033328
mov eax, dword [esp + 0x79c]
cmp dl, 1
mov esi, dword [esp + 0x18]
je 0x100333d4
mov edi, dword [eax + 0x34]
lea ecx, [esi - 1]
movzx ecx, cx
cmp byte [ecx + edi], 2
jne 0x10033364
mov edi, dword [eax + 0x38]
movzx ecx, word [edi + ecx*2]
mov edi, dword [eax + 4]
lea ecx, [ecx + ecx*2]
movzx ecx, word [edi + ecx*4 + 4]
mov edi, dword [eax + 0x14]
cmp byte [ecx + edi + 4], 0x61
je 0x100333d4
cmp dl, 2
jne 0x10033370
cmp byte [esp + 0x1f], 7
je 0x100333d4
cmp byte [esp + 0x1f], 5
jne 0x1003346e
mov ecx, dword [esp + 0x38]
cmp byte [ebx + ecx], 0
jne 0x1003346e
xor edi, edi
cmp dl, 4
jne 0x100333ae
cmp si, 1
jbe 0x100333ae
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx - 2], 3
jne 0x100333ae
mov dl, byte [ebx + ecx - 2]
test dl, dl
jne 0x100333ae
mov edi, 1
mov ecx, dword [esp + 0x2c]
mov dx, word [ecx + 2]
add dx, 3
movzx ecx, dx
mov edx, dword [eax + 0x10]
test byte [ecx + edx], 2
je 0x1003346e
test edi, edi
jne 0x1003346e
jmp 0x100333e6
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx + 2], 3
je 0x10033427
cmp byte [esp + 0x2b], 0x6e
jne 0x10033402
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x79c]
push 0
push eax
push ecx
call fcn.10018340
add esp, 0xc
jmp 0x1003346e
cmp byte [esp + 0x1f], 5
jne 0x10033459
mov edx, dword [esp + 0x14]
movzx eax, word [edx + ebx*2 + 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
cmp byte [edx + ebp + 8], 0x46
je 0x1003346e
jmp 0x10033459
mov edx, dword [eax + 0x34]
lea ecx, [esi + 1]
movzx ecx, cx
cmp byte [ecx + edx], 2
jne 0x10033452
mov edx, dword [eax + 0x38]
movzx ecx, word [edx + ecx*2]
mov edx, dword [eax + 4]
lea ecx, [ecx + ecx*2]
movzx ecx, word [edx + ecx*4 + 4]
mov edx, dword [eax + 0x14]
cmp byte [ecx + edx + 4], 0x61
je 0x10033459
cmp byte [esp + 0x1f], 5
jne 0x1003346e
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x79c]
push eax
push ecx
call fcn.1002bcf0
add esp, 8
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx], 4
jne 0x1003369b
mov eax, dword [esp + 0x34]
cmp byte [eax], 3
je 0x1003369b
cmp word [esp + 0x18], 1
jbe 0x1003369b
mov ecx, dword [esp + 0x30]
mov al, byte [ecx]
cmp al, 5
mov byte [esp + 0x2a], al
je 0x1003369b
cmp al, 7
je 0x1003369b
cmp al, 3
je 0x1003369b
mov dl, byte [ebx + edx - 2]
cmp dl, 4
je 0x1003369b
mov eax, dword [esp + 0x10]
mov cl, byte [ebx + eax + 2]
cmp cl, 4
jne 0x100334df
mov eax, dword [esp + 0x38]
cmp byte [ebx + eax], 0x2c
jne 0x1003369b
mov eax, dword [esp + 0x14]
movzx eax, word [eax + ebx*2]
mov esi, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx eax, word [esi + eax*4 + 4]
lea edi, [eax + ebp]
mov al, byte [edi + 4]
cmp al, 0x63
mov dword [esp + 0x4c], edi
je 0x10033509
cmp al, 0x71
jne 0x1003369b
cmp cl, 7
je 0x1003369b
cmp byte [esp + 0x2a], 4
jne 0x10033571
cmp dl, 3
jne 0x10033571
mov ecx, dword [esp + 0x79c]
mov edx, dword [ecx + 0x38]
mov esi, dword [ecx + 4]
mov edi, dword [ecx + 0x14]
movzx ecx, word [edx + ebx*2 - 2]
lea eax, [edx + ebx*2]
movzx eax, word [eax]
lea ecx, [ecx + ecx*2]
movzx edx, word [esi + ecx*4 + 4]
xor ecx, ecx
mov cl, byte [edx + edi + 3]
lea edx, [eax + eax*2]
movzx eax, word [esi + edx*4 + 4]
and ecx, 0xffffffcc
push ecx
xor ecx, ecx
mov cl, byte [eax + edi + 3]
and ecx, 0xffffffcc
push ecx
call fcn.10019e60
add esp, 8
test eax, eax
jne 0x1003369b
mov edi, dword [esp + 0x4c]
mov edx, dword [esp + 0x30]
mov al, byte [edx]
cmp al, 2
mov byte [esp + 0x2a], al
jne 0x10033596
mov eax, dword [esp + 0x38]
mov al, byte [ebx + eax]
cmp al, 0x2c
je 0x10033686
cmp al, 0x3b
je 0x10033686
mov ecx, dword [esp + 0x79c]
mov edx, dword [ecx + 0x30]
mov ecx, dword [0x10060eb0]
mov esi, dword [ecx + 0x6c]
mov eax, dword [edx + ebx*4 - 4]
cmp eax, esi
lea edx, [edx + ebx*4]
mov dword [esp + 0x4c], esi
je 0x100335bd
cmp eax, dword [ecx + 0x70]
jne 0x10033621
mov esi, dword [esp + 0x14]
movzx eax, word [esi + ebx*2 - 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
mov al, byte [eax + ebp + 3]
xor al, byte [edi + 3]
test al, 0xc
jne 0x1003361d
movzx eax, word [esi + ebx*2 - 2]
lea eax, [eax + eax*2]
movzx ecx, word [ecx + eax*4 + 4]
cmp byte [ecx + ebp + 3], 0x63
jne 0x1003361d
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax - 2], 3
jne 0x1003361d
mov ecx, dword [esp + 0x34]
cmp byte [ecx], 6
jne 0x1003361d
cmp word [esp + 0x18], 3
jb 0x10033686
mov eax, dword [esp + 0x38]
mov cl, byte [ebx + eax - 3]
test cl, cl
je 0x10033686
mov esi, dword [esp + 0x4c]
cmp byte [esp + 0x2a], 6
jne 0x1003369b
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + ebx*2 - 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
cmp byte [eax + ebp + 3], 0x73
jne 0x1003369b
mov eax, dword [edx + 4]
cmp eax, esi
je 0x1003365a
mov ecx, dword [0x10060eb0]
cmp eax, dword [ecx + 0x70]
jne 0x1003369b
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx + 2], 3
jne 0x1003369b
mov eax, dword [esp + 0x14]
movzx eax, word [eax + ebx*2 + 4]
mov edx, dword [esp + 0x20]
lea ecx, [eax + eax*2]
movzx eax, word [edx + ecx*4 + 4]
mov cl, byte [eax + ebp + 3]
xor cl, byte [edi + 3]
test cl, 0xc
jne 0x1003369b
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x79c]
push edx
push eax
call fcn.1002bcf0
add esp, 8
mov ecx, dword [esp + 0x10]
cmp byte [ebx + ecx], 3
mov edi, dword [esp + 0x20]
jne 0x10033820
mov edx, dword [esp + 0x30]
cmp byte [edx], 6
mov edx, dword [esp + 0x14]
jne 0x10033824
movzx eax, word [edx + ebx*2 - 2]
lea eax, [eax + eax*2]
movzx eax, word [edi + eax*4 + 4]
cmp byte [eax + ebp + 3], 0x63
jne 0x10033824
mov eax, dword [esp + 0x18]
cmp ax, 1
jbe 0x10033824
cmp byte [ebx + ecx - 2], 4
jne 0x10033824
cmp ax, 3
jbe 0x10033703
cmp byte [ebx + ecx - 3], 4
jne 0x10033703
cmp byte [ebx + ecx - 4], 3
je 0x10033718
cmp ax, 2
jbe 0x10033824
cmp byte [ebx + ecx - 3], 3
jne 0x10033824
mov ecx, dword [esp + 0x38]
cmp byte [ebx + ecx], 0
mov esi, dword [esp + 0x79c]
je 0x10033745
cmp ax, word [esi + 0x26]
je 0x10033745
mov eax, dword [esp + 0x34]
mov al, byte [eax]
cmp al, 8
je 0x10033745
cmp al, 7
je 0x10033745
cmp al, 5
jne 0x1003382b
mov ecx, dword [esi + 0x38]
movzx eax, word [ecx + ebx*2]
mov ecx, dword [esi + 4]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 2]
mov ecx, dword [esi + 0x10]
add eax, ecx
cmp byte [eax], 0x45
jne 0x1003382b
mov al, byte [eax + 3]
mov cl, al
and cl, 0xe0
cmp cl, 0xc0
jne 0x1003382b
test al, 2
je 0x1003382b
movzx eax, word [edx + ebx*2]
lea edx, [eax + eax*2]
movzx ecx, word [edi + edx*4 + 4]
movzx ecx, byte [ecx + ebp]
lea eax, [edi + edx*4 + 4]
mov dx, word [esi + 0xe4]
mov word [eax], dx
mov edx, dword [esp + 0x14]
movzx eax, word [edx + ebx*2]
lea eax, [eax + eax*2]
movzx eax, word [edi + eax*4 + 4]
mov byte [eax + ebp], cl
movzx eax, word [edx + ebx*2]
lea ecx, [eax + eax*2]
movzx eax, word [edi + ecx*4 + 4]
mov ecx, dword [esp + 0x10]
mov byte [eax + ebp + 1], 4
mov byte [ebx + ecx], 4
movzx eax, word [edx + ebx*2]
lea eax, [eax + eax*2]
movzx ecx, word [edi + eax*4 + 4]
mov byte [ecx + ebp + 2], 0
mov eax, dword [esi + 0x38]
movzx eax, word [eax + ebx*2]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 4]
movzx ecx, word [eax + ecx*4 + 4]
mov eax, dword [esi + 0x14]
mov cl, byte [ecx + eax + 3]
movzx eax, word [edx + ebx*2]
lea eax, [eax + eax*2]
movzx eax, word [edi + eax*4 + 4]
and cl, 0xcc
mov byte [eax + ebp + 3], cl
movzx eax, word [edx + ebx*2]
lea ecx, [eax + eax*2]
movzx eax, word [edi + ecx*4 + 4]
mov byte [eax + ebp + 4], 0x6e
add word [esi + 0xe4], 5
jmp 0x1003382b
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x79c]
mov ecx, dword [esp + 0x10]
cmp byte [ebx + ecx], 1
jne 0x10033a3f
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + ebx*4]
mov ecx, dword [0x10060eb0]
cmp eax, dword [ecx + 0x14]
je 0x10033857
cmp eax, dword [ecx + 0xa0]
jne 0x10033a3f
mov ecx, dword [esp + 0x2c]
movzx eax, word [ecx + 4]
movzx cx, byte [eax + ebp + 3]
mov eax, dword [esp + 0x34]
mov word [esp + 0x40], cx
mov cl, byte [eax]
cmp cl, 5
jne 0x1003388d
movzx eax, word [edx + ebx*2 + 2]
lea eax, [eax + eax*2]
movzx eax, word [edi + eax*4 + 4]
cmp byte [eax + ebp + 8], 0x50
jne 0x10033a12
cmp cl, 8
jne 0x100338aa
movzx eax, word [edx + ebx*2 + 2]
lea eax, [eax + eax*2]
movzx eax, word [edi + eax*4 + 4]
cmp byte [eax + ebp + 5], 0x70
je 0x10033a12
cmp word [esp + 0x18], 0
jbe 0x1003393b
mov eax, dword [esp + 0x30]
cmp byte [eax], 1
jne 0x100338db
mov eax, dword [esp + 0x38]
cmp byte [ebx + eax], 0
jne 0x10033a12
cmp cl, 3
je 0x100339df
jmp 0x10033a12
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0x34]
dec eax
movzx eax, ax
cmp byte [eax + ecx], 2
jne 0x1003390c
mov ecx, dword [esi + 0x38]
movzx eax, word [ecx + eax*2]
mov ecx, dword [esi + 4]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
mov ecx, dword [esi + 0x14]
cmp byte [eax + ecx + 4], 0x61
je 0x10033a12
mov eax, dword [esp + 0x30]
cmp byte [eax], 5
jne 0x1003393b
movzx eax, word [edx + ebx*2 - 2]
lea ecx, [eax + eax*2]
movzx eax, word [edi + ecx*4 + 4]
cmp byte [eax + ebp + 8], 0x50
je 0x1003393b
mov ecx, dword [esp + 0x34]
mov al, byte [ecx]
cmp al, 4
je 0x1003393b
cmp al, 3
jne 0x10033a12
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + ebx*4 + 4]
mov ecx, dword [0x10060eb0]
cmp eax, dword [ecx + 0x1c]
je 0x10033a12
cmp eax, dword [ecx + 0x70]
jne 0x100339df
mov ecx, dword [esp + 0x10]
cmp byte [ebx + ecx + 2], 4
jne 0x100339df
movzx eax, word [edx + ebx*2 + 4]
lea eax, [eax + eax*2]
movzx eax, word [edi + eax*4 + 4]
cmp byte [eax + ebp + 4], 0x63
jne 0x100339df
movzx eax, word [esi + 0xe4]
mov byte [eax + ebp + 1], 4
mov byte [ebx + ecx], 4
movzx ecx, word [esi + 0xe4]
mov byte [ecx + ebp], 1
movzx eax, word [esi + 0xe4]
mov byte [eax + ebp + 2], 0
movzx ecx, word [esi + 0xe4]
mov eax, dword [esp + 0x2c]
mov byte [ecx + ebp + 4], 0x63
movzx ecx, word [eax + 4]
movzx eax, word [esi + 0xe4]
mov cl, byte [ecx + ebp + 3]
mov byte [eax + ebp + 3], cl
mov ax, word [esi + 0xe4]
mov ecx, dword [esp + 0x2c]
mov word [ecx + 4], ax
add word [esi + 0xe4], 5
mov eax, dword [esp + 0x2c]
movzx ecx, word [eax + 4]
cmp byte [ecx + ebp + 3], 0x88
jne 0x10033a3f
mov eax, dword [esp + 0x34]
cmp byte [eax], 4
jne 0x10033a3f
mov ecx, dword [esp + 0x10]
mov al, byte [ebx + ecx + 2]
cmp al, 3
je 0x10033a3f
mov ecx, dword [esp + 0x38]
cmp byte [ebx + ecx + 1], 0
jne 0x10033a12
cmp al, 4
je 0x10033a3f
mov edx, dword [esp + 0x18]
push 0
push edx
push esi
call fcn.10018340
mov eax, dword [esp + 0x38]
movzx ecx, word [eax + 4]
mov dl, byte [esp + 0x4c]
mov byte [ecx + ebp + 3], dl
movzx eax, word [eax + 4]
mov edx, dword [esp + 0x20]
add esp, 0xc
mov byte [eax + ebp + 4], 0x33
mov ecx, dword [esp + 0x10]
cmp byte [ebx + ecx], 6
jne 0x10034887
mov eax, dword [esp + 0x2c]
cmp byte [eax], 3
jne 0x10034887
cmp word [esp + 0x18], 0
jbe 0x10034887
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + ebx*4]
mov ecx, dword [0x10060eb0]
cmp eax, dword [ecx + 0x1c]
jne 0x10034887
mov eax, dword [esp + 0x30]
mov al, byte [eax]
cmp al, 6
mov byte [esp + 0x2a], al
je 0x10034887
lea eax, [ebx - 1]
xor ecx, ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x18]
cmp ax, 1
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x5c], 0xffffffff
mov dword [esp + 0x58], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x48], ecx
jbe 0x10033baa
cmp byte [esp + 0x2a], 3
mov ecx, dword [esp + 0x38]
jne 0x10033adc
cmp byte [ebx + ecx - 2], 0x2c
jne 0x10033adc
mov dword [esp + 0x48], 0
jmp 0x10034310
cmp byte [ebx + ecx - 1], 0x2c
jne 0x10033baa
cmp byte [ebx + ecx - 2], 0x2c
je 0x10033baa
cmp byte [esp + 0x2a], 5
je 0x10033baa
cmp ax, 2
jbe 0x10034887
mov ecx, dword [esp + 0x38]
cmp byte [ebx + ecx - 3], 0x2c
jne 0x10033b21
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx - 3], 5
je 0x10034887
mov edi, dword [esp + 0x18]
dec edi
movsx eax, di
lea ecx, [ebx - 6]
cmp eax, ecx
mov dword [esp + 0x24], edi
jl 0x10034314
test di, di
jl 0x10033b60
mov ecx, dword [esp + 0x10]
cmp byte [eax + ecx], 1
je 0x10033b6d
push edi
push esi
call fcn.10019260
add esp, 8
test al, al
jne 0x10033b69
dec edi
movsx eax, di
lea ecx, [ebx - 6]
cmp eax, ecx
jge 0x10033b38
mov dword [esp + 0x24], edi
jmp 0x10034314
mov ecx, dword [esp + 0x10]
cmp di, 1
movsx eax, di
mov dword [esp + 0x24], edi
mov dword [esp + 0x48], 0xa
mov dword [esp + 0x40], eax
jle 0x10034314
cmp byte [eax + ecx - 2], 1
jne 0x10034314
cmp byte [eax + ecx - 1], 3
jne 0x10034314
dec eax
mov dword [esp + 0x40], eax
jmp 0x10034314
cmp ax, word [esi + 0x26]
mov byte [esp + 0x2b], 0
mov byte [esp + 0x1f], 0
jae 0x10033bbf
mov byte [esp + 0x2b], 1
cmp ax, 1
jbe 0x10033c65
mov ecx, dword [esi + 0x34]
add ecx, ebx
cmp byte [ecx - 1], 3
mov dword [esp + 0x64], ecx
jne 0x10033c65
mov eax, dword [esi + 0x38]
movzx eax, word [eax + ebx*2 - 2]
mov ecx, dword [esi + 4]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
mov ecx, dword [esi + 0x14]
mov al, byte [eax + ecx + 4]
and al, 0x1c
cmp al, 0xc
je 0x10033c61
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax - 2], 6
je 0x10033c17
mov eax, dword [esp + 0x38]
mov al, byte [ebx + eax - 2]
cmp al, 0x3a
je 0x10033c17
cmp al, 0x3b
jne 0x10033c61
movzx eax, word [edx + ebx*2 - 4]
lea edx, [eax + eax*2]
movzx eax, word [edi + edx*4 + 4]
cmp byte [eax + ebp + 3], 0x63
jne 0x10033c5c
cmp word [esp + 0x18], 2
jbe 0x10033c5c
mov edx, dword [esp + 0x64]
cmp byte [edx - 3], 3
jne 0x10033c5c
mov eax, dword [esi + 0x38]
movzx eax, word [eax + ebx*2 - 6]
lea edx, [eax + eax*2]
mov eax, dword [esi + 4]
movzx eax, word [eax + edx*4 + 4]
mov cl, byte [eax + ecx + 4]
and cl, 0x1c
cmp cl, 0xc
jne 0x10033c61
mov byte [esp + 0x1f], 2
mov eax, dword [esp + 0x18]
lea ecx, [eax - 1]
movsx eax, cx
lea edx, [ebx - 6]
cmp eax, edx
mov dword [esp + 0x24], ecx
jl 0x100342fa
add ecx, 2
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
movzx di, byte [eax + edx]
cmp byte [eax + ecx], 0
jne 0x10034168
cmp di, 6
jne 0x10033d02
cmp byte [esp + 0x1f], 2
jb 0x10033d74
mov edx, dword [esp + 0x3c]
mov ecx, dword [edx + eax*4]
mov edx, dword [0x10060eb0]
cmp ecx, dword [edx + 0x6c]
je 0x10033cc4
cmp ecx, dword [edx + 0x78]
jne 0x10033d74
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x6c], ecx
movzx ecx, word [edx + ecx*2]
mov edx, dword [esp + 0x20]
lea ecx, [ecx + ecx*2]
movzx ecx, word [edx + ecx*4 + 4]
xor edx, edx
mov dl, byte [ecx + ebp + 3]
mov dword [esp + 0x60], 1
mov byte [esp + 0x1f], 0
and edx, 0xc0
mov dword [esp + 0x58], edx
jmp 0x10033d74
cmp di, 8
jne 0x10033d6a
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx + eax*2]
lea edx, [ecx + ecx*2]
mov ecx, dword [esp + 0x20]
movzx edx, word [ecx + edx*4 + 4]
cmp byte [edx + ebp + 5], 0x76
jne 0x10033d41
cmp word [esp + 0x24], 0
jle 0x10033d74
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + eax*4 - 4]
mov ecx, dword [0x10060eb0]
cmp edx, dword [ecx + 0xa4]
je 0x10033d74
mov eax, dword [esp + 0x24]
movsx edx, ax
lea ecx, [ebx - 2]
cmp edx, ecx
jge 0x10033d58
test ax, ax
jne 0x10034168
add byte [esp + 0x1f], 2
mov dword [esp + 0x48], 0x64
jmp 0x10034168
cmp di, 1
je 0x10034199
mov edx, dword [esi + 0x34]
mov cl, byte [edx + eax]
add edx, eax
cmp cl, 3
mov dword [esp + 0x44], edx
jne 0x10033de1
mov ecx, dword [esi + 0x38]
movzx ecx, word [ecx + eax*2]
lea edx, [ecx + ecx*2]
mov ecx, dword [esi + 4]
movzx edx, word [ecx + edx*4 + 4]
mov ecx, dword [esi + 0x14]
mov dl, byte [edx + ecx + 4]
and dl, 0x1c
cmp dl, 0xc
je 0x10033ddd
cmp word [esp + 0x24], 0
jle 0x10033ddd
mov ecx, dword [esp + 0x10]
cmp byte [eax + ecx - 1], 2
jne 0x10034199
mov edx, dword [esp + 0x14]
movzx ecx, word [edx + eax*2 - 2]
mov edx, dword [esp + 0x20]
lea ecx, [ecx + ecx*2]
movzx ecx, word [edx + ecx*4 + 4]
cmp byte [ecx + ebp + 4], 0x61
je 0x10034199
mov edx, dword [esp + 0x44]
cmp di, 4
jne 0x10033ec5
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx + eax*4]
mov edi, dword [0x10060eb0]
cmp ecx, dword [edi + 0x10]
je 0x10034252
cmp ecx, dword [edi + 0x24]
je 0x10034252
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx + eax*2]
mov edi, dword [esp + 0x20]
lea ecx, [ecx + ecx*2]
movzx ecx, word [edi + ecx*4 + 4]
lea edi, [ecx + ebp]
cmp byte [edi + 4], 0x71
je 0x10034252
cmp byte [edx + 1], 3
jne 0x10033e57
mov edx, dword [esi + 0x38]
movzx ecx, word [edx + eax*2 + 2]
mov edx, dword [esi + 4]
lea ecx, [ecx + ecx*2]
movzx ecx, word [edx + ecx*4 + 4]
mov edx, dword [esi + 0x14]
mov cl, byte [ecx + edx + 4]
and cl, 0x1c
cmp cl, 0xc
jne 0x10033e96
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x10]
cmp byte [eax + ecx + 1], 4
jne 0x10034252
cmp byte [edx + 2], 3
jne 0x10034252
mov edx, dword [esi + 0x38]
movzx eax, word [edx + eax*2 + 4]
mov ecx, dword [esi + 4]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
mov eax, dword [esi + 0x14]
mov cl, byte [edx + eax + 4]
and cl, 0x1c
cmp cl, 0xc
je 0x10034252
mov dl, byte [edi + 3]
mov al, byte [esp + 0x1f]
and dl, 0xc
inc al
cmp al, 1
movzx cx, dl
mov byte [esp + 0x1f], al
mov word [esp + 0x48], cx
jbe 0x10034252
movsx eax, word [esp + 0x24]
mov dword [esp + 0x40], eax
jmp 0x10034168
cmp di, 2
jne 0x1003405d
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx + eax*2]
mov edi, dword [esp + 0x20]
lea ecx, [ecx + ecx*2]
movzx ecx, word [edi + ecx*4 + 4]
mov cl, byte [ecx + ebp + 4]
cmp cl, 0x61
jne 0x10033f0b
inc byte [esp + 0x1f]
mov ecx, dword [esp + 0x4c]
inc ecx
cmp ecx, 2
mov dword [esp + 0x4c], ecx
je 0x10034283
mov dword [esp + 0x70], eax
jmp 0x10034252
cmp cl, 0x73
jne 0x10034252
mov ecx, ebx
sub ecx, eax
cmp ecx, 3
jle 0x10033f35
cmp ecx, 4
jne 0x10034252
mov ecx, dword [esp + 0x10]
cmp byte [eax + ecx + 2], 7
jne 0x10034252
cmp byte [edx + 1], 3
jne 0x10033f61
mov edi, dword [esi + 0x38]
movzx ecx, word [edi + eax*2 + 2]
mov edx, dword [esi + 4]
lea ecx, [ecx + ecx*2]
movzx edx, word [edx + ecx*4 + 4]
mov ecx, dword [esi + 0x14]
mov dl, byte [edx + ecx + 4]
and dl, 0x1c
cmp dl, 0xc
jne 0x10033f91
mov edx, dword [esp + 0x44]
cmp byte [edx + 2], 3
jne 0x10034252
mov edi, dword [esi + 0x38]
movzx ecx, word [edi + eax*2 + 4]
mov edx, dword [esi + 4]
lea ecx, [ecx + ecx*2]
movzx edx, word [edx + ecx*4 + 4]
mov ecx, dword [esi + 0x14]
mov dl, byte [edx + ecx + 4]
and dl, 0x1c
cmp dl, 0xc
je 0x10034252
mov edx, dword [esp + 0x44]
cmp byte [edx + 1], 3
jne 0x10033fc1
movzx ecx, word [edi + eax*2 + 2]
lea edx, [ecx + ecx*2]
mov ecx, dword [esi + 4]
movzx edx, word [ecx + edx*4 + 4]
mov ecx, dword [esi + 0x14]
mov dl, byte [edx + ecx + 4]
and dl, 0x1c
cmp dl, 0xc
je 0x10033fc1
mov edx, dword [esp + 0x64]
dec edx
jmp 0x10033fc5
mov edx, dword [esp + 0x64]
cmp word [esp + 0x24], 0
mov dword [esp + 0x48], edx
jle 0x10034258
mov edx, dword [esp + 0x44]
cmp byte [edx - 1], 3
jne 0x10033ffb
movzx eax, word [edi + eax*2 - 2]
lea edx, [eax + eax*2]
mov eax, dword [esi + 4]
movzx eax, word [eax + edx*4 + 4]
mov cl, byte [eax + ecx + 4]
and cl, 0x1c
cmp cl, 0xc
jne 0x10034024
movsx edx, word [esp + 0x48]
mov eax, dword [esp + 0x14]
movzx eax, word [eax + edx*2]
mov edx, dword [esp + 0x20]
lea ecx, [eax + eax*2]
movzx eax, word [edx + ecx*4 + 4]
mov cl, byte [eax + ebp + 3]
and cl, 0xc
cmp cl, 4
jne 0x10034252
movsx ecx, word [esp + 0x48]
mov eax, dword [esp + 0x14]
movzx eax, word [eax + ecx*2]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x20]
movzx edx, word [eax + edx*4 + 4]
mov al, byte [edx + ebp + 3]
and al, 0xc
cmp al, 4
mov byte [esp + 0x1f], 2
jne 0x100342af
mov dword [esp + 0x48], 4
jmp 0x10034168
cmp di, 6
jne 0x10034087
mov edx, dword [esp + 0x14]
movzx eax, word [edx + eax*2]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
cmp byte [edx + ebp + 3], 0x63
jne 0x10034168
jmp 0x10034252
cmp di, 7
je 0x10034168
cmp di, 5
jne 0x10034252
cmp byte [esp + 0x1f], 1
jne 0x10034102
movsx eax, word [esp + 0x24]
mov ecx, dword [esi + 0x34]
lea edi, [ecx + eax]
cmp byte [edi + 1], 3
jne 0x100340d5
mov edx, dword [esi + 0x38]
movzx ecx, word [edx + eax*2 + 2]
mov edx, dword [esi + 4]
lea ecx, [ecx + ecx*2]
movzx ecx, word [edx + ecx*4 + 4]
mov edx, dword [esi + 0x14]
mov cl, byte [ecx + edx + 4]
and cl, 0x1c
cmp cl, 0xc
jne 0x100340fd
cmp byte [edi + 2], 3
jne 0x10034102
mov edx, dword [esi + 0x38]
movzx eax, word [edx + eax*2 + 4]
mov ecx, dword [esi + 4]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
mov eax, dword [esi + 0x14]
mov cl, byte [edx + eax + 4]
and cl, 0x1c
cmp cl, 0xc
je 0x10034102
mov byte [esp + 0x1f], 2
movsx edx, word [esp + 0x24]
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + edx*4]
mov eax, dword [0x10060eb0]
cmp ecx, dword [eax + 0x108]
jne 0x10034168
mov ecx, dword [esp + 0x10]
cmp byte [edx + ecx + 1], 1
jne 0x10034168
mov eax, ecx
mov ecx, dword [esp + 0x5c]
cmp byte [ecx + eax], 3
jne 0x10034168
mov eax, dword [esi + 0x38]
movzx edx, word [eax + edx*2 + 2]
mov ecx, dword [esi + 4]
lea edx, [edx + edx*2]
mov edx, dword [ecx + edx*4 + 8]
cmp byte [edx], 0x75
je 0x10034168
mov edx, dword [esp + 0x5c]
movzx eax, word [eax + edx*2]
mov edx, dword [esi + 0x14]
lea eax, [eax + eax*2]
movzx ecx, word [ecx + eax*4 + 4]
test byte [ecx + edx + 4], 0x20
je 0x10034168
mov byte [esp + 0x1f], 0
cmp word [esp + 0x60], 1
jne 0x100342fa
cmp byte [esp + 0x1f], 2
jae 0x100342cd
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x60], 0
mov byte [esp + 0x1f], 2
mov dword [esp + 0x40], eax
jmp 0x100342fa
lea ecx, [ebx - 1]
cmp eax, ecx
jne 0x100341d5
cmp word [esp + 0x18], 1
jbe 0x100341d5
cmp di, 3
jne 0x100341d5
mov ecx, dword [esp + 0x3c]
mov edx, dword [0x10060eb0]
mov ecx, dword [ecx + ebx*4 - 8]
cmp ecx, dword [edx + 0x10]
je 0x100341c6
cmp ecx, dword [edx + 0x24]
jne 0x100341d5
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx + 1], 5
jne 0x10034252
mov dl, byte [esp + 0x1f]
inc dl
cmp word [esp + 0x48], 0
mov byte [esp + 0x1f], dl
je 0x100341ef
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x14]
movzx ecx, word [edx + eax*2]
mov edx, dword [esp + 0x20]
lea ecx, [ecx + ecx*2]
movzx ecx, word [edx + ecx*4 + 4]
mov dl, byte [ecx + ebp + 3]
and dl, 0xc
cmp word [esp + 0x24], 0
movzx cx, dl
mov word [esp + 0x48], cx
mov dword [esp + 0x40], eax
jle 0x10034258
mov edx, dword [esp + 0x10]
cmp byte [eax + edx - 1], 4
jne 0x10034252
mov ecx, edx
cmp byte [eax + ecx + 1], 4
jne 0x10034252
mov ecx, dword [esp + 0x24]
cmp cx, 1
jle 0x1003424c
mov edx, dword [esp + 0x38]
cmp byte [eax + edx - 1], 0
jne 0x1003424e
cmp cx, 1
jne 0x10034252
inc byte [esp + 0x1f]
cmp word [esp + 0x24], 0
je 0x10034168
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x64]
dec eax
mov dword [esp + 0x24], eax
movsx eax, ax
dec edi
lea ecx, [ebx - 6]
cmp eax, ecx
mov dword [esp + 0x64], edi
jge 0x10033c81
jmp 0x10034168
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x70]
movzx eax, word [edx + ecx*2]
lea eax, [eax + eax*2]
movzx edx, word [edi + eax*4 + 4]
mov al, byte [edx + ebp + 3]
and al, 0xc
movzx dx, al
mov word [esp + 0x48], dx
mov dword [esp + 0x40], ecx
jmp 0x10034168
mov edx, dword [esp + 0x10]
cmp byte [ecx + edx - 1], 1
je 0x10034168
movsx eax, word [esp + 0x24]
dec eax
mov dword [esp + 0x40], eax
jmp 0x10034168
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x40]
movzx eax, word [ecx + edx*2]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
mov ecx, dword [esp + 0x58]
xor eax, eax
mov al, byte [edx + ebp + 3]
and eax, 0xc0
add ecx, eax
mov dword [esp + 0x58], ecx
cmp byte [esp + 0x2b], 1
jne 0x10034887
cmp byte [esp + 0x1f], 1
jbe 0x10034887
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
cmp byte [ecx], 7
mov dword [esp + 0x44], 1
je 0x1003434a
mov edx, dword [esp + 0x14]
movzx eax, word [edx + ebx*2 - 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
mov al, byte [edx + ebp + 3]
cmp al, 0x88
je 0x1003434a
test al, al
jne 0x10034458
movsx eax, di
mov ecx, ebx
sub ecx, eax
cmp ecx, 2
je 0x1003438e
cmp word [esp + 0x18], 1
jbe 0x1003440e
mov edx, dword [esi + 0x34]
cmp byte [edx + ebx - 2], 3
jne 0x100343b8
mov eax, dword [esi + 0x38]
movzx eax, word [eax + ebx*2 - 4]
mov edx, dword [esi + 4]
lea ecx, [eax + eax*2]
movzx eax, word [edx + ecx*4 + 4]
mov ecx, dword [esi + 0x14]
mov dl, byte [eax + ecx + 4]
and dl, 0x1c
cmp dl, 0xc
je 0x100343b8
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + ebx*4 - 4]
mov ecx, dword [0x10060eb0]
mov eax, 9
cmp edx, dword [ecx + eax*4]
je 0x100343ae
inc eax
cmp eax, 0xc
jle 0x100343a1
jmp 0x100343be
mov dword [esp + 0x44], 0
jmp 0x100343be
mov ecx, dword [0x10060eb0]
cmp word [esp + 0x18], 1
jbe 0x10034414
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx - 2], 2
jne 0x10034414
mov eax, dword [esp + 0x14]
movzx eax, word [eax + ebx*2 - 4]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x20]
movzx edx, word [eax + edx*4 + 4]
cmp byte [edx + ebp + 4], 0x73
jne 0x10034414
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + ebx*4 - 4]
cmp eax, dword [ecx + 0x34]
je 0x10034404
cmp eax, dword [ecx + 0x24]
je 0x10034404
cmp eax, dword [ecx + 0x10]
jne 0x10034414
mov dword [esp + 0x44], 0
jmp 0x10034414
mov ecx, dword [0x10060eb0]
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + ebx*4 - 4]
cmp eax, dword [ecx + 0x48]
je 0x10034887
cmp word [esp + 0x18], 2
jbe 0x1003444c
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax - 2], 2
jne 0x1003444c
mov al, byte [ebx + eax - 3]
cmp al, 4
je 0x10034887
cmp al, 5
je 0x10034887
cmp word [esp + 0x44], 1
jne 0x10034887
movzx ecx, word [esi + 0x26]
lea eax, [ebx + 1]
cmp eax, ecx
mov dword [esp + 0x24], 0
jg 0x10034535
nop
mov ecx, dword [esp + 0x10]
mov dl, byte [eax + ecx]
cmp dl, 5
je 0x10034535
cmp dl, 7
je 0x100344ac
cmp dl, 8
jne 0x100344bb
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx + eax*2]
mov edi, dword [esp + 0x20]
lea ecx, [ecx + ecx*2]
movzx ecx, word [edi + ecx*4 + 4]
mov cl, byte [ecx + ebp + 5]
cmp cl, 0x74
je 0x100344ac
cmp cl, 0x70
jne 0x100344bb
mov ecx, dword [esp + 0x10]
cmp byte [eax + ecx + 1], 5
je 0x10034520
mov ecx, dword [esi + 0x34]
cmp byte [eax + ecx], 4
jne 0x100344e7
lea ecx, [ebx + 1]
cmp eax, ecx
jne 0x100344e7
mov ecx, dword [esi + 0x38]
movzx ecx, word [ecx + eax*2]
mov edi, dword [esi + 4]
lea ecx, [ecx + ecx*2]
movzx ecx, word [edi + ecx*4 + 4]
mov edi, dword [esi + 0x14]
cmp byte [ecx + edi + 4], 0x71
je 0x1003452d
mov ecx, dword [esi + 0x3c]
cmp byte [eax + ecx], 0
jne 0x10034520
cmp dl, 2
je 0x10034520
cmp dl, 6
je 0x10034520
cmp dl, 4
jne 0x10034511
lea ecx, [ebx + 1]
cmp eax, ecx
jne 0x10034511
mov edx, dword [esp + 0x10]
cmp byte [eax + edx + 1], 5
je 0x10034520
movzx ecx, word [esi + 0x26]
inc eax
cmp eax, ecx
jle 0x10034470
jmp 0x10034535
mov dword [esp + 0x24], 1
jmp 0x1003463a
mov dword [esp + 0x44], 0
lea ecx, [ebx + 1]
cmp eax, ecx
jle 0x1003463a
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
movzx ecx, word [edx + ecx*2]
mov edx, dword [esp + 0x20]
lea ecx, [ecx + ecx*2]
movzx ecx, word [edx + ecx*4 + 4]
cmp byte [ecx + ebp + 7], 0x43
jne 0x1003458b
movzx edi, word [esi + 0x26]
lea edx, [eax + 1]
movsx ecx, dx
cmp ecx, edi
jg 0x1003458b
lea ecx, [ecx]
mov edi, dword [esp + 0x10]
cmp byte [ecx + edi], 5
je 0x10034588
movzx edi, word [esi + 0x26]
inc edx
movsx ecx, dx
cmp ecx, edi
jle 0x10034570
jmp 0x1003458b
movsx eax, dx
mov edx, dword [esp + 0x14]
movzx ecx, word [edx + eax*2]
mov edx, dword [esp + 0x20]
lea ecx, [ecx + ecx*2]
movzx ecx, word [edx + ecx*4 + 4]
mov cl, byte [ecx + ebp + 6]
mov dl, cl
and dl, 0x81
movzx dx, dl
cmp dx, 0x80
mov dword [esp + 0x24], edx
jne 0x100345c3
and cl, 6
cmp cl, 6
jne 0x10034887
mov edx, dword [esp + 0x10]
inc eax
movzx ecx, ax
cmp byte [ecx + edx], 7
mov dword [esp + 0x24], 1
jne 0x100345da
inc eax
mov edi, dword [esp + 0x38]
movzx ecx, ax
cmp byte [ecx + edi], 0
je 0x100345ef
mov dword [esp + 0x24], 2
cmp byte [ecx + edx], 2
jne 0x10034614
mov edi, dword [esp + 0x38]
inc eax
movzx ecx, ax
cmp byte [ecx + edi], 0
je 0x10034607
inc dword [esp + 0x24]
mov cl, byte [ecx + edx]
cmp cl, 3
je 0x100345f5
cmp cl, 4
jmp 0x100345f3
movzx eax, ax
mov al, byte [eax + edx]
cmp al, 1
je 0x1003462a
cmp al, 8
je 0x1003462a
cmp al, 4
je 0x1003462a
cmp al, 3
jne 0x1003462e
dec dword [esp + 0x24]
cmp word [esp + 0x24], 0
je 0x10034887
cmp word [esp + 0x44], 1
jne 0x10034887
mov ecx, dword [esp + 0x10]
mov byte [ebx + ecx], 8
movzx edx, word [esi + 0xe4]
mov byte [edx + ebp], 1
movzx eax, word [esi + 0xe4]
mov byte [eax + ebp + 1], 8
movzx ecx, word [esi + 0xe4]
mov eax, dword [esp + 0x48]
cmp ax, 0x64
mov byte [ecx + ebp + 2], 0
movzx edx, word [esi + 0xe4]
mov byte [edx + ebp + 6], 0x6e
jne 0x100346d9
mov eax, dword [esp + 0x30]
cmp byte [eax], 8
jne 0x10034773
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + ebx*2 - 2]
mov edi, dword [esp + 0x20]
lea edx, [eax + eax*2]
movzx eax, word [edi + edx*4 + 4]
movzx edx, word [esi + 0xe4]
mov al, byte [eax + ebp + 4]
mov byte [edx + ebp + 4], al
movzx eax, word [ecx + ebx*2 - 2]
lea edx, [eax + eax*2]
movzx eax, word [edi + edx*4 + 4]
movzx edx, word [esi + 0xe4]
mov al, byte [eax + ebp + 3]
mov byte [edx + ebp + 3], al
jmp 0x100347ce
test ax, ax
jne 0x10034773
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + ebx*2 - 2]
mov edi, dword [esp + 0x20]
lea edx, [eax + eax*2]
movzx eax, word [edi + edx*4 + 4]
mov dl, byte [eax + ebp + 3]
mov al, dl
and al, 0xc
movzx ax, al
test ax, ax
mov byte [esp + 0x2b], dl
jne 0x10034762
mov edx, dword [esp + 0x30]
cmp byte [edx], 3
jne 0x1003475e
mov edx, dword [esp + 0x10]
mov dl, byte [ebx + edx - 2]
cmp dl, 4
je 0x10034727
cmp dl, 1
jne 0x1003475e
movzx eax, word [ecx + ebx*2 - 4]
lea eax, [eax + eax*2]
movzx edx, word [edi + eax*4 + 4]
mov al, byte [edx + ebp + 3]
movzx edx, word [esi + 0xe4]
and al, 0xfc
mov byte [edx + ebp + 3], al
movzx eax, word [ecx + ebx*2 - 4]
lea eax, [eax + eax*2]
movzx edx, word [edi + eax*4 + 4]
mov al, byte [edx + ebp + 3]
and al, 0xc
movzx ax, al
jmp 0x100347ae
mov dl, byte [esp + 0x2b]
movzx ecx, word [esi + 0xe4]
mov byte [ecx + ebp + 3], dl
mov ecx, dword [esp + 0x14]
jmp 0x100347ae
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + edx*2]
mov edi, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx edx, word [edi + eax*4 + 4]
mov al, byte [edx + ebp + 3]
movzx edx, word [esi + 0xe4]
and al, 0xfc
mov byte [edx + ebp + 3], al
movzx eax, word [esi + 0xe4]
mov dl, byte [eax + ebp + 3]
and dl, 0xc
movzx ax, dl
cmp ax, 4
jne 0x100347c2
movzx eax, word [esi + 0xe4]
mov byte [eax + ebp + 4], 0x36
jmp 0x100347ce
movzx edx, word [esi + 0xe4]
mov byte [edx + ebp + 4], 0x33
cmp word [esp + 0x60], 1
jne 0x10034864
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
inc eax
mov dword [esp + 0x24], eax
movsx eax, ax
cmp byte [eax + edx], 7
jne 0x100347f4
inc dword [esp + 0x24]
movsx eax, word [esp + 0x24]
cmp byte [eax + edx], 5
jne 0x10034816
movzx eax, word [ecx + eax*2]
lea ecx, [eax + eax*2]
movzx edx, word [edi + ecx*4 + 4]
movzx ax, byte [edx + ebp + 3]
mov word [esp + 0x24], ax
cmp word [esp + 0x24], 0x36
jne 0x10034864
cmp dword [esp + 0x58], 0x80
jne 0x10034841
movzx ecx, word [esi + 0xe4]
mov dl, byte [ecx + ebp + 3]
lea eax, [ecx + ebp + 3]
and dl, 3
add dl, 0x44
mov byte [eax], dl
jmp 0x10034858
movzx eax, word [esi + 0xe4]
mov cl, byte [eax + ebp + 3]
lea eax, [eax + ebp + 3]
and cl, 3
sub cl, 0x7c
mov byte [eax], cl
movzx edx, word [esi + 0xe4]
mov byte [edx + ebp + 4], 0x36
movzx eax, word [esi + 0xe4]
mov edx, dword [esp + 0x2c]
mov byte [eax + ebp + 5], 0x61
mov cx, word [esi + 0xe4]
mov word [edx + 4], cx
add word [esi + 0xe4], 7
mov edi, dword [esp + 0x10]
cmp byte [ebx + edi], 8
mov edx, dword [esp + 0x2c]
jne 0x1003495d
cmp byte [edx], 3
jne 0x1003495d
cmp word [esp + 0x18], 0
jbe 0x1003495d
mov ecx, dword [edx + 8]
mov cx, word [ecx]
mov eax, 0x1004f730
cmp cx, word [eax]
jne 0x1003495d
mov eax, dword [esp + 0x30]
cmp byte [eax], 1
je 0x10034900
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0x34]
dec eax
movzx eax, ax
cmp byte [eax + ecx], 2
jne 0x1003495d
mov ecx, dword [esi + 0x38]
movzx eax, word [ecx + eax*2]
mov ecx, dword [esi + 4]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
mov ecx, dword [esi + 0x14]
cmp byte [eax + ecx + 4], 0x61
jne 0x1003495d
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
lea edi, [eax + ebx*2 - 2]
movzx eax, word [edi]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
test byte [eax + ebp + 3], 8
je 0x10034927
movzx eax, word [edx + 4]
mov byte [eax + ebp + 4], 0x33
movzx eax, word [edi]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
test byte [eax + ebp + 3], 4
je 0x10034942
movzx eax, word [edx + 4]
mov byte [eax + ebp + 4], 0x36
movzx eax, word [edi]
mov edi, dword [esp + 0x10]
lea eax, [eax + eax*2]
movzx ecx, word [ecx + eax*4 + 4]
movzx eax, word [edx + 4]
mov cl, byte [ecx + ebp + 3]
mov byte [eax + ebp + 3], cl
cmp byte [ebx + edi], 5
jne 0x1003498d
movzx edx, word [edx + 4]
mov cl, byte [edx + ebp + 8]
cmp cl, 0x50
lea eax, [edx + ebp]
jne 0x1003498d
cmp byte [eax + 9], 1
jne 0x1003498d
cmp byte [eax + 0xa], 0x53
jne 0x1003498d
mov eax, dword [esp + 0x18]
push eax
push esi
call fcn.10018f60
add esp, 8
cmp byte [ebx + edi], 2
jne 0x10034b59
cmp word [esp + 0x18], 0
jbe 0x10034b59
mov ecx, dword [esp + 0x30]
cmp byte [ecx], 3
jne 0x10034b59
mov edx, dword [esp + 0x34]
cmp byte [edx], 4
jne 0x10034b59
mov eax, dword [esp + 0x2c]
movzx ecx, word [eax + 4]
lea eax, [ecx + ebp]
cmp byte [eax + 4], 0x61
jne 0x10034b59
mov edx, dword [esp + 0x38]
mov cl, byte [ebx + edx + 1]
test cl, cl
jne 0x10034b59
cmp byte [eax + 5], 0x64
jne 0x10034b59
cmp byte [eax + 6], 0x69
jne 0x10034b59
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax + 2], 3
jne 0x10034b59
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + ebx*2 + 2]
movzx ecx, word [ecx + ebx*2 + 4]
mov edx, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx eax, word [edx + eax*4 + 4]
mov al, byte [eax + ebp + 3]
lea ecx, [ecx + ecx*2]
movzx edx, word [edx + ecx*4 + 4]
mov cl, byte [edx + ebp + 3]
cmp al, cl
je 0x10034b59
mov dl, al
and dl, 0xc0
movzx dx, dl
mov word [esp + 0x48], dx
mov dl, cl
and dl, 0xc0
movzx dx, dl
movzx edi, dx
mov dword [esp + 0x4c], edx
movsx edx, word [esp + 0x48]
cmp edx, edi
je 0x10034a64
add edi, edx
cmp edi, edx
jne 0x10034a8f
and cl, 0xc
and al, 0xc
movzx cx, cl
movzx ax, al
movzx eax, ax
movsx edx, cx
cmp eax, edx
mov dword [esp + 0x24], ecx
je 0x10034b59
add edx, eax
cmp edx, eax
je 0x10034b59
jmp 0x10034a93
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
movzx eax, word [eax + ebx*2 - 2]
mov edi, dword [esp + 0x20]
lea edx, [eax + eax*2]
movzx eax, word [edi + edx*4 + 4]
mov al, byte [eax + ebp + 3]
xor edx, edx
mov dl, al
and edx, 0xc
cmp cx, dx
jne 0x10034b59
and al, 0xc0
movzx ax, al
cmp word [esp + 0x4c], ax
jne 0x10034b59
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
mov ecx, dword [esi + 0x10]
lea edx, [eax + eax*2]
mov ax, word [edi + edx*4 + 2]
add ax, 3
movzx eax, ax
mov cl, byte [eax + ecx]
mov al, cl
and al, 0xe0
cmp al, 0x80
je 0x10034aff
cmp al, 0xc0
jne 0x10034b59
test cl, 2
je 0x10034b59
mov edx, dword [esp + 0x18]
inc edx
push edx
push esi
call fcn.1002bcf0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov byte [ebx + eax + 2], 4
movzx eax, word [ecx + ebx*2 + 4]
lea edx, [eax + eax*2]
movzx eax, word [edi + edx*4 + 4]
mov byte [eax + ebp + 1], 4
movzx eax, word [ecx + ebx*2 + 4]
lea edx, [eax + eax*2]
movzx eax, word [edi + edx*4 + 4]
mov dl, byte [eax + ebp + 2]
lea eax, [eax + ebp + 2]
add esp, 8
and dl, 0xf7
mov byte [eax], dl
movzx eax, word [ecx + ebx*2 + 4]
lea ecx, [eax + eax*2]
movzx edx, word [edi + ecx*4 + 4]
mov byte [edx + ebp + 4], 0x71
mov edx, dword [esp + 0x18]
cmp dx, 2
jbe 0x10034c25
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax], 3
jne 0x10034c25
mov ecx, dword [esi + 0x30]
mov eax, dword [ecx + ebx*4 - 4]
mov ecx, dword [0x10060eb0]
cmp eax, dword [ecx + 0x1c]
jne 0x10034c25
mov eax, dword [esp + 0x30]
cmp byte [eax - 1], 4
jne 0x10034c25
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + ebx*4 - 0xc]
cmp eax, dword [ecx + 0x10]
je 0x10034baf
cmp eax, dword [ecx + 0x24]
jne 0x10034c25
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + ebx*2]
mov edi, dword [esp + 0x20]
lea edx, [eax + eax*2]
mov ax, word [edi + edx*4 + 2]
mov edx, dword [esi + 0x10]
add ax, 3
movzx eax, ax
mov al, byte [eax + edx]
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne 0x10034c21
test al, 2
je 0x10034c21
mov eax, dword [esp + 0x10]
mov byte [ebx + eax], 4
movzx eax, word [ecx + ebx*2]
lea edx, [eax + eax*2]
movzx eax, word [edi + edx*4 + 4]
mov byte [eax + ebp + 1], 4
movzx eax, word [ecx + ebx*2]
lea edx, [eax + eax*2]
movzx eax, word [edi + edx*4 + 4]
mov dl, byte [eax + ebp + 2]
lea eax, [eax + ebp + 2]
and dl, 0xf7
mov byte [eax], dl
movzx eax, word [ecx + ebx*2]
lea ecx, [eax + eax*2]
movzx edx, word [edi + ecx*4 + 4]
mov byte [edx + ebp + 4], 0x71
mov edx, dword [esp + 0x18]
test dx, dx
jbe 0x10034d1c
mov ecx, dword [esp + 0x10]
cmp byte [ebx + ecx], 8
jne 0x10034d1c
mov eax, dword [esp + 0x30]
cmp byte [eax], 1
je 0x10034c78
mov edi, dword [esi + 0x34]
lea eax, [edx - 1]
movzx eax, ax
cmp byte [eax + edi], 2
jne 0x10034d1c
mov edi, dword [esi + 0x38]
movzx eax, word [edi + eax*2]
mov edi, dword [esi + 4]
lea eax, [eax + eax*2]
movzx eax, word [edi + eax*4 + 4]
mov edi, dword [esi + 0x14]
cmp byte [eax + edi + 4], 0x61
jne 0x10034d1c
mov eax, dword [esp + 0x34]
cmp byte [eax], 4
jne 0x10034d1c
cmp byte [ebx + ecx + 2], 3
jne 0x10034d1c
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 8]
cmp byte [eax], 0x63
je 0x10034d1c
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
mov byte [ebx + ecx], 4
movzx eax, word [edx + 4]
mov ecx, dword [esp + 0x14]
mov byte [eax + ebp + 1], 4
xor eax, eax
mov ax, word [ecx + ebx*2]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], eax
movsx eax, ax
lea eax, [eax + eax*2]
mov esi, dword [ecx + eax*4 + 8]
lea ecx, [ecx + eax*4]
movzx eax, byte [ecx]
movzx eax, byte [eax + esi - 1]
push eax
call fcn.100192a0
movzx esi, word [edx + 4]
mov byte [esi + ebp + 3], al
mov esi, dword [ecx + 8]
add esp, 4
mov edi, 0x1004f258
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10034d08
movzx ecx, word [edx + 4]
mov byte [ecx + ebp + 3], al
movzx edx, word [edx + 4]
mov esi, dword [esp + 0x79c]
mov byte [edx + ebp + 4], 0x70
mov edx, dword [esp + 0x18]
test dx, dx
mov byte [esp + 0x50], 0xff
jbe 0x10034d97
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 8]
cmp byte [ecx], 0x71
jne 0x10034d97
cmp byte [eax], 5
jne 0x10034d97
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax], 4
jne 0x10034d97
mov eax, dword [esp + 0x30]
cmp byte [eax], 1
je 0x10034d7d
mov edi, dword [esi + 0x34]
lea eax, [edx - 1]
movzx eax, ax
cmp byte [eax + edi], 2
jne 0x10034d97
mov edi, dword [esi + 0x38]
movzx eax, word [edi + eax*2]
mov edi, dword [esi + 4]
lea eax, [eax + eax*2]
movzx eax, word [edi + eax*4 + 4]
mov edi, dword [esi + 0x14]
cmp byte [eax + edi + 4], 0x61
jne 0x10034d97
mov ecx, dword [ecx]
mov eax, 0x1004f734
cmp ecx, dword [eax]
jne 0x10034d97
push 0xff
push edx
push esi
call fcn.10018340
add esp, 0xc
mov edx, dword [esp + 0x34]
mov cl, byte [edx]
cmp cl, 3
mov byte [esp + 0x1f], cl
je 0x10034f5f
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax], 4
jne 0x1003544f
mov edx, dword [esp + 0x2c]
movzx eax, word [edx + 4]
mov dl, byte [eax + ebp + 2]
add eax, ebp
cmp dl, 0x80
jae 0x10034f5f
mov al, byte [eax + 4]
cmp al, 0x71
mov byte [esp + 0x2b], al
je 0x10034f5f
cmp al, 0x61
je 0x10034f5f
mov eax, dword [esp + 0x18]
test ax, ax
jbe 0x10034f5f
cmp cl, 6
je 0x10034f5f
mov ecx, dword [esp + 0x30]
mov cl, byte [ecx]
cmp cl, 1
mov byte [esp + 0x2a], cl
je 0x10034e5f
mov edx, dword [esi + 0x34]
dec eax
movzx eax, ax
cmp byte [eax + edx], 2
jne 0x10034e34
mov edx, dword [esi + 0x38]
movzx eax, word [edx + eax*2]
mov edx, dword [esi + 4]
lea eax, [eax + eax*2]
movzx eax, word [edx + eax*4 + 4]
mov edx, dword [esi + 0x14]
cmp byte [eax + edx + 4], 0x61
je 0x10034e5f
cmp cl, 7
jne 0x10034f5f
mov edi, dword [esp + 0x14]
movzx eax, word [edi + ebx*2 - 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
cmp byte [edx + ebp + 3], 0x71
je 0x10034f5f
jmp 0x10034e67
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
mov al, byte [esp + 0x1f]
xor edx, edx
cmp al, 5
mov byte [esp + 0x50], dl
jne 0x10034e89
movzx eax, word [edi + ebx*2 + 2]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
cmp byte [eax + ebp + 8], 0x46
jne 0x10034eb4
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax + 2], 5
jne 0x10034eb9
cmp byte [esp + 0x1f], 8
jne 0x10034eb9
movzx eax, word [edi + ebx*2 + 2]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
mov al, byte [eax + ebp + 5]
cmp al, 0x70
je 0x10034eb4
cmp al, 0x74
jne 0x10034eb9
mov edx, 1
mov eax, dword [esp + 0x38]
mov al, byte [ebx + eax]
cmp al, 0x3a
je 0x10034f03
cmp al, 0x3b
je 0x10034f03
cmp al, 0x2c
je 0x10034f03
mov ax, word [esp + 0x18]
cmp ax, word [esi + 0x26]
je 0x10034f03
mov cl, byte [esp + 0x2b]
cmp cl, 0x70
je 0x10034ee9
cmp cl, 0x6e
jne 0x10034f5f
test edx, edx
je 0x10034f5f
mov al, byte [esp + 0x2a]
cmp al, 1
je 0x10034f3a
cmp al, 2
jne 0x10034f5f
jmp 0x10034f3a
cmp byte [esp + 0x2a], 7
jne 0x10034f36
cmp word [esp + 0x18], 1
jbe 0x10034f36
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx - 2], 5
jne 0x10034f36
movzx eax, word [edi + ebx*2 - 4]
lea eax, [eax + eax*2]
movzx ecx, word [ecx + eax*4 + 4]
mov dl, byte [ecx + ebp + 6]
and dl, 6
cmp dl, 6
je 0x10034f5f
mov cl, byte [esp + 0x2b]
cmp cl, 0x63
je 0x10034f51
mov eax, dword [esp + 0x18]
push 0
push eax
push esi
call fcn.10018340
add esp, 0xc
jmp 0x10034f5f
mov ecx, dword [esp + 0x18]
push ecx
push esi
call fcn.1002bcf0
add esp, 8
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx], 4
jne 0x1003544f
mov eax, dword [esp + 0x2c]
movzx ecx, word [eax + 4]
mov al, byte [ecx + ebp + 2]
cmp al, 0x80
lea edi, [ecx + ebp]
jae 0x10035244
cmp byte [edi + 4], 0x6e
jne 0x10035244
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + ebx*4]
mov ecx, dword [0x10060eb0]
cmp eax, dword [ecx + 0xf4]
je 0x10035244
mov edx, ecx
cmp eax, dword [edx + 0x10]
je 0x100350b5
mov ecx, edx
cmp eax, dword [ecx + 0x24]
je 0x100350b5
lea ecx, [ebx - 1]
test ecx, ecx
jl 0x100350b5
jmp 0x10034fd0
mov edx, dword [esp + 0x10]
mov al, byte [ecx + edx]
cmp al, 5
je 0x10034fef
cmp al, 2
je 0x10034fe7
cmp al, 7
jne 0x100350b5
dec ecx
jns 0x10034fd0
jmp 0x100350b5
mov al, byte [edi + 3]
and al, 0xfc
cmp al, 0x88
jne 0x10035034
mov eax, dword [esp + 0x38]
cmp byte [ebx + eax - 1], 0x2c
jne 0x1003500c
mov eax, dword [esp + 0x34]
cmp byte [eax], 3
jne 0x1003501a
mov eax, dword [esp + 0x34]
mov al, byte [eax]
cmp al, 4
je 0x1003501a
cmp al, 7
jne 0x10035034
mov ecx, dword [esp + 0x2c]
mov byte [edi + 1], 7
mov byte [ebx + edx], 7
movzx edx, word [ecx + 4]
mov byte [edx + ebp + 3], 0x71
jmp 0x100350b5
mov eax, dword [esp + 0x34]
mov dl, byte [eax]
cmp dl, 3
je 0x100350b5
cmp dl, 4
je 0x100350b5
cmp dl, 8
je 0x100350b5
mov edi, dword [esp + 0x14]
movzx eax, word [edi + ecx*2]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
mov al, byte [eax + ebp + 6]
and al, 6
cmp al, 6
je 0x100350b5
mov eax, dword [esp + 0x30]
cmp byte [eax], 2
jne 0x10035090
movzx eax, word [edi + ebx*2 - 2]
lea eax, [eax + eax*2]
movzx ecx, word [ecx + eax*4 + 4]
cmp byte [ecx + ebp + 4], 0x73
je 0x100350a0
cmp dl, 2
jne 0x100350b5
movzx edx, word [edi + ebx*2 + 2]
mov dword [esp + 0x4c], edx
jmp 0x100350b5
mov eax, dword [esp + 0x18]
push 0
push eax
push esi
mov byte [esp + 0x5c], 0
call fcn.10018340
add esp, 0xc
mov ecx, dword [esp + 0x10]
cmp byte [ebx + ecx], 4
jne 0x1003544f
mov edi, dword [esp + 0x18]
test di, di
jbe 0x10035244
mov edx, dword [esp + 0x30]
cmp byte [edx], 2
mov edx, dword [esp + 0x14]
jne 0x10035114
mov eax, dword [esp + 0x34]
cmp byte [eax], 4
jne 0x10035114
movzx eax, word [edx + ebx*2 + 2]
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x20]
movzx ecx, word [eax + ecx*4 + 4]
cmp byte [ecx + ebp + 4], 0x69
jne 0x10035114
push 0
push edi
push esi
mov byte [esp + 0x5c], 0
call fcn.10018340
add esp, 0xc
jmp 0x10035248
mov eax, dword [esp + 0x30]
cmp byte [eax], 3
je 0x1003513e
mov ecx, dword [esp + 0x34]
cmp byte [ecx], 8
jne 0x1003513e
movzx eax, word [edx + ebx*2 + 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
cmp byte [eax + ebp + 5], 0x74
je 0x100350fe
cmp di, 1
jbe 0x10035192
mov ecx, dword [esp + 0x30]
cmp byte [ecx], 6
jne 0x10035192
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax - 2], 4
je 0x10035192
mov ecx, dword [esp + 0x34]
cmp byte [ecx], 8
jne 0x10035192
movzx eax, word [edx + ebx*2 + 2]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
mov al, byte [eax + ebp + 5]
cmp al, 0x70
je 0x1003517e
cmp al, 0x74
jne 0x10035192
mov ecx, dword [esp + 0x50]
push ecx
push edi
push esi
call fcn.10018340
add esp, 0xc
jmp 0x10035248
mov eax, dword [esp + 0x30]
cmp byte [eax], 3
jne 0x10035394
mov ecx, dword [esp + 0x34]
mov cl, byte [ecx]
cmp cl, 4
je 0x1003536e
mov eax, dword [esp + 0x38]
cmp byte [ebx + eax], 0
jne 0x1003536e
cmp cl, 3
je 0x1003536e
cmp di, 1
jbe 0x100351d6
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax - 2], 1
jne 0x100351f5
movzx eax, word [edx + ebx*2 - 2]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x20]
movzx edx, word [eax + edx*4 + 4]
mov al, byte [edx + ebp + 4]
and al, 0x1c
cmp al, 0xc
jne 0x1003536a
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + ebx*4]
mov edx, dword [0x10060eb0]
cmp eax, dword [edx + 0xf4]
jne 0x100350fe
cmp cl, 1
jne 0x100350fe
mov eax, dword [esp + 0x14]
movzx eax, word [eax + ebx*2 + 2]
mov edx, dword [esp + 0x20]
lea ecx, [eax + eax*2]
movzx eax, word [edx + ecx*4 + 4]
mov ecx, dword [esp + 0x2c]
movzx edx, word [ecx + 4]
mov al, byte [eax + ebp + 3]
xor al, byte [edx + ebp + 3]
test al, 0xfd
jne 0x100350fe
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax], 4
jne 0x1003544f
mov ecx, dword [esp + 0x2c]
movzx edx, word [ecx + 4]
cmp byte [edx + ebp + 4], 0x69
jne 0x10035292
test di, di
jbe 0x10035292
mov eax, dword [esp + 0x38]
mov al, byte [ebx + eax - 1]
cmp al, 0x2c
je 0x1003527a
cmp al, 0x3b
jne 0x10035292
mov ecx, dword [esp + 0x34]
cmp byte [ecx], 6
jne 0x10035292
mov edx, dword [esp + 0x50]
push edx
push edi
push esi
call fcn.10018340
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax], 4
jne 0x1003544f
test di, di
jbe 0x1003544f
mov ecx, dword [esp + 0x2c]
movzx edx, word [ecx + 4]
cmp byte [edx + ebp + 4], 0x69
jne 0x1003544f
mov eax, ecx
mov ecx, dword [eax + 8]
mov dl, byte [ecx]
cmp dl, 0x73
je 0x1003544f
mov eax, dword [esp + 0x30]
mov cl, byte [eax]
cmp cl, 3
je 0x100352dc
cmp cl, 8
jne 0x100352fd
mov eax, dword [esp + 0x34]
mov al, byte [eax]
cmp al, 3
je 0x100352fd
cmp al, 4
jne 0x10035404
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax + 2], 3
jne 0x10035404
cmp cl, 6
jne 0x10035318
mov eax, dword [esp + 0x34]
mov al, byte [eax]
cmp al, 2
je 0x10035404
cmp al, 5
je 0x10035404
mov eax, dword [esp + 0x34]
cmp byte [eax], 8
jne 0x1003534e
mov eax, dword [esp + 0x14]
movzx eax, word [eax + ebx*2 + 2]
mov edi, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx eax, word [edi + eax*4 + 4]
mov al, byte [eax + ebp + 5]
cmp al, 0x74
je 0x10035400
cmp al, 0x70
je 0x10035400
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
mov al, byte [ebx + eax]
test al, al
je 0x1003544f
cmp al, 0x22
je 0x1003544f
jmp 0x10035404
mov edx, dword [esp + 0x14]
movzx eax, word [edx + ebx*2 - 2]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x20]
movzx edx, word [eax + edx*4 + 4]
test byte [edx + ebp + 2], 1
je 0x10035394
cmp cl, 3
je 0x10035394
cmp cl, 8
jne 0x100350fe
mov eax, dword [esp + 0x30]
cmp byte [eax], 1
je 0x100353d0
mov ecx, dword [esi + 0x34]
lea eax, [edi - 1]
movzx eax, ax
cmp byte [eax + ecx], 2
jne 0x10035244
mov edx, dword [esi + 0x38]
movzx eax, word [edx + eax*2]
mov ecx, dword [esi + 4]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
mov eax, dword [esi + 0x14]
cmp byte [edx + eax + 4], 0x61
jne 0x10035244
mov ecx, dword [esi + 0x3c]
mov al, byte [ebx + ecx]
cmp al, 0x2c
je 0x100353ef
cmp al, 0x3b
je 0x100353ef
cmp al, 0x3a
je 0x100353ef
mov edx, dword [esp + 0x34]
cmp byte [edx], 1
jne 0x10035244
push 0
push edi
push esi
call fcn.10018340
add esp, 0xc
jmp 0x10035248
mov edi, dword [esp + 0x18]
cmp cl, 8
jne 0x10035443
mov ecx, dword [esp + 0x38]
mov al, byte [ebx + ecx - 1]
test al, al
jne 0x10035443
cmp dl, 0x6d
mov eax, dword [esp + 0x14]
movzx eax, word [eax + ebx*2 - 2]
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x20]
movzx ecx, word [eax + ecx*4 + 4]
movzx eax, byte [ecx + ebp + 5]
jne 0x10035443
cmp eax, 0x73
je 0x1003544f
cmp eax, 0x75
je 0x1003544f
cmp eax, 0x76
je 0x1003544f
push 0
push edi
push esi
call fcn.10018340
add esp, 0xc
mov edx, dword [esp + 0x10]
cmp byte [ebx + edx], 6
jne 0x100355f3
mov eax, dword [0x10060eb0]
mov ecx, dword [esp + 0x3c]
mov eax, dword [eax + 0x54]
cmp dword [ecx + ebx*4], eax
jne 0x100355f3
mov edx, dword [esp + 0x34]
mov cl, byte [edx]
cmp cl, 4
mov byte [esp + 0x1f], cl
je 0x1003548a
cmp cl, 8
jne 0x10035624
mov eax, dword [esp + 0x14]
movzx eax, word [eax + ebx*2 + 2]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x20]
lea eax, [eax + edx*4]
cmp byte [eax], 6
jne 0x100354e7
mov esi, dword [eax + 8]
mov ecx, 5
mov edi, str.stess
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x100354e3
mov ecx, dword [eax + 8]
mov cl, byte [ecx + 5]
cmp cl, 0x61
je 0x100356bb
cmp cl, 0x6f
je 0x100356bb
mov ecx, dword [esp + 0x79c]
movzx edx, word [ecx + 0x26]
sub edx, ebx
cmp edx, 3
jle 0x100356bb
mov cl, byte [esp + 0x1f]
cmp cl, 8
jne 0x1003561d
movzx eax, word [eax + 4]
cmp byte [eax + ebp + 5], 0x74
jne 0x1003561d
mov ecx, dword [esp + 0x10]
cmp byte [ebx + ecx + 2], 5
jne 0x100355ec
mov edx, dword [esp + 0x14]
movzx eax, word [edx + ebx*2 + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
lea ecx, [ecx + eax*4]
movzx ax, byte [edx + ebp + 3]
add edx, ebp
cmp ax, 0x33
je 0x10035561
cmp ax, 0x36
je 0x10035561
cmp ax, 0x37
je 0x10035561
cmp ax, 0x31
jne 0x100355ec
mov esi, dword [ecx + 8]
mov edi, str.sono
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x100355ec
cmp byte [edx + 8], 0x43
jne 0x100355b6
cmp byte [edx + 9], 4
jne 0x100355b6
lea edi, [ebx - 1]
test edi, edi
jl 0x100355ec
mov esi, dword [esp + 0x79c]
nop
mov ecx, dword [esp + 0x10]
cmp byte [edi + ecx], 6
je 0x100355a1
push edi
push esi
call fcn.10019230
add esp, 8
test al, al
jne 0x100355f3
dec edi
jns 0x10035580
jmp 0x100355f3
mov edx, dword [0x10060eb0]
mov eax, dword [edx + 0x54]
mov ecx, dword [esp + 0x3c]
cmp dword [ecx + edi*4], eax
jmp 0x100356b5
cmp word [esp + 0x18], 0
je 0x100355ec
mov edx, dword [esp + 0x38]
cmp byte [ebx + edx - 1], 0x2c
je 0x100355ec
mov eax, dword [esp + 0x30]
cmp byte [eax], 6
jne 0x100356bb
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + ebx*4 - 4]
mov eax, dword [0x10060eb0]
cmp edx, dword [eax + 0x58]
jne 0x100356bb
mov esi, dword [esp + 0x79c]
mov eax, dword [esp + 0x18]
inc eax
cmp ax, word [esi + 0x26]
mov dword [esp + 0x18], eax
jbe 0x10031aa0
mov ecx, dword [esp + 0x794]
pop edi
pop esi
pop ebp
pop ebx
call fcn.10049461
add esp, 0x788
ret
mov esi, dword [esp + 0x79c]
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + ebx*2 + 2]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x20]
mov cl, byte [eax + edx*4]
cmp cl, 2
lea eax, [eax + edx*4]
jne 0x100355f3
mov eax, dword [eax + 8]
cmp byte [eax], 0x6e
jne 0x100355f3
cmp byte [eax + 1], 0x65
jne 0x100355f3
mov ecx, dword [esp + 0x10]
cmp byte [ebx + ecx + 2], 5
jne 0x10035683
mov edx, dword [esp + 0x14]
movzx eax, word [edx + ebx*2 + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
mov cl, byte [edx + ebp + 0xb]
cmp cl, 0x61
lea eax, [edx + ebp]
jne 0x10035683
cmp byte [eax + 7], 0x43
jbe 0x100355f3
cmp word [esp + 0x18], 0
jbe 0x100356bb
mov eax, dword [esp + 0x10]
cmp byte [ebx + eax - 1], 5
jne 0x100356bb
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + ebx*2 - 2]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x20]
movzx ecx, word [eax + edx*4 + 4]
mov al, byte [ecx + ebp + 8]
cmp al, 0x46
je 0x100356bb
cmp al, 0x50
jne 0x100355f3
mov esi, dword [esp + 0x79c]
mov edx, dword [esp + 0x10]
mov byte [ebx + edx], 8
movzx eax, word [esi + 0xe4]
mov byte [eax + ebp], 0
movzx ecx, word [esi + 0xe4]
mov byte [ecx + ebp + 1], 8
movzx edx, word [esi + 0xe4]
mov byte [edx + ebp + 2], 0
movzx eax, word [esi + 0xe4]
mov edx, dword [esp + 0x14]
mov byte [eax + ebp + 6], 0x73
movzx ecx, word [esi + 0xe4]
mov byte [ecx + ebp + 3], 8
movzx eax, word [edx + ebx*2 + 4]
mov ecx, dword [esp + 0x20]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
movzx eax, word [esi + 0xe4]
mov cl, byte [edx + ebp + 3]
mov byte [eax + ebp + 4], cl
movzx edx, word [esi + 0xe4]
mov byte [edx + ebp + 5], 0x70
movzx eax, word [esi + 0xe4]
mov edx, dword [esp + 0x2c]
mov byte [eax + ebp + 6], 0x72
mov cx, word [esi + 0xe4]
mov word [edx + 4], cx
add word [esi + 0xe4], 7
jmp 0x100355f3