Function at 0x10092dd1
Capabilities:
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x2754
call fcn.1009daf0
mov eax, dword [0x100b4368]
or ecx, 0xffffffff
push ebx
mov dword [esp + 0x2754], eax
xor eax, eax
mov dword [esp + 0x88], ecx
mov dword [esp + 0x48], ecx
cmp dword [0x100b7398], eax
push esi
push edi
mov dword [esp + 0x84], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x94], eax
je 0x10092a7b
push str.DoManageError__in_
push str.c:cgapi_dbg.txt
call fcn.100840e0
add esp, 8
mov ebx, dword [ebp + 8]
xor eax, eax
cmp word [0x100ba3c2], 0x64
mov ecx, 0x80
lea edi, [esp + 0xc0]
rep stosd dword es:[edi], eax
mov ecx, 0x80
lea edi, [esp + 0x728]
rep stosd dword es:[edi], eax
mov ecx, pe_nt_image_headers32
lea edi, [esp + 0x1428]
rep stosd dword es:[edi], eax
jne 0x10092be7
mov ax, word [0x100ba5f8]
cmp ax, 0x1f4
jne 0x10092af5
mov eax, dword [0x100ba434]
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 0xc]
push 0xb
add edx, eax
push str.a_tu_per_tu
push edx
call fcn.10087ad0
add esp, 0xc
test eax, eax
je 0x100972db
mov ax, word [0x100ba5f8]
cmp ax, 0x1a0
jne 0x10092baa
mov eax, dword [0x100ba434]
cmp eax, 1
jle 0x10092be7
mov ecx, dword [ebx + 4]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 - 0x18]
mov eax, edx
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10092b20
sub eax, esi
je 0x10092be7
mov al, byte [eax + edx - 1]
cmp al, 0x61
je 0x100972db
cmp al, 0x65
je 0x100972db
cmp al, 0x69
je 0x100972db
cmp al, 0x6f
je 0x100972db
cmp al, 0x75
je 0x100972db
cmp al, 0x41
je 0x100972db
cmp al, 0x45
je 0x100972db
cmp al, 0x49
je 0x100972db
cmp al, 0x4f
je 0x100972db
cmp al, 0x55
je 0x100972db
cmp al, 0xe0
jb 0x10092b8f
cmp al, 0xfc
jbe 0x100972db
cmp al, 0xc0
jb 0x10092be7
cmp al, 0xdc
ja 0x10092be7
mov ecx, dword [esp + 0x275c]
call fcn.1009d15f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ax, 0x1f3
je 0x100972db
cmp ax, 0x1c2
je 0x100972db
cmp ax, 0xd8
jne 0x10092be7
mov eax, dword [0x100ba434]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov esi, dword [eax + edx*4 + 0x38]
mov edi, 0x100a6630
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x100972db
mov eax, dword [ebx + 0x30]
mov esi, dword [0x100ba434]
xor ecx, ecx
test eax, eax
mov dword [esp + 0x24], 0xffffffff
jl 0x10092c16
mov edx, dword [ebx + 0x48]
movzx edi, word [edx]
cmp edi, esi
je 0x10092c12
inc ecx
add edx, 2
cmp ecx, eax
jle 0x10092c01
jmp 0x10092c16
mov dword [esp + 0x24], ecx
xor ecx, ecx
test eax, eax
mov dword [esp + 0x38], 0xffffffff
jl 0x10092c4b
mov edx, dword [ebx + 0x48]
mov esi, dword [0x100ba3d8]
lea ecx, [ecx]
movzx edi, word [edx]
cmp edi, esi
je 0x10092c41
inc ecx
add edx, 2
cmp ecx, eax
jle 0x10092c30
jmp 0x10092c45
mov dword [esp + 0x38], ecx
mov esi, dword [0x100ba434]
mov cx, word [0x100ba3c2]
cmp cx, 0x320
jne 0x10092ceb
xor ecx, ecx
test eax, eax
jl 0x10092c75
mov edx, dword [ebx + 0x48]
movzx edi, word [edx]
cmp edi, esi
je 0x10092c75
inc ecx
add edx, 2
cmp ecx, eax
jle 0x10092c66
mov di, word [0x100ba5f8]
cmp di, 0x3dc
je 0x100972db
cmp di, 0x328
jne 0x10092cad
test ecx, ecx
je 0x10092cf9
mov eax, dword [ebx + 0x48]
movzx edx, word [eax + ecx*2]
cmp edx, esi
jne 0x10092cf9
mov eax, dword [ebx + 0x44]
cmp byte [eax + ecx + 1], 5
jne 0x100972db
jmp 0x10092cf9
cmp di, 0x77d
jne 0x10092cf9
test ecx, ecx
je 0x10092cf9
mov edx, dword [ebx + 0x48]
movzx eax, word [edx + ecx*2]
cmp eax, esi
jne 0x10092cf9
mov edx, dword [ebx + 0x44]
mov cl, byte [edx + ecx - 1]
cmp cl, 3
je 0x100972db
cmp cl, 4
jne 0x10092cf9
mov ecx, dword [esp + 0x275c]
call fcn.1009d15f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp cx, 0xea60
jae 0x10092d2c
mov di, word [0x100ba5f8]
movzx eax, byte [0x100ba3c0]
cdq
mov ecx, 0x1a
idiv ecx
imul eax, eax, 0x1a
mov cl, byte [eax + edx + 0x100ba3e0]
test cl, cl
je 0x100972db
mov eax, dword [0x100ba430]
movzx edx, di
cmp byte [edx + eax], 0
je 0x100972db
movzx ecx, byte [0x100ba3c0]
mov al, byte [ecx + 0x100ba3e0]
test al, al
je 0x100972db
push 4
call fcn.10083e60
mov dword [esp + 0x18], eax
movzx eax, byte [0x100ba5e0]
add esp, 4
cmp eax, 5
ja case.0x10092d5f.2
jmp dword [eax*4 + 0x100972f0]
movzx ecx, word [0x100ba5be]
movzx eax, word [0x100ba5ec]
sub eax, ecx
cmp eax, 0x8c
mov edx, 0x8c
jg 0x10092d84
mov edx, eax
mov eax, ecx
lea edi, [ecx + edx]
cmp eax, edi
jge 0x10092dab
mov edx, eax
sub edx, ecx
lea esi, [esp + edx + 0xc0]
mov edx, dword [ebx]
lea ebx, [ebx]
mov bl, byte [edx + eax]
inc eax
mov byte [esi], bl
inc esi
cmp eax, edi
jl 0x10092da0
sub eax, ecx
mov cx, word [0x100ba5ec]
mov byte [esp + eax + 0xc0], 0
mov ax, word [0x100ba5be]
mov word [esp + 0x48], ax
mov word [esp + 0x6c], cx
jmp 0x1009402b
mov dx, word [0x100ba3dc]
mov eax, dword [0x100ba3c4]
lea ecx, [esp + 0x1e28]
mov dword [esp + 0x78], ecx
mov word [esp + 0x28], dx
lea ecx, [ecx]
movzx ecx, word [esp + 0x28]
mov esi, dword [esp + 0x28]
mov dl, byte [ecx + eax]
inc esi
cmp dl, 0x5b
mov dword [esp + 0x28], esi
jne 0x10092df0
movzx edx, si
cmp byte [edx + eax + 1], 0x5b
jne 0x10092e19
mov ecx, esi
add ecx, 2
mov dword [esp + 0x28], ecx
movzx ecx, word [esp + 0x28]
mov dx, word [eax + ecx - 3]
add eax, ecx
mov cx, word [eax]
movzx esi, cx
push 0x400
mov word [0x100ba5ba], dx
shl esi, 2
call fcn.10083e60
add esp, 4
cmp word [0x100ba3c2], 0xea60
mov dword [esp + 0x18], eax
jae 0x10092ec6
mov ebx, dword [0x100b8e50]
test ebx, ebx
je 0x10092e9c
mov esi, dword [esi + ebx]
xor eax, eax
mov ecx, 0x40
lea edi, [esp + 0x1e28]
rep stosd dword es:[edi], eax
mov eax, dword [0x100b8e54]
lea ecx, [esi + 0x100]
cmp ecx, eax
mov edx, pe_nt_image_headers32
jle 0x10092e86
sub eax, esi
mov edx, eax
mov edi, dword [esp + 0x78]
mov ecx, edx
shr ecx, 2
add esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x10092ef3
lea eax, [esp + 0x14]
push eax
push 4
push esi
push str.LEXRUL.MSG
call fcn.1005c050
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
lea ecx, [esp + 0x78]
push ecx
push pe_nt_image_headers32
push eax
push str.LEXRUL.MSG
jmp 0x10092eee
lea ecx, [esp + 0x14]
push ecx
push 4
push esi
push 0x100ba5d0
call fcn.1005c050
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
lea edx, [esp + 0x78]
push edx
push pe_nt_image_headers32
push ecx
push 0x100ba5d0
call fcn.1005c050
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x78]
push pe_nt_image_headers32
mov ecx, 0x40
mov edi, ebx
push ebx
rep movsd dword es:[edi], dword [esi]
call fcn.10040780
mov eax, dword [ebx]
mov edx, str._
mov ecx, dword [edx]
add esp, 8
cmp eax, ecx
jne case.0x10092f49.21
lea ecx, [ebx + 4]
push ecx
call fcn.1009d79e
push 0x100a7364
push 0xa
push 0
push ebx
mov esi, eax
call fcn.10084540
add esp, 0x14
cmp esi, 0x17
ja case.0x10092f49.21
jmp dword [esi*4 + 0x10097308]
mov edx, dword [ebp + 8]
mov eax, dword [0x100ba434]
mov ecx, dword [edx + 4]
lea eax, [eax + eax*4]
mov ebx, dword [ecx + eax*4 + 0x20]
lea ecx, [ecx + eax*4]
mov eax, dword [ecx + 0x24]
add ebx, dword [edx]
mov edi, str.accordo
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093667
mov edi, str.annata
mov esi, eax
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093667
mov edi, str.incanto
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093667
mov edi, str.estate
mov esi, eax
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093667
mov edi, str.altronde
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093667
mov edi, str.urgenza
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093667
mov edi, str.obbligo
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093667
mov edi, 0x100aa4f8
mov esi, eax
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093667
mov esi, eax
mov edi, str.argento
mov ecx, 8
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10093667
push 0xb
push str.altra_parte
push ebx
call fcn.10087ad0
add esp, 0xc
test eax, eax
je 0x10093667
push 0xb
push str.altro_canto
push ebx
call fcn.10087ad0
add esp, 0xc
test eax, eax
je 0x10093667
push 0xa
push str.altro_lato
push ebx
call fcn.10087ad0
add esp, 0xc
test eax, eax
je 0x10093667
push 0xa
push str.ora_in_poi
push ebx
call fcn.10087ad0
add esp, 0xc
test eax, eax
je 0x10093667
push 0xd
push str.ora_in_avanti
push ebx
call fcn.10087ad0
add esp, 0xc
test eax, eax
je 0x10093667
push 0xb
push str.ora_innanzi
push ebx
call fcn.10087ad0
add esp, 0xc
test eax, eax
je 0x10093667
push 0x11
push str.amore_e_daccordo
push ebx
call fcn.10087ad0
add esp, 0xc
test eax, eax
je 0x10093667
mov eax, dword [0x100ba434]
cmp eax, 2
jle 0x100972db
mov edx, dword [ebp + 8]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 4]
mov esi, dword [eax + ecx*4 - 0x18]
mov edi, str.giorno
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x100972db
jmp 0x10093667
mov ebx, dword [ebp + 8]
mov edx, dword [0x100ba434]
mov eax, dword [ebx + 4]
lea ecx, [edx + edx*4]
mov esi, dword [eax + ecx*4 + 0x24]
lea eax, [eax + ecx*4]
mov eax, dword [eax + 0x1c]
add eax, dword [ebx + 0x14]
mov dword [esp + 0x44], eax
mov edi, 0x100a64a8
mov ecx, 7
xor eax, eax
mov dword [esp + 0x34], esi
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov esi, dword [esp + 0x34]
mov edi, str.avere
mov ecx, 6
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov esi, dword [esp + 0x44]
add esi, 0xb
mov edi, 0x100a64a8
mov ecx, 7
xor eax, eax
mov dword [esp + 0x34], esi
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov esi, dword [esp + 0x34]
mov edi, str.avere
mov ecx, 6
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10093ca3
jmp 0x10093bc8
mov edx, dword [0x100ba434]
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 4]
lea eax, [edx + edx*4]
lea eax, [ecx + eax*4]
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 0x10]
mov esi, eax
mov ecx, 7
mov edi, str.qualcun
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10093b21
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0x10]
mov ecx, 2
mov edi, str.qualcosa
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
je 0x10093b21
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0x10]
mov ecx, 3
mov edi, str.nessun
xor eax, eax
repe cmpsw word [esi], word es:[edi]
je 0x10093b21
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0x10]
mov ecx, 5
mov edi, str.alcun
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10093b21
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0x10]
mov ecx, 3
mov edi, 0x100aadac
xor eax, eax
repe cmpsw word [esi], word es:[edi]
je 0x10093b21
mov ecx, dword [esp + 0x2c]
mov esi, dword [ecx + 0x10]
mov edi, str.qualche
mov ecx, 8
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10093b21
mov ecx, dword [esp + 0x2c]
mov esi, dword [ecx + 0x10]
mov edi, 0x100a7200
mov ecx, 4
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10093b21
mov ecx, dword [esp + 0x2c]
mov esi, dword [ecx + 0x10]
mov edi, 0x100a7c18
mov ecx, 4
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10093b21
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 8]
mov ecx, dword [ebx + 0x14]
cmp byte [eax + ecx + 5], 0x74
jne 0x10093ca3
jmp 0x10093b21
mov eax, dword [esp + 0x24]
cmp eax, 0xffffffff
mov ebx, dword [ebp + 8]
je 0x10093c9d
mov ecx, dword [ebx + 0x48]
movzx eax, word [ecx + eax*2 + 2]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov eax, dword [eax + edx*4 + 0x10]
mov edi, 0x100a7be0
mov esi, eax
mov ecx, 2
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, 0x100a83f0
mov esi, eax
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, str.cosa
mov esi, eax
mov ecx, 5
jmp 0x10093bbe
mov ecx, dword [esp + 0x24]
cmp ecx, 0xffffffff
mov ebx, dword [ebp + 8]
je 0x10093c9d
mov edx, dword [ebx + 0x48]
movzx eax, word [edx + ecx*2]
mov edi, dword [ebx + 4]
mov esi, dword [ebx]
lea eax, [eax + eax*4]
mov eax, dword [edi + eax*4 + 0xc]
add eax, esi
cmp ecx, 1
mov esi, 0x100a6245
jle 0x1009333c
movzx ecx, word [edx + ecx*2 - 4]
lea ecx, [ecx + ecx*4]
mov esi, dword [edi + ecx*4 + 0xc]
add esi, dword [ebx]
push 0xb
push str.a_tu_per_tu
push eax
call fcn.10087ad0
add esp, 0xc
test eax, eax
je 0x10093b21
push 0xb
push str.a_tu_per_tu
push esi
call fcn.10087ad0
add esp, 0xc
test eax, eax
jmp 0x10093b1b
mov eax, dword [esp + 0x24]
cmp eax, 0xffffffff
mov ebx, dword [ebp + 8]
je 0x10093c9d
mov ecx, dword [ebx + 0x48]
movzx eax, word [ecx + eax*2]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov ecx, dword [eax + edx*4 + 0x24]
cmp byte [ecx], 0x27
jmp 0x10093b1b
mov esi, dword [esp + 0x24]
cmp esi, 0xffffffff
mov ebx, dword [ebp + 8]
je 0x10093c9d
mov eax, dword [ebx + 0x44]
mov cl, byte [eax + esi + 1]
add eax, esi
cmp cl, 1
jne 0x100933f1
cmp byte [eax + 2], 3
jne 0x100933cc
mov ecx, dword [ebx + 0x48]
movzx eax, word [ecx + esi*2 + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov eax, dword [eax + edx*4 + 0x10]
jmp 0x100933f6
cmp cl, 1
jne 0x100933f1
cmp byte [eax + 2], 4
jne 0x100933f1
cmp byte [eax + 3], 3
jne 0x100933f1
mov ecx, dword [ebx + 0x48]
movzx eax, word [ecx + esi*2 + 6]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov eax, dword [eax + edx*4 + 0x10]
jmp 0x100933f6
mov eax, 0x100a6245
mov edi, str.valigia
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, str.valige
mov esi, eax
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, str.zaino
mov esi, eax
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, str.zaini
mov esi, eax
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, str.borsa
mov esi, eax
mov ecx, 6
jmp 0x10093bbe
cmp dword [esp + 0x38], 0xffffffff
mov ebx, dword [ebp + 8]
je 0x10093c9d
mov eax, dword [ebx + 0x44]
mov edx, dword [esp + 0x38]
mov cl, byte [eax + edx + 1]
add eax, edx
cmp cl, 1
je 0x10093484
cmp cl, 2
jne 0x100934aa
cmp byte [eax + 2], 3
jne 0x100934aa
cmp byte [eax + 3], 2
jne 0x100934aa
cmp byte [eax + 4], 3
jne 0x100934aa
mov ecx, dword [ebx + 0x48]
movzx eax, word [ecx + edx*2 + 8]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov eax, dword [eax + edx*4 + 0x10]
jmp 0x100934af
mov eax, 0x100a6245
mov edi, str.fette
mov esi, eax
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, str.cubetti
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, str.pezzi
mov esi, eax
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, str.pezzetti
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, str.fettine
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, str.dadi
mov esi, eax
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, str.dadini
mov esi, eax
mov ecx, 7
jmp 0x10093bbe
mov eax, dword [esp + 0x24]
cmp eax, 0xffffffff
mov ebx, dword [ebp + 8]
je 0x10093c9d
mov edx, dword [ebx + 0x48]
movzx eax, word [edx + eax*2 + 2]
mov ecx, dword [ebx + 4]
lea eax, [eax + eax*4]
mov esi, dword [ecx + eax*4 + 0x10]
mov edi, 0x100a7080
mov ecx, 4
jmp 0x1009365d
mov eax, dword [esp + 0x24]
cmp eax, 1
mov ebx, dword [ebp + 8]
jle 0x10093c9d
mov ecx, dword [ebx + 0x48]
movzx eax, word [ecx + eax*2 - 2]
mov edi, 0x100a708c
mov ecx, 2
jmp 0x10093653
mov edx, dword [0x100ba434]
test edx, edx
mov ebx, dword [ebp + 8]
jle 0x10093ca5
mov eax, dword [ebx + 4]
lea ecx, [edx + edx*4]
mov esi, dword [eax + ecx*4 - 4]
mov edi, str.http
mov ecx, 5
xor eax, eax
mov dword [esp + 0x34], esi
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov esi, dword [esp + 0x34]
mov edi, 0x100aad3c
mov ecx, 4
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10093ca3
jmp 0x10093bc8
mov eax, dword [esp + 0x24]
test eax, eax
mov ebx, dword [ebp + 8]
jle 0x10093c9d
mov edx, dword [ebx + 0x48]
movzx eax, word [edx + eax*2 - 2]
mov ecx, dword [ebx + 4]
mov esi, dword [ebx + 0x14]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 8]
mov cl, byte [eax + esi + 1]
add eax, esi
cmp cl, 1
je 0x10093b21
cmp cl, 2
jne 0x10093c9d
test byte [eax + 4], 0x10
jmp 0x10093b1b
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0x24]
cmp eax, dword [ebx + 0x30]
jge 0x10093c9d
mov ecx, dword [ebx + 0x48]
movzx eax, word [ecx + eax*2 + 2]
mov edi, str.indicare
mov ecx, 9
lea edx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov esi, dword [eax + edx*4 + 0x10]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10093c9d
mov eax, dword [esp + 0x14]
test eax, eax
je 0x10093c91
push eax
call fcn.10083e90
mov eax, dword [esp + 0x1c]
add esp, 4
mov dword [esp + 0x14], 0
jmp 0x100972d2
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0x24]
cmp eax, dword [ebx + 0x30]
jge 0x10093c9d
cmp eax, 0xffffffff
jne 0x10093740
mov edx, dword [0x100ba434]
mov eax, dword [ebx + 4]
lea ecx, [edx + edx*4]
lea eax, [eax + ecx*4]
mov dword [esp + 0x3c], eax
mov eax, dword [eax + 0x24]
mov esi, eax
mov edi, 0x100aad2c
mov ecx, 4
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10093b21
mov ecx, dword [esp + 0x3c]
mov esi, dword [ecx + 0x24]
mov edi, 0x100aad28
mov ecx, 4
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10093b21
mov ecx, dword [esp + 0x3c]
mov esi, dword [ecx + 0x24]
mov edi, 0x100aad24
mov ecx, 4
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10093b21
mov ecx, dword [esp + 0x3c]
mov esi, dword [ecx + 0x24]
mov edi, 0x100aad20
mov ecx, 4
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10093b21
test edx, edx
jl 0x10093ca7
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 0x10]
cmp byte [eax], 0x27
jne 0x10093ca3
jmp 0x10093bc8
mov ecx, dword [ebx + 0x48]
movzx eax, word [ecx + eax*2 + 2]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov eax, dword [eax + edx*4 + 0x10]
mov edi, 0x100aad1c
mov esi, eax
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, 0x100aad18
mov esi, eax
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, 0x100aad14
mov esi, eax
mov ecx, 4
jmp 0x10093bbe
mov ecx, dword [esp + 0x24]
test ecx, ecx
mov ebx, dword [ebp + 8]
jle 0x10093c9d
mov edx, dword [ebx + 0x44]
mov al, byte [edx + ecx - 1]
cmp al, 1
je 0x100937b1
cmp al, 2
jne 0x10093c9d
mov eax, dword [ebx + 0x48]
movzx eax, word [eax + ecx*2 - 2]
mov edx, dword [ebx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*4 + 0x10]
mov edi, 0x100a6614
mov esi, eax
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, 0x100aa818
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, 0x100a66d8
mov esi, eax
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, 0x100a66dc
mov esi, eax
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, 0x100aad10
mov esi, eax
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, 0x100a6814
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, 0x100a6620
mov esi, eax
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, 0x100aa810
mov esi, eax
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, 0x100aad08
mov esi, eax
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, 0x100aad00
mov esi, eax
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, 0x100aacf8
mov esi, eax
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, 0x100a7440
mov esi, eax
mov ecx, 3
jmp 0x10093bbe
mov eax, dword [esp + 0x24]
test eax, eax
mov ebx, dword [ebp + 8]
jle 0x10093c9d
mov edx, dword [ebx + 0x48]
movzx eax, word [edx + eax*2 - 2]
mov ecx, dword [ebx + 4]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 0x10]
mov edi, str.luned
mov esi, eax
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, 0x100a68ac
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, 0x100a68a0
mov esi, eax
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, 0x100a6898
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, 0x100a6890
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, str.sabato
mov esi, eax
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov edi, str.domenica
mov esi, eax
jmp 0x10093bb9
mov eax, dword [esp + 0x24]
test eax, eax
mov ebx, dword [ebp + 8]
jle 0x10093c9d
mov edx, dword [ebx + 0x48]
mov ecx, dword [ebx + 4]
lea edx, [edx + eax*2]
movzx eax, word [edx - 2]
movzx edx, word [edx + 2]
lea eax, [eax + eax*4]
movzx esi, byte [ecx + eax*4]
mov edi, dword [ecx + eax*4 + 0x10]
lea eax, [ecx + eax*4]
mov eax, dword [eax + 8]
lea edx, [edx + edx*4]
lea ecx, [ecx + edx*4]
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x80], edx
movzx edx, byte [ecx]
mov dword [esp + 0x44], edx
mov edx, dword [ebx + 0x14]
mov dword [esp + 0x34], esi
mov esi, dword [ecx + 8]
mov cl, byte [eax + edx + 1]
add eax, edx
add esi, edx
cmp cl, 4
jne 0x100939fe
cmp byte [esi + 1], 4
jne 0x100939fe
mov dl, byte [eax + 3]
mov cl, byte [esi + 3]
mov byte [esp + 0x13], dl
xor dl, cl
test dl, 0xc
jne 0x100939fe
mov dl, cl
mov cl, byte [esp + 0x13]
xor cl, dl
test cl, 0xc0
je 0x10093c78
cmp byte [eax + 1], 5
jne 0x10093c9d
cmp byte [eax + 8], 0x50
jne 0x10093c9d
cmp byte [esi + 1], 5
jne 0x10093c9d
cmp byte [esi + 8], 0x50
jne 0x10093c9d
mov ecx, dword [esp + 0x34]
mov dl, byte [ecx + edi - 1]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x80]
cmp dl, byte [eax + ecx - 1]
jmp 0x10093b1b
mov edx, dword [esp + 0x24]
test edx, edx
mov ebx, dword [ebp + 8]
jle 0x10093c9d
mov eax, dword [ebx + 0x48]
movzx eax, word [eax + edx*2 - 2]
mov esi, dword [ebx + 0x14]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx*4 + 8]
mov cl, byte [eax + esi + 1]
add eax, esi
cmp cl, 5
jne 0x10093a88
lea esi, [eax + 0xb]
mov edi, str.avere
mov ecx, 6
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10093bc8
mov eax, dword [ebx + 0x44]
mov cl, byte [eax + edx + 1]
add eax, edx
cmp cl, 4
jne 0x10093c9d
cmp byte [eax + 2], 3
je 0x10093c9d
jmp 0x10093bc8
mov ebx, dword [ebp + 8]
mov eax, dword [0x100ba3d8]
cmp eax, dword [ebx + 0x34]
jge 0x10093c9d
lea edx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov ecx, dword [eax + edx*4 + 0x24]
mov al, byte [ecx]
cmp al, 0x29
je 0x10093b21
cmp al, 0x5d
jmp 0x10093b1b
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0x24]
cmp eax, dword [ebx + 0x30]
jge 0x10093c9d
mov ecx, dword [ebx + 0x48]
movzx eax, word [ecx + eax*2]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov eax, dword [eax + edx*4 + 8]
mov edx, dword [ebx + 0x14]
mov cl, byte [eax + edx + 1]
add eax, edx
cmp cl, 3
jne 0x10093c9d
mov cl, byte [eax + 3]
and cl, 3
cmp cl, 1
jne 0x10093c9d
mov al, byte [eax + 4]
and al, 3
cmp al, 3
je 0x10093b21
cmp al, cl
jne 0x10093c9d
mov eax, dword [esp + 0x14]
test eax, eax
je 0x10093b3a
push eax
call fcn.10083e90
add esp, 4
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x18]
push edx
jmp 0x100972d3
mov eax, dword [esp + 0x24]
test eax, eax
mov ebx, dword [ebp + 8]
jl 0x10093c9d
mov ecx, dword [ebx + 0x48]
movzx eax, word [ecx + eax*2]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov esi, dword [eax + edx*4 + 0xc]
mov edx, dword [ebx]
push 8
add esi, edx
push str.tuttora
push esi
call fcn.10087ad0
add esp, 0xc
test eax, eax
je 0x10093bc8
push 9
push str.tuttoggi
push esi
call fcn.10087ad0
add esp, 0xc
test eax, eax
jmp 0x10093bc2
mov eax, dword [esp + 0x24]
test eax, eax
mov ebx, dword [ebp + 8]
jl 0x10093c9d
mov edx, dword [ebx + 0x48]
movzx eax, word [edx + eax*2]
mov edx, dword [ebx + 4]
lea eax, [eax + eax*4]
mov esi, dword [edx + eax*4 + 0xc]
mov eax, dword [ebx]
mov edi, str.a_seguito
add esi, eax
mov ecx, 9
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10093c9d
mov eax, dword [esp + 0x14]
test eax, eax
je 0x10093be1
push eax
call fcn.10083e90
add esp, 4
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x18]
push ecx
jmp 0x100972d3
mov esi, dword [esp + 0x24]
test esi, esi
mov ebx, dword [ebp + 8]
jl 0x10093c9d
mov eax, dword [ebx + 0x48]
movzx eax, word [eax + esi*2 + 2]
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 0x14]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 8]
mov cl, byte [eax + edx + 1]
add eax, edx
cmp cl, 5
jne 0x10093c9d
mov edi, 0x100a64a8
lea esi, [eax + 0xb]
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10093c78
cmp byte [eax + 7], 0x43
jne 0x10093c9d
mov eax, dword [ebx + 0x44]
mov ecx, dword [esp + 0x24]
mov dl, byte [eax + ecx + 2]
add eax, ecx
cmp dl, 5
jne 0x10093c4e
lea eax, [ecx + 2]
jmp 0x10093c57
cmp byte [eax + 3], 5
jne 0x10093c9d
lea eax, [ecx + 3]
cmp eax, 0xffffffff
je 0x10093c9d
mov ecx, dword [ebx + 0x48]
movzx eax, word [ecx + eax*2]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov edx, dword [eax + ecx*4 + 8]
mov eax, dword [ebx + 0x14]
mov cl, byte [edx + eax + 6]
test cl, cl
jns 0x10093c9d
mov eax, dword [esp + 0x14]
test eax, eax
je 0x10093c91
push eax
call fcn.10083e90
add esp, 4
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x18]
jmp 0x100972d2
mov ebx, dword [ebp + 8]
mov edx, dword [0x100ba434]
test edx, edx
jge 0x10093caf
xor edx, edx
mov dword [0x100ba434], edx
mov eax, dword [0x100ba3d8]
test eax, eax
jge 0x10093cbf
xor eax, eax
mov dword [0x100ba3d8], eax
mov esi, dword [ebx + 4]
lea ecx, [edx + edx*4]
shl ecx, 2
cmp eax, edx
mov si, word [esi + ecx + 0xc]
mov word [esp + 0x48], si
jge 0x10093cdc
mov dword [0x100ba3d8], edx
mov edi, dword [ebx + 4]
mov esi, dword [ebx + 0x14]
mov eax, dword [ecx + edi + 8]
add eax, esi
cmp byte [eax + 1], 5
jne 0x10093d82
cmp byte [eax + 7], 0x56
jne 0x10093d82
mov eax, dword [esp + 0x18]
mov al, byte [eax + 1]
cmp al, 0x25
je 0x10093d82
cmp al, 0x24
je 0x10093d82
xor eax, eax
lea esi, [edx - 0xa]
test esi, esi
setl al
dec eax
and esi, eax
mov eax, edx
cmp eax, esi
mov dword [esp + 0x34], esi
jl 0x10093d82
lea esi, [eax + eax*4]
lea esi, [edi + esi*4 + 8]
mov dword [esp + 0x38], esi
lea ecx, [ecx]
mov esi, dword [esp + 0x38]
mov esi, dword [esi]
add esi, dword [ebx + 0x14]
cmp byte [esi + 1], 5
je 0x10093d55
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
dec eax
sub edi, 0x14
cmp eax, esi
mov dword [esp + 0x38], edi
jge 0x10093d30
jmp 0x10093d82
cmp byte [esi + 7], 0x43
jne 0x10093d82
mov dword [esp + 0x50], edx
mov dword [0x100ba434], eax
mov edx, dword [ebx + 4]
lea ecx, [eax + eax*4]
shl ecx, 2
mov dx, word [ecx + edx + 0xc]
mov dword [esp + 0x94], 1
mov word [esp + 0x48], dx
mov eax, dword [ebx + 4]
mov eax, dword [ecx + eax + 0x10]
add eax, dword [ebx + 0x20]
push eax
lea ecx, [esp + 0x72c]
push 0xffffffffffffffff
push ecx
call fcn.100839e0
mov al, byte [0x100ba3c0]
add esp, 0xc
cmp al, 7
jne 0x10093e00
mov ecx, 3
mov edi, 0x100aacdc
lea esi, [esp + 0x728]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10093e00
mov al, byte [esp + 0x72c]
test al, al
jne 0x10093e00
lea eax, [esp + 0x728]
push str.culo
push eax
call fcn.10087ad0
add esp, 8
test eax, eax
je 0x10093e00
lea ecx, [esp + 0x728]
push str.culi
push ecx
call fcn.10087ad0
add esp, 8
test eax, eax
jne 0x10093b21
mov ecx, dword [0x100ba3d8]
mov eax, dword [0x100ba434]
cmp ecx, eax
je 0x10093e58
inc eax
mov dword [esp + 0x28], eax
movzx eax, ax
cmp eax, ecx
jg 0x10093e58
jmp 0x10093e20
mov ecx, dword [ebx + 4]
mov esi, dword [ebx + 0x20]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 0x10]
add edx, esi
push edx
lea eax, [esp + 0x72c]
push 0xffffffffffffffff
push eax
call fcn.10083990
mov edx, dword [esp + 0x34]
mov ecx, dword [0x100ba3d8]
add esp, 0xc
inc edx
movzx eax, dx
cmp eax, ecx
mov dword [esp + 0x28], edx
jle 0x10093e20
lea eax, [esp + 0x728]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10093e62
mov ecx, dword [esp + 0x48]
sub eax, edx
add eax, ecx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x50]
cmp eax, 0xffffffff
je 0x10094050
mov dword [0x100ba434], eax
jmp 0x10094050
mov ecx, dword [0x100ba434]
test ecx, ecx
jge 0x10093e9e
xor ecx, ecx
mov dword [0x100ba434], ecx
mov edx, dword [0x100ba3d8]
test edx, edx
jge 0x10093eb0
xor edx, edx
mov dword [0x100ba3d8], edx
mov esi, dword [ebx + 4]
lea eax, [ecx + ecx*4]
shl eax, 2
cmp edx, ecx
mov si, word [esi + eax + 0xc]
mov word [esp + 0x48], si
jge 0x10093ecd
mov dword [0x100ba3d8], ecx
mov edx, dword [ebx + 4]
mov ecx, dword [ebx + 0x20]
mov eax, dword [edx + eax + 0x10]
add eax, ecx
push eax
lea ecx, [esp + 0xc4]
push 0xffffffffffffffff
push ecx
call fcn.100839e0
lea eax, [esp + 0xcc]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10093ef6
sub eax, edx
mov edx, dword [0x100ba3d8]
mov edi, eax
mov eax, dword [0x100ba434]
cmp edx, eax
je 0x10093ffa
inc eax
mov dword [esp + 0x28], eax
movzx eax, ax
cmp eax, edx
jg 0x10093ffa
mov ecx, dword [ebx + 4]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 0x10]
mov ecx, dword [ebx + 0x20]
add ecx, eax
mov al, byte [ecx]
cmp al, byte [0x100b2084]
jne 0x10093f44
mov al, byte [ecx + 1]
test al, al
je 0x10093f7e
mov eax, ecx
lea esi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10093f50
sub eax, esi
add edi, eax
cmp di, 0x64
mov dword [esp + 0x6c], edi
jae 0x10093f90
push ecx
lea ecx, [esp + 0xc4]
push 0xffffffffffffffff
push ecx
call fcn.10083990
mov edx, dword [0x100ba3d8]
add esp, 0xc
mov esi, dword [esp + 0x28]
inc esi
movzx eax, si
cmp eax, edx
mov dword [esp + 0x28], esi
jle 0x10093f24
jmp 0x10093ffa
lea eax, [esp + 0xc0]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10093fa0
sub eax, edx
dec eax
js 0x10093fdd
movzx edx, byte [esp + eax + 0xc0]
lea esi, [esp + eax + 0xc0]
push edx
call fcn.1009d4ef
add esp, 4
test eax, eax
jne 0x10093fdd
mov al, byte [esi]
cmp al, 0xe0
jb 0x10093fd2
cmp al, 0xfc
jbe 0x10093fdd
cmp al, 0xc0
jb 0x10093fda
cmp al, 0xdc
jbe 0x10093fdd
mov byte [esi], 0
push 0x100a73f8
lea eax, [esp + 0xc4]
push 0xffffffffffffffff
push eax
call fcn.10083990
mov edx, dword [0x100ba3d8]
add esp, 0xc
mov ecx, dword [ebx + 4]
mov eax, dword [0x100ba434]
lea esi, [eax + eax*4]
mov ebx, dword [ecx + esi*4 + 0xc]
lea edx, [edx + edx*4]
mov eax, dword [ecx + edx*4 + 0xc]
lea edx, [ecx + edx*4]
movzx ecx, byte [edx]
sub eax, ebx
mov ebx, dword [esp + 0x48]
add eax, ecx
add edi, ebx
mov dword [esp + 0x90], eax
mov dword [esp + 0x6c], edi
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0x72c]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x24], 0x100b9fc0
call fcn.100839e0
add esp, 0xc
mov ebx, dword [ebp + 8]
mov al, byte [esp + 0x728]
cmp al, 0x20
jne 0x10094071
lea ecx, [esp + 0x729]
push ecx
call fcn.10084170
add esp, 4
mov byte [esp + 0x23], al
jmp 0x100940cd
movzx edx, al
push edx
call fcn.1009d52e
add esp, 4
test eax, eax
jne 0x10094090
mov al, byte [esp + 0x728]
cmp al, 0xc0
jb 0x100940a5
cmp al, 0xdc
ja 0x100940a5
cmp byte [esp + 0x729], 0x27
jne 0x100940a5
mov al, byte [esp + 0x72a]
test al, al
je 0x100940c8
lea eax, [esp + 0x728]
push eax
call fcn.10084170
add esp, 4
cmp al, 2
mov byte [esp + 0x23], al
jne 0x100940cd
mov al, byte [esp + 0x729]
test al, al
jne 0x100940cd
mov byte [esp + 0x23], 1
mov esi, dword [esp + 0x18]
mov al, byte [esi + 1]
test al, al
lea edx, [esi + 1]
mov dword [esp + 0x28], 1
mov cx, word [esp + 0x28]
je 0x10094107
cmp al, 0x5d
je 0x10094102
mov eax, dword [esp + 0x28]
inc eax
mov cx, ax
mov dword [esp + 0x28], eax
movzx eax, cx
mov al, byte [eax + esi]
test al, al
jne 0x100940e8
test cx, cx
jbe 0x10094121
movzx eax, cx
cmp byte [eax + esi - 1], 0x7c
jne 0x10094121
mov eax, dword [esp + 0x28]
add eax, 0xffff
mov dword [esp + 0x28], eax
mov cx, ax
movzx eax, cx
add eax, esi
test cx, cx
mov byte [eax], 0x5d
mov byte [eax + 1], 0
jbe 0x1009691a
cmp byte [esi], 0x5d
je 0x1009435b
mov ecx, dword [esp + 0x18]
mov eax, 0xffffffff
sub eax, ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x50], eax
mov ebx, dword [esp + 0x2c]
cmp byte [ebx - 1], 0x7b
jne 0x10094348
movzx ecx, byte [ebx]
push ecx
call fcn.1009d5a2
add esp, 4
test eax, eax
jne 0x10094182
mov al, byte [ebx]
cmp al, 0x26
je 0x10094182
cmp al, 0xa3
je 0x10094182
cmp al, 0xc6
jne 0x10094348
mov eax, dword [esp + 0x18]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10094190
sub eax, edx
mov dword [esp + 0x34], eax
mov al, byte [ebx]
xor edi, edi
cmp al, 0xa3
mov esi, 1
je 0x1009420f
cmp al, 0xc6
je 0x1009420f
cmp al, 0x26
jne 0x100941ba
mov edi, dword [0x100ba5f0]
jmp 0x10094215
movzx edx, byte [ebx]
push edx
call fcn.1009d5a2
add esp, 4
test eax, eax
je 0x10094203
mov ebx, dword [esp + 0x2c]
mov edi, edi
movzx cx, byte [ebx]
mov ebx, dword [esp + 0x18]
inc esi
lea eax, [edi + edi*4]
movzx edx, si
lea edi, [ecx + eax*2 - 0x30]
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x2c]
add edx, ebx
add edx, ecx
movzx ecx, byte [edx + eax]
lea ebx, [edx + eax]
push ecx
call fcn.1009d5a2
add esp, 4
test eax, eax
jne 0x100941d0
mov edx, dword [0x100ba434]
lea edi, [edi + edx - 1]
jmp 0x1009421a
mov edi, dword [0x100ba3b0]
mov esi, 2
movzx eax, di
lea ebx, [eax + eax*4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
shl ebx, 2
mov dword [esp + 0x38], edi
mov edi, dword [ecx + ebx + 0x10]
mov eax, edi
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10094236
mov edx, dword [ebp + 8]
sub eax, ecx
mov dword [esp + 0x3c], eax
mov eax, dword [edx + 0x20]
add eax, edi
push eax
lea ecx, [esp + 0x102c]
push 0xffffffffffffffff
push ecx
call fcn.100839e0
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x38]
lea edi, [edx + eax]
add esp, 0xc
test edi, edi
je 0x100942c3
mov ecx, dword [esp + 0x18]
movzx edx, byte [ecx + edi - 1]
push edx
call fcn.1009d5a2
add esp, 4
test eax, eax
je 0x100942c3
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + ebx + 0x10]
mov eax, dword [eax + 0x20]
movzx ecx, byte [edx + eax]
push ecx
call fcn.1009d5a2
add esp, 4
test eax, eax
je 0x100942c3
push 0x100a6508
push 0
lea edx, [esp + 0x1030]
push 0
push edx
call fcn.10084540
mov eax, dword [esp + 0x4c]
add esp, 0x10
inc eax
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x34]
sub ecx, esi
add edx, ecx
sub eax, esi
mov dword [esp + 0x28], edx
movzx edx, si
mov esi, dword [esp + 0x18]
movzx ebx, ax
add edx, esi
mov esi, dword [esp + 0x2c]
push ebx
lea eax, [edx + edi + 1]
push eax
dec esi
push esi
call fcn.10087ad0
movzx eax, word [esp + 0x48]
mov ecx, dword [esp + 0x24]
push ebx
add ecx, edi
add ecx, eax
push esi
push ecx
mov dword [esp + 0x4c], eax
call fcn.10087ad0
mov edx, dword [esp + 0x4c]
push edx
lea eax, [esp + 0x1044]
push eax
push esi
call fcn.10087ad0
add esp, 0x24
cmp word [esp + 0x38], 0
jne 0x1009434d
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x44]
cmp byte [edx], 3
je 0x1009434d
movzx eax, byte [esi]
push eax
call fcn.1009dfdc
add esp, 4
mov byte [esi], al
jmp 0x1009434d
inc ebx
mov dword [esp + 0x2c], ebx
mov ecx, dword [esp + 0x2c]
cmp byte [ecx - 1], 0x5d
jne 0x10094152
mov ebx, dword [esp + 0x18]
nop
mov ecx, 1
mov al, byte [ecx + ebx]
lea edx, [ecx + ebx]
xor esi, esi
cmp al, 0x7c
mov dword [esp + 0x3c], ecx
je 0x10094389
cmp al, 0x5d
je 0x10094389
mov byte [esp + esi + 0xc0], al
mov al, byte [esi + edx + 1]
inc esi
cmp al, 0x7c
jne 0x10094375
mov byte [esp + esi + 0xc0], 0
mov al, byte [esp + 0xc0]
add ecx, esi
cmp al, 0x3c
mov dword [esp + 0x34], ecx
jne 0x10094474
lea eax, [esp + 0x728]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100943b0
mov cl, byte [esp + 0xc1]
sub eax, edx
cmp cl, 0x3e
mov edi, 1
je 0x100943ea
lea ebx, [ebx]
cmp byte [esp + edi + 0xc0], 0x2a
jne 0x100943dd
lea eax, [edi - 1]
mov cl, byte [esp + edi + 0xc1]
inc edi
cmp cl, 0x3e
jne 0x100943d0
push eax
lea edx, [esp + 0x72c]
push edx
lea eax, [esp + 0xc9]
push eax
call fcn.10087ad0
add esp, 0xc
test eax, eax
je 0x10094447
mov ecx, dword [esp + 0x34]
cmp byte [ebx + ecx], 0x7c
mov eax, ebx
lea edx, [eax + 1]
jne 0x10094422
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10094416
sub eax, edx
inc esi
jmp 0x1009442b
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10094422
sub eax, edx
push 0
push 0
push esi
mov esi, dword [esp + 0x48]
inc eax
push esi
push eax
push ebx
call fcn.100847d0
add esp, 0x18
mov ecx, esi
jmp 0x10096900
lea eax, [esp + 0xc0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10094451
push 0
sub eax, edx
push 0
inc edi
push edi
push 0
inc eax
push eax
lea edx, [esp + 0xd4]
push edx
call fcn.100847d0
add esp, 0x18
mov al, byte [esp + 0xc0]
xor ebx, ebx
test al, al
mov dword [esp + 0x38], ebx
je 0x1009672b
lea esp, [esp]
mov al, byte [esp + ebx + 0xc0]
cmp al, 0x7b
je 0x1009449f
cmp al, 0x7d
jne 0x100944b8
push 0x100a6245
push 1
lea eax, [esp + 0xc8]
push ebx
push eax
call fcn.10084540
add esp, 0x10
dec ebx
mov al, byte [esp + ebx + 0xc0]
cmp al, 0xe7
lea esi, [esp + ebx + 0xc0]
mov dword [esp + 0x1c], esi
je 0x100944fa
cmp al, 0x25
je 0x100944fa
cmp al, 0xa3
je 0x100944fe
cmp al, 0x24
je 0x100944fa
cmp al, 0x2a
je 0x100944fa
cmp al, 0x2b
je 0x100944fa
cmp al, 0x40
je 0x100944fa
cmp al, 0x2d
je 0x100944fa
cmp al, 0x3b
je 0x100944fa
cmp al, 0x3a
je 0x100944fa
cmp al, 0xa7
jne 0x100945b8
cmp al, 0xa3
jne 0x1009450b
cmp byte [0x100ba5e0], 1
je 0x100945b8
movzx ecx, byte [esp + ebx + 0xc1]
push ecx
call fcn.1009d5a2
add esp, 4
test eax, eax
jne 0x10094591
cmp byte [esp + ebx + 0xc1], 0x2d
jne 0x10094568
movzx edx, byte [esp + ebx + 0xc2]
push edx
call fcn.1009d5a2
add esp, 4
test eax, eax
jne 0x10094591
cmp byte [esp + ebx + 0xc1], 0x2d
jne 0x10094568
cmp byte [esp + ebx + 0xc2], 0x2d
jne 0x10094568
movzx eax, byte [esp + ebx + 0xc3]
push eax
call fcn.1009d5a2
add esp, 4
test eax, eax
jne 0x10094591
mov al, byte [esp + ebx + 0xc1]
test al, al
je 0x10094591
movzx ecx, al
push ecx
call fcn.1009d4ef
add esp, 4
test eax, eax
jne 0x10094591
cmp byte [esp + ebx + 0xc1], 0x7d
jne case.0x10094dac.60
test ebx, ebx
je 0x100945b8
mov al, byte [esp + ebx + 0xbf]
cmp al, 0x20
je 0x100945b8
cmp al, 0x7c
je 0x100945b8
movzx edx, al
push edx
call fcn.1009d616
add esp, 4
test eax, eax
je case.0x10094dac.60
movzx eax, byte [esi]
cmp eax, 0x2f
jg 0x10094d88
je case.0x10094dac.61
sub eax, 0x24
cmp eax, 7
ja case.0x10094dac.60
jmp dword [eax*4 + 0x10097368]
push ebx
push 0xffffffffffffffff
lea eax, [esp + 0xc8]
push eax
push 0
call fcn.100928d0
mov dword [esp + 0x5c], eax
xor eax, eax
mov ecx, 0x40
lea edi, [esp + 0x538]
rep stosd dword es:[edi], eax
movzx ecx, byte [esi]
mov al, byte [ecx + 0x100bb5c0]
add esp, 0x10
xor edi, edi
cmp al, 0xff
je 0x10094648
mov ecx, esi
xor eax, eax
lea esp, [esp]
mov dl, byte [ecx]
inc edi
mov byte [esp + eax + 0x528], dl
movzx eax, di
lea ecx, [ebx + eax]
movzx edx, byte [esp + ecx + 0xc0]
cmp byte [edx + 0x100bb5c0], 0xff
lea ecx, [esp + ecx + 0xc0]
jne 0x10094620
movzx edi, di
lea eax, [esp + 0xc0]
mov byte [esp + edi + 0x528], 0
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10094660
sub eax, edx
sub eax, ebx
sub eax, edi
inc eax
test eax, eax
jle 0x10094687
push eax
lea eax, [ebx + edi]
lea ecx, [esp + eax + 0xc4]
push ecx
push esi
call fcn.10087ad0
add esp, 0xc
mov al, byte [esp + 0x528]
test al, al
je case.0x10094dac.60
mov al, byte [esp + 0x529]
test al, al
je 0x10094862
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x30]
xor esi, esi
test eax, eax
mov dword [esp + 0x44], eax
jl 0x100947a1
mov edx, dword [esp + 0x4c]
mov eax, dword [0x100ba434]
mov ecx, dword [edi + 0x48]
add eax, edx
movzx edx, word [ecx]
cmp edx, eax
je 0x100946df
mov edx, dword [esp + 0x44]
inc esi
add ecx, 2
cmp esi, edx
jle 0x100946c7
jmp 0x100947a1
mov ecx, dword [edi + 4]
lea eax, [eax + eax*4]
mov ecx, dword [ecx + eax*4 + 8]
add ecx, dword [edi + 0x14]
movzx eax, byte [ecx + 3]
push 0xffffffffffffffff
lea edx, [esp + 0x1c2c]
push edx
mov edx, eax
shr edx, 6
shr eax, 2
shl edx, 4
and eax, 3
add edx, eax
mov eax, dword [edi + 0x44]
shl edx, 2
push edx
push ecx
movzx ecx, byte [eax + esi]
push ecx
lea edx, [esp + 0x53c]
push 0xffffffffffffffff
push edx
call fcn.10087ad0
add esp, 0x1c
test eax, eax
jne 0x1009477f
lea eax, [esp + 0x528]
push eax
lea ecx, [esp + 0x1b2c]
push 0xffffffffffffffff
push ecx
call fcn.100839e0
push 0
push 0xffffffffffffffff
push 0
push 0
push 0xffffffffffffffff
lea edx, [esp + 0x1b48]
push edx
push 0
push 6
push 0
push esi
push edi
call fcn.10078a90
lea eax, [esp + 0x1c60]
push eax
lea ecx, [esp + 0x564]
push 0xffffffffffffffff
push ecx
call fcn.100839e0
add esp, 0x44
jmp 0x100947a1
push 0
push 0xffffffffffffffff
push 0
push 0
push 0xffffffffffffffff
lea edx, [esp + 0x53c]
push edx
push 0
push 6
push 0
push esi
push edi
call fcn.10078a90
add esp, 0x2c
cmp esi, dword [edi + 0x30]
jle 0x100947e4
mov edx, dword [0x100ba434]
mov ecx, dword [esp + 0x4c]
push 4
push pe_nt_image_headers32
lea eax, [esp + 0x530]
push eax
lea eax, [ecx + edx]
mov ecx, dword [edi + 4]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
mov eax, dword [edi + 0x14]
lea ecx, [edx + eax + 1]
push ecx
push 0xffffffffffffffff
lea edx, [esp + 0x53c]
push edx
push edi
call fcn.100776b0
lea ecx, [esp + 0xc0]
lea edx, [ecx + 1]
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100947f0
lea eax, [esp + 0x528]
sub ecx, edx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10094803
sub eax, esi
mov esi, dword [esp + 0x1c]
sub ecx, ebx
inc ecx
push ecx
add eax, ebx
lea ecx, [esp + eax + 0xc4]
push esi
push ecx
call fcn.10087ad0
lea eax, [esp + 0x534]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10094831
sub eax, edx
push eax
lea edx, [esp + 0x52c]
push edx
push esi
call fcn.10087ad0
lea eax, [esp + 0x534]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10094856
jmp 0x1009670e
lea ecx, [esp + 0xc0]
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10094870
lea eax, [esp + 0x528]
sub ecx, edx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10094883
sub eax, esi
mov esi, dword [esp + 0x1c]
sub ecx, ebx
inc ecx
push ecx
add eax, ebx
lea ecx, [esp + eax + 0xc4]
push esi
push ecx
call fcn.10087ad0
lea eax, [esp + 0x534]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100948b1
sub eax, edx
push eax
lea edx, [esp + 0x52c]
push edx
push esi
call fcn.10087ad0
lea eax, [esp + 0x534]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100948d6
jmp 0x1009670e
push ebx
push 0xffffffffffffffff
lea eax, [esp + 0xc8]
push eax
push 0
call fcn.100928d0
mov ecx, dword [0x100ba434]
add eax, ecx
mov ecx, dword [ebp + 8]
add esp, 0x10
lea edx, [eax + eax*4]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 0x14]
lea eax, [eax + edx*4]
push 1
push pe_nt_image_headers32
lea edx, [esp + 0xd30]
push edx
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 8]
push edx
xor edx, edx
mov dl, byte [eax + ecx + 3]
push edx
call fcn.10081cb0
lea eax, [esp + 0xd28]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10094940
sub eax, edx
mov dword [esp + 0x44], eax
je case.0x10094dac.60
cmp byte [esp + 0xc0], 0x20
jne 0x10094976
push 0x100a6245
push 1
lea eax, [esp + 0xc8]
push 0
push eax
call fcn.10084540
add esp, 0x10
lea eax, [esp + 0xd28]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10094980
sub eax, edx
cmp byte [esp + eax + 0xd27], 0x27
je 0x100949aa
push 0x100a6508
lea ecx, [esp + 0xd2c]
push 0xffffffffffffffff
push ecx
call fcn.10083990
add esp, 0xc
lea ecx, [esp + 0xc0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100949b4
lea eax, [esp + 0xd28]
sub ecx, edx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x100949c7
sub eax, esi
mov esi, dword [esp + 0x1c]
sub ecx, ebx
inc ecx
push ecx
lea edx, [ebx + eax]
lea eax, [esp + edx + 0xc4]
push esi
push eax
call fcn.10087ad0
lea eax, [esp + 0xd34]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100949f6
sub eax, edx
push eax
lea ecx, [esp + 0xd2c]
push ecx
push esi
call fcn.10087ad0
lea eax, [esp + 0xd34]
add esp, 0xc
lea edx, [eax + 1]
jmp 0x10094a20
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10094a20
jmp 0x1009670e
mov al, byte [esp + ebx + 0xc1]
cmp al, 0x2d
je 0x10094a60
movzx edx, al
push edx
call fcn.1009d5a2
add esp, 4
test eax, eax
jne 0x10094a60
movzx eax, byte [esp + ebx + 0xc1]
push eax
call fcn.1009d650
add esp, 4
test eax, eax
je case.0x10094dac.60
push ebx
push 0xffffffffffffffff
lea ecx, [esp + 0xc8]
push ecx
push 0
call fcn.100928d0
add esp, 0x10
mov esi, eax
xor eax, eax
lea esp, [esp]
movzx edx, ax
lea ecx, [ebx + edx]
mov cl, byte [esp + ecx + 0xc0]
movzx edi, cl
cmp byte [edi + 0x100bb5c0], 0xff
jne 0x10094a9e
cmp cl, 0x27
jne 0x10094aae
cmp ax, 0x20
jae 0x10094aae
mov byte [esp + edx + 0xa28], cl
inc eax
jmp 0x10094a80
movzx edi, ax
lea eax, [esp + 0xc0]
mov byte [esp + edi + 0xa28], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10094ac3
sub eax, edx
sub eax, ebx
sub eax, edi
inc eax
js 0x10094af7
lea edx, [ebx + eax]
cmp edx, 0x1f0
jae 0x10094af7
mov edx, dword [esp + 0x1c]
push eax
lea eax, [ebx + edi]
lea ecx, [esp + eax + 0xc4]
push ecx
push edx
call fcn.10087ad0
add esp, 0xc
mov al, byte [esp + 0xa28]
test al, al
je case.0x10094dac.60
mov eax, dword [0x100ba434]
mov edx, dword [ebp + 8]
add eax, esi
lea ecx, [eax + eax*4]
mov eax, dword [edx + 4]
mov edi, dword [eax + ecx*4 + 0x10]
mov eax, edi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10094b20
sub eax, edx
mov edx, eax
lea eax, [esp + 0xa28]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10094b35
mov cl, byte [edx + edi - 1]
sub eax, esi
lea esi, [esp + 0xa28]
dec esi
mov byte [eax + esi], cl
lea eax, [esp + 0xa28]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10094b57
sub eax, edx
cmp byte [eax + esi], 0x69
jne 0x10094b9c
lea eax, [esp + 0xa28]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10094b70
sub eax, edx
cmp byte [esp + eax + 0xa26], 0x69
jne 0x10094b9c
lea eax, [esp + 0xa28]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10094b90
sub eax, edx
mov byte [eax + esi], cl
lea ecx, [esp + 0xc0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10094ba6
lea eax, [esp + 0xa28]
sub ecx, edx
lea esi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10094bc0
sub eax, esi
mov esi, dword [esp + 0x1c]
sub ecx, ebx
inc ecx
push ecx
lea edx, [ebx + eax]
lea eax, [esp + edx + 0xc4]
push esi
push eax
call fcn.10087ad0
lea eax, [esp + 0xa34]
add esp, 0xc
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10094bf0
sub eax, edx
push eax
lea ecx, [esp + 0xa2c]
push ecx
push esi
call fcn.10087ad0
lea eax, [esp + 0xa34]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10094c15
jmp 0x1009670e
push ebx
push 0xffffffffffffffff
lea edx, [esp + 0xc8]
push edx
push 0
call fcn.100928d0
mov ecx, dword [0x100ba434]
add eax, ecx
lea edx, [eax + eax*4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + edx*4 + 8]
mov eax, dword [eax + 0x14]
mov cl, byte [edx + eax + 1]
lea eax, [edx + eax + 1]
add esp, 0x10
cmp cl, 2
jne case.0x10094dac.60
cmp byte [eax + 3], 0x61
jne case.0x10094dac.60
mov dl, byte [eax + 4]
test dl, dl
mov ecx, 4
je 0x10094c7f
inc ecx
movzx edx, cx
cmp byte [edx + eax], 0
jne 0x10094c75
inc ecx
movzx edi, cx
mov dl, byte [edi + eax]
xor esi, esi
test dl, dl
je 0x10094ca5
xor ecx, ecx
mov edi, edi
mov byte [esp + ecx + 0x1128], dl
inc esi
movzx ecx, si
lea edx, [ecx + edi]
mov dl, byte [edx + eax]
test dl, dl
jne 0x10094c90
movzx eax, si
mov byte [esp + eax + 0x1128], 0
lea eax, [esp + 0x1128]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10094cc0
sub eax, edx
mov dword [esp + 0x44], eax
je 0x10094d53
lea ecx, [esp + 0xc0]
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10094ce0
lea eax, [esp + 0x1128]
sub ecx, edx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10094cf3
sub eax, esi
mov esi, dword [esp + 0x1c]
sub ecx, ebx
inc ecx
push ecx
lea ecx, [ebx + eax]
lea edx, [esp + ecx + 0xc4]
push esi
push edx
call fcn.10087ad0
lea eax, [esp + 0x1134]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10094d22
sub eax, edx
push eax
lea eax, [esp + 0x112c]
push eax
push esi
call fcn.10087ad0
lea eax, [esp + 0x1134]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10094d47
jmp 0x1009670e
lea eax, [esp + 0xc0]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10094d60
mov ecx, dword [esp + 0x1c]
sub eax, edx
sub eax, ebx
inc eax
push eax
push ecx
lea edx, [esp + ebx + 0xc7]
push edx
call fcn.10087ad0
add esp, 0xc
dec ebx
jmp case.0x10094dac.60
cmp eax, 0xa3
jg 0x10095f2b
je 0x10095df7
sub eax, 0x3a
cmp eax, 0x25
ja case.0x10094dac.60
movzx eax, byte [eax + 0x1009739c]
jmp dword [eax*4 + 0x10097388]
test ebx, ebx
je 0x10094def
movzx ecx, byte [esp + ebx + 0xbf]
push ecx
call fcn.1009d4ef
add esp, 4
test eax, eax
jne case.0x10094dac.60
mov al, byte [esp + ebx + 0xbf]
cmp al, 0xe0
jb 0x10094de3
cmp al, 0xfc
jbe case.0x10094dac.60
cmp al, 0xc0
jb 0x10094def
cmp al, 0xdc
jbe case.0x10094dac.60
movzx edx, byte [esp + ebx + 0xc1]
lea esi, [esp + ebx + 0xc1]
push edx
call fcn.1009e212
mov byte [esp + 0x17], al
lea eax, [esp + 0xc4]
add esp, 4
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10094e15
sub eax, edi
sub eax, ebx
push eax
mov eax, dword [esp + 0x20]
push esi
push eax
call fcn.10087ad0
push ebx
push 0xffffffffffffffff
lea ecx, [esp + 0xd4]
push ecx
push 0
call fcn.100928d0
mov edx, dword [0x100ba434]
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 4]
add eax, edx
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
mov eax, dword [edi + 0x14]
lea esi, [edx + eax + 1]
lea ecx, [esi + 0xa]
push ecx
lea edx, [esp + 0x1a48]
push 0xffffffffffffffff
push edx
call fcn.100839e0
mov al, byte [esp + 0x3b]
add esp, 0x28
cmp al, 0x43
je 0x10094f1c
cmp al, 0x50
je 0x10094ed4
cmp al, 0x53
jne 0x10094f7b
xor eax, eax
mov al, byte [esi + 7]
push eax
call fcn.1005bc30
mov cl, byte [esi + 8]
mov byte [esp + 0x8c], al
mov al, byte [esi + 6]
add esp, 4
cmp al, 0x43
mov byte [esp + 0x40], cl
jne 0x10094eb3
mov al, cl
dec al
mov byte [esp + 0x40], al
cmp byte [esi + 7], 0x4e
je 0x10094eca
mov edx, dword [esp + 0x40]
push edx
call fcn.1005bca0
add esp, 4
mov byte [esp + 0x40], al
mov byte [esp + 0x74], 3
jmp 0x10094f7b
xor eax, eax
mov al, byte [esi + 7]
push eax
call fcn.1005bc30
mov cl, byte [esi + 8]
mov byte [esp + 0x8c], al
mov al, byte [esi + 6]
add esp, 4
cmp al, 0x43
mov byte [esp + 0x40], cl
jne 0x10094eff
mov al, cl
dec al
mov byte [esp + 0x40], al
cmp byte [esi + 7], 0x4e
je 0x10094f76
mov edx, dword [esp + 0x40]
push edx
call fcn.1005bca0
add esp, 4
mov byte [esp + 0x40], al
jmp 0x10094f76
push ebx
push 0xffffffffffffffff
lea eax, [esp + 0xc8]
push eax
push 0
call fcn.100928d0
mov ecx, dword [0x100ba434]
add eax, ecx
lea edx, [eax + eax*4]
mov eax, dword [edi + 4]
mov ecx, dword [eax + edx*4 + 8]
mov edx, dword [edi + 0x14]
lea eax, [ecx + edx]
mov cl, byte [eax + 1]
mov al, byte [eax + 3]
add esp, 0x10
cmp cl, 4
mov byte [esp + 0x88], 1
mov byte [esp + 0x40], 0
mov byte [esp + 0x74], 3
je 0x10094f70
cmp cl, 3
je 0x10094f70
cmp cl, 8
jne 0x10094f7b
and al, 0xc
cmp al, 4
jne 0x10094f7b
mov byte [esp + 0x74], 6
cmp byte [esi], 5
jne 0x10095dea
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x88]
push 0
push eax
push ecx
push edx
push pe_nt_image_headers32
lea eax, [esp + 0x133c]
push eax
lea ecx, [esp + 0x1a40]
push ecx
call fcn.10082100
cmp eax, 1
jne 0x10095dea
lea ecx, [esp + 0xc0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10094fc5
lea eax, [esp + 0x1328]
sub ecx, edx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10094fd8
sub eax, esi
mov esi, dword [esp + 0x1c]
sub ecx, ebx
inc ecx
push ecx
lea edx, [ebx + eax]
lea eax, [esp + edx + 0xc4]
push esi
push eax
call fcn.10087ad0
lea eax, [esp + 0x1334]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10095007
sub eax, edx
push eax
lea ecx, [esp + 0x132c]
push ecx
push esi
call fcn.10087ad0
lea eax, [esp + 0x1334]
add esp, 0xc
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10095030
jmp 0x1009670e
test ebx, ebx
je 0x10095078
movzx edx, byte [esp + ebx + 0xbf]
push edx
call fcn.1009d4ef
add esp, 4
test eax, eax
jne case.0x10094dac.60
mov al, byte [esp + ebx + 0xbf]
cmp al, 0xe0
jb 0x1009506c
cmp al, 0xfc
jbe case.0x10094dac.60
cmp al, 0xc0
jb 0x10095078
cmp al, 0xdc
jbe case.0x10094dac.60
push ebx
push 0xffffffffffffffff
lea eax, [esp + 0xc8]
push eax
push 0
call fcn.100928d0
mov ecx, dword [0x100ba434]
mov edi, eax
lea eax, [edi + ecx]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + edx*4 + 8]
mov eax, dword [eax + 0x14]
lea esi, [edx + eax + 0xb]
push esi
lea ecx, [esp + 0x1f3c]
push 0xffffffffffffffff
push ecx
call fcn.100839e0
mov al, byte [esi - 1]
add esp, 0x1c
cmp al, 0x4e
je 0x100950e4
xor eax, eax
mov dl, byte [eax + esi]
inc eax
test dl, dl
jne 0x100950c5
add eax, esi
push eax
lea eax, [esp + 0x92c]
push 0xffffffffffffffff
push eax
call fcn.100839e0
add esp, 0xc
jmp 0x100950ec
mov byte [esp + 0x928], 0
mov ecx, dword [0x100ba434]
mov eax, dword [ebp + 8]
add edi, ecx
mov ecx, dword [eax + 4]
mov eax, dword [eax + 0x14]
lea edx, [edi + edi*4]
mov edx, dword [ecx + edx*4 + 8]
cmp byte [edx + eax + 1], 5
jne 0x10095dea
push 0
push 0
push 0
push 6
push pe_nt_image_headers32
lea ecx, [esp + 0x123c]
push ecx
lea edx, [esp + 0x1f40]
push edx
call fcn.10082100
cmp eax, 1
jne 0x10095dea
lea ecx, [esp + 0xc0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10095144
lea eax, [esp + 0x1228]
sub ecx, edx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10095157
sub eax, esi
mov esi, dword [esp + 0x1c]
sub ecx, ebx
inc ecx
push ecx
add eax, ebx
lea ecx, [esp + eax + 0xc4]
push esi
push ecx
call fcn.10087ad0
lea eax, [esp + 0x1234]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10095185
sub eax, edx
push eax
lea edx, [esp + 0x122c]
push edx
push esi
call fcn.10087ad0
lea eax, [esp + 0x1234]
add esp, 0xc
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100951b0
sub eax, edx
lea ebx, [ebx + eax - 1]
mov al, byte [esp + 0x928]
test al, al
je case.0x10094dac.60
lea eax, [esp + 0x928]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100951d6
sub eax, edx
cmp ax, 4
jne 0x10095206
push 3
lea eax, [esp + 0x92e]
push eax
lea ecx, [esp + 0x933]
push ecx
call fcn.10087ad0
mov byte [esp + 0x936], 0x20
jmp 0x1009522b
cmp ax, 5
jne 0x1009522e
push 3
lea edx, [esp + 0x92f]
push edx
lea eax, [esp + 0x934]
push eax
call fcn.10087ad0
mov byte [esp + 0x937], 0x20
add esp, 0xc
push 0x100a6508
lea ecx, [esp + 0x92c]
push 0xffffffffffffffff
push ecx
call fcn.10083990
lea eax, [esp + 0xcc]
add esp, 0xc
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10095250
sub eax, edx
mov edx, eax
lea eax, [esp + 0x928]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10095265
sub eax, esi
inc edx
push edx
lea edx, [esp + 0xc4]
push edx
lea eax, [esp + eax + 0xc8]
push eax
call fcn.10087ad0
lea eax, [esp + 0x934]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10095292
sub eax, edx
push eax
lea ecx, [esp + 0x92c]
push ecx
lea edx, [esp + 0xc8]
push edx
call fcn.10087ad0
lea eax, [esp + 0x934]
add esp, 0xc
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100952c0
jmp 0x1009670e
mov al, byte [esp + ebx + 0xc1]
cmp al, 0x61
jb case.0x10094dac.60
cmp al, 0x7a
ja case.0x10094dac.60
movzx eax, byte [esp + ebx + 0xc1]
push eax
mov dword [esp + 0x64], 0
call fcn.1009d650
add esp, 4
test eax, eax
je case.0x10094dac.60
movzx ecx, byte [esp + ebx + 0xc1]
push ecx
call fcn.1009d5a2
add esp, 4
test eax, eax
je 0x10095342
movzx edx, byte [esp + ebx + 0xc3]
push edx
call fcn.1009d5a2
mov edi, eax
movzx eax, byte [esp + ebx + 0xc6]
push eax
call fcn.1009d5a2
add esp, 8
add edi, eax
jne case.0x10094dac.60
xor eax, eax
mov ecx, 0x40
lea edi, [esp + 0x2c0]
rep stosd dword es:[edi], eax
mov ecx, 0x40
lea edi, [esp + 0xf28]
mov dword [esp + 0x98], eax
mov dword [esp + 0x5c], eax
rep stosd dword es:[edi], eax
movzx eax, byte [esi]
mov edx, 1
add eax, 0xffffffd1
cmp eax, 0xe
mov dword [esp + 0x7c], edx
mov dword [esp + 0x70], edx
mov dword [esp + 0x64], 0xffff
ja case.0x10095392.48
movzx ecx, byte [eax + 0x100973d8]
jmp dword [ecx*4 + 0x100973c4]
mov dword [esp + 0x98], edx
mov dword [esp + 0x70], 0
jmp case.0x10095392.48
mov dword [esp + 0x7c], 0
jmp case.0x10095392.48
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x7c], eax
push ebx
push 0xffffffffffffffff
lea edx, [esp + 0xc8]
push edx
push 0
call fcn.100928d0
mov ecx, dword [esp + 0x2c]
mov esi, eax
movzx eax, byte [ecx]
mov dl, byte [eax + 0x100bb5c0]
add esp, 0x10
xor edi, edi
cmp dl, 0xff
mov dword [esp + 0x4c], esi
je 0x10095418
xor eax, eax
nop
mov cl, byte [ecx]
mov byte [esp + eax + 0xf28], cl
inc edi
movzx eax, di
lea ecx, [ebx + eax]
movzx edx, byte [esp + ecx + 0xc0]
cmp byte [edx + 0x100bb5c0], 0xff
lea ecx, [esp + ecx + 0xc0]
jne 0x100953f0
movzx edi, di
lea eax, [esp + 0xc0]
mov byte [esp + edi + 0xf28], 0
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10095430
sub eax, edx
sub eax, ebx
sub eax, edi
inc eax
test eax, eax
jle 0x1009545b
mov edx, dword [esp + 0x1c]
push eax
lea eax, [ebx + edi]
lea ecx, [esp + eax + 0xc4]
push ecx
push edx
call fcn.10087ad0
add esp, 0xc
mov eax, dword [0x100ba434]
add eax, esi
js case.0x10094dac.60
mov ecx, dword [ebp + 8]
cmp eax, dword [ecx + 0x34]
jg case.0x10094dac.60
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 0x14]
lea esi, [eax + eax*4]
shl esi, 2
mov edx, dword [edx + esi + 8]
lea edi, [edx + ecx + 1]
movzx edx, byte [edi + 2]
mov cl, byte [edi + 6]
mov dword [esp + 0x68], edx
mov dl, byte [edi + 5]
and dl, 0x10
sub dl, 0x10
neg dl
mov dword [esp + 0x2c], edi
sbb edx, edx
inc edx
cmp cl, 0x43
mov dword [esp + 0x54], edx
jne 0x100954c3
cmp byte [edi + 8], 0
jbe 0x100954c3
test edx, edx
mov dword [esp + 0x8c], 1
je 0x100954ce
mov dword [esp + 0x8c], 0
cmp cl, 0x56
mov dword [esp + 0x58], 0
jne 0x100955ae
dec eax
mov dword [esp + 0x58], 1
js 0x100955f7
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 4]
lea edi, [eax + eax*4]
lea ecx, [ecx + edi*4 + 8]
mov edi, edi
mov edi, dword [ecx]
cmp byte [edx + edi + 1], 5
lea edi, [edx + edi + 1]
jne 0x10095513
cmp byte [edi + 6], 0x43
je 0x10095520
dec eax
sub ecx, 0x14
test eax, eax
jge 0x10095500
jmp 0x100955f7
cmp byte [edi + 7], 0x46
jne 0x10095530
mov dword [esp + 0x68], 0x58
jmp 0x10095538
movzx ecx, byte [edi + 2]
mov dword [esp + 0x68], ecx
mov cl, byte [edi + 3]
cmp cl, 0x61
je 0x1009555e
cmp cl, 0x65
je 0x10095554
cmp cl, 0x74
jne 0x10095566
mov dword [esp + 0x60], 3
jmp 0x10095566
mov dword [esp + 0x60], 2
jmp 0x10095566
mov dword [esp + 0x60], 1
test byte [edi + 5], 0x10
je 0x10095574
mov dword [esp + 0x54], 1
cmp eax, 1
mov dword [esp + 0x64], eax
jle 0x100955f7
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 4]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 - 0x20]
lea eax, [eax + edx + 1]
cmp byte [eax], 8
jne 0x100955f7
cmp byte [eax + 5], 0x72
jne 0x100955f7
mov ecx, dword [esi + ecx - 0x18]
mov edx, dword [ebp + 8]
add ecx, dword [edx + 0x20]
push ecx
jmp 0x100955e3
cmp eax, 1
jle 0x100955f7
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 4]
mov edx, dword [eax + esi - 0x20]
mov ecx, dword [ecx + 0x14]
add eax, esi
lea ecx, [edx + ecx + 1]
cmp byte [ecx], 8
jne 0x100955f7
cmp byte [ecx + 5], 0x72
jne 0x100955f7
mov ecx, dword [esp + 0x70]
test ecx, ecx
jne 0x100955f7
mov edx, dword [eax - 0x18]
mov eax, dword [ebp + 8]
add edx, dword [eax + 0x20]
push edx
mov dword [esp + 0x60], 1
call fcn.10084170
add esp, 4
mov byte [esp + 0x23], al
mov esi, dword [esp + 0x2c]
xor ecx, ecx
mov cl, byte [esi + 7]
push ecx
call fcn.1005bc30
xor edx, edx
mov dl, byte [esi + 8]
mov byte [esp + 0xa4], al
sub dl, byte [esp + 0x90]
push edx
call fcn.1005bca0
mov byte [esp + 0xac], al
lea eax, [esp + 0xf30]
push eax
lea ecx, [esp + 0x2cc]
push 0xffffffffffffffff
push ecx
call fcn.100839e0
mov al, byte [esi]
add esp, 0x14
cmp al, 5
jne 0x10095dea
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
xor edx, edx
mov dl, byte [esi + 2]
sub dl, 0x30
push 0
push edx
push eax
push ecx
push pe_nt_image_headers32
lea edx, [esp + 0x2d4]
push edx
lea eax, [esp + 0xf40]
push eax
call fcn.10082100
cmp eax, 1
jne 0x10095dea
mov eax, dword [esp + 0x58]
test eax, eax
mov dword [esp + 0x44], ebx
je 0x100956c1
mov al, byte [0x100bb6e1]
mov ecx, dword [esp + 0x60]
movzx edx, al
cmp edx, ecx
je 0x100956b9
cmp ecx, 3
je 0x100956b9
cmp al, 3
je 0x100956b9
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x100956d3
cmp al, 2
jne 0x100956c1
mov dword [esp + 0x58], 0
mov eax, dword [esp + 0x54]
test eax, eax
je 0x100956d3
mov byte [esp + 0x13], 2
jmp 0x1009574a
mov eax, dword [esp + 0x7c]
test eax, eax
mov ecx, 0xc5
je 0x1009571f
mov al, byte [esp + 0x60]
mov byte [esp + 0x13], al
xor eax, eax
lea edi, [esp + 0x2028]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x2028]
push ecx
lea edx, [esp + 0xf2c]
push edx
call fcn.10087ad0
mov al, byte [esp + 0x2029]
cmp al, 3
je 0x1009574a
cmp al, byte [esp + 0x60]
je 0x1009574a
mov byte [esp + 0x13], al
jmp 0x1009574a
xor eax, eax
lea edi, [esp + 0x2340]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x2340]
push eax
lea ecx, [esp + 0xf2c]
push ecx
call fcn.10087ad0
mov dl, byte [esp + 0x2341]
mov byte [esp + 0x13], dl
mov ecx, dword [esp + 0x2c]
mov al, byte [ecx + 7]
cmp al, 0x50
jne 0x10095859
cmp byte [ecx + 8], 1
jne 0x10095805
cmp byte [esp + 0x13], 1
je 0x10095805
mov ecx, dword [esp + 0x4c]
mov eax, dword [0x100ba434]
add eax, ecx
lea edx, [eax + eax*4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + edx*4 + 0x10]
add ecx, dword [eax + 0x20]
mov eax, ecx
lea edi, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10095790
mov esi, dword [esp + 0x68]
sub eax, edi
cmp esi, 0x58
mov cl, byte [eax + ecx - 1]
je 0x100957e1
cmp cl, 0x6f
je 0x100957b0
cmp cl, 0x61
jne 0x100957c4
cmp esi, 0x33
jle 0x100957c4
cmp cl, 0x6f
sete cl
lea ecx, [ecx*4 + 0x65]
jmp 0x100957e1
cmp cl, 0x69
je 0x100957ce
cmp cl, 0x65
jne 0x100957e1
cmp esi, 0x34
jge 0x100957e1
cmp cl, 0x69
setne cl
dec cl
and cl, 0xe
add cl, 0x61
lea eax, [esp + 0x2c0]
lea edi, [eax + 1]
jmp 0x100957f0
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x100957f0
sub eax, edi
mov byte [esp + eax + 0x2bf], cl
jmp 0x1009585d
cmp al, 0x50
jne 0x10095859
cmp byte [ecx + 8], 1
jne 0x10095859
mov edx, dword [0x100ba434]
mov eax, dword [esp + 0x4c]
add eax, edx
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 4]
mov edi, dword [edx + ecx*4 + 0x10]
add edi, dword [eax + 0x20]
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10095830
sub eax, edx
lea ecx, [esp + 0x2c0]
mov esi, eax
lea eax, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x10095845
sub ecx, eax
mov al, byte [esi + edi - 1]
mov byte [esp + ecx + 0x2bf], al
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x98]
test eax, eax
je case.default.0x10095901
mov ecx, dword [esp + 0x2c]
cmp byte [ecx + 7], 0x46
jne 0x100958ad
push 0x100a7cd0
lea edx, [esp + 0x2c4]
push 0xffffffffffffffff
push edx
call fcn.10083990
lea eax, [esp + 0x2cc]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10095897
sub eax, edx
mov byte [esp + eax + 0x2be], 0x73
jmp case.default.0x10095901
push 0x100aacc8
lea eax, [esp + 0x182c]
push 0xffffffffffffffff
push eax
call fcn.100839e0
lea ecx, [esp + 0x2cc]
push ecx
lea edx, [esp + 0x1838]
push 0xffffffffffffffff
push edx
call fcn.10083990
lea eax, [esp + 0x1840]
push eax
lea ecx, [esp + 0x2dc]
push 0xffffffffffffffff
push ecx
call fcn.100839e0
lea eax, [esi - 0x32]
add esp, 0x24
cmp eax, 4
lea edx, [ebx + 3]
mov dword [esp + 0x44], edx
ja case.default.0x10095901
jmp dword [eax*4 + 0x100973e8]
mov byte [esp + 0x2c0], 0x74
jmp case.default.0x10095901
mov byte [esp + 0x2c0], 0x73
jmp case.default.0x10095901
mov byte [esp + 0x2c0], 0x63
jmp case.default.0x10095901
mov byte [esp + 0x2c0], 0x76
mov eax, dword [esp + 0x2c]
cmp byte [eax + 9], 0x53
jne 0x10095a06
mov ecx, eax
mov al, byte [ecx + 7]
cmp al, 0x46
je 0x10095955
cmp al, 0x50
je 0x10095955
cmp al, 0x4d
je 0x10095955
cmp al, 0x47
jne 0x10095a06
mov dl, byte [ecx + 0xc]
test dl, dl
mov eax, 0xc
je 0x1009596a
mov dl, byte [eax + ecx + 1]
inc eax
test dl, dl
jne 0x10095961
mov ecx, dword [esp + 0x2c]
movzx edx, byte [eax + ecx + 1]
lea esi, [eax + ecx + 1]
push edx
xor edi, edi
call fcn.1009d4ef
add esp, 4
test eax, eax
je 0x100959a7
cmp edi, 8
jge 0x100959a7
mov al, byte [esi]
mov byte [esp + edi + 0xa8], al
movzx ecx, byte [esi + 1]
inc edi
inc esi
push ecx
call fcn.1009d4ef
add esp, 4
test eax, eax
jne 0x10095986
mov edx, dword [esp + 0x2c]
cmp byte [edx + 7], 0x46
mov byte [esp + edi + 0xa8], 0
lea eax, [esp + 0x2c0]
jne 0x100959f3
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100959c3
sub eax, edx
cmp byte [esp + eax + 0x2bd], 0x72
jne 0x100959d7
dec eax
mov byte [esp + eax + 0x2bf], 0
lea eax, [esp + 0xa8]
push eax
push 0xffffffffffffffff
lea ecx, [esp + 0x2c8]
push ecx
jmp 0x100959fe
lea edx, [esp + 0xa8]
push edx
push 0xffffffffffffffff
push eax
call fcn.10083990
add esp, 0xc
lea ecx, [esp + 0xc0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10095a10
lea eax, [esp + 0x2c0]
sub ecx, edx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10095a23
sub eax, esi
mov esi, dword [esp + 0x1c]
sub ecx, ebx
inc ecx
push ecx
add eax, ebx
lea ecx, [esp + eax + 0xc4]
push esi
push ecx
call fcn.10087ad0
lea eax, [esp + 0x2cc]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10095a51
sub eax, edx
push eax
lea edx, [esp + 0x2c4]
push edx
push esi
call fcn.10087ad0
lea eax, [esp + 0x2cc]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10095a76
sub eax, edx
mov edx, dword [esp + 0x2c]
lea ebx, [ebx + eax - 1]
cmp byte [edx + 7], 0x49
mov dword [esp + 0x54], ebx
jne 0x10095adf
movzx eax, byte [edx + 8]
sub eax, dword [esp + 0x8c]
jne 0x10095adf
cmp byte [edx + 2], 0x32
jne 0x10095adf
lea eax, [edx + 0xa]
lea esi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10095ab0
sub eax, esi
cmp byte [edx + eax + 7], 0x61
jne 0x10095adf
push 0
push 2
push 0
push 1
push 0xffffffffffffffff
lea ecx, [esp + 0x266c]
push ecx
lea edx, [esp + 0xf40]
push edx
call fcn.10082100
mov ecx, dword [esp + 0x7c]
xor eax, eax
cmp ecx, eax
je 0x10095af6
cmp dword [esp + 0x94], eax
jne 0x10095af6
mov dword [esp + 0x58], eax
cmp dword [esp + 0x70], eax
je 0x10095b00
mov dword [esp + 0x5c], eax
cmp dword [esp + 0x58], eax
jne 0x10095b19
cmp dword [esp + 0x84], eax
jne 0x10095b19
cmp dword [esp + 0x5c], eax
je case.0x10094dac.60
mov eax, dword [esp + 0x64]
cmp eax, 0xffff
je 0x10095dbb
mov eax, dword [esp + 0x84]
test eax, eax
je 0x100969bc
mov edi, dword [esp + 0x64]
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 0x14]
lea edi, [edi + edi*4]
shl edi, 2
mov ecx, dword [eax + edi + 8]
lea esi, [ecx + edx + 1]
xor eax, eax
mov al, byte [esi + 7]
push eax
call fcn.1005bc30
mov byte [esp + 0x84], al
movzx eax, byte [esi + 8]
dec eax
xor ecx, ecx
test eax, eax
setle cl
dec ecx
and eax, ecx
push eax
call fcn.1005bca0
mov byte [esp + 0xa4], al
mov al, byte [esp + 0x1b]
add esp, 8
cmp al, 1
push 0
jne 0x10095bba
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x84]
xor edx, edx
mov dl, byte [esi + 2]
sub dl, 0x30
push edx
push eax
push ecx
push pe_nt_image_headers32
lea edx, [esp + 0xe3c]
push edx
push str.avere
jmp 0x10095bed
movzx eax, byte [esi + 8]
dec eax
xor ecx, ecx
test eax, eax
setle cl
xor edx, edx
mov dl, byte [esi + 2]
dec ecx
and eax, ecx
sub dl, 0x30
lea ecx, [esp + 0xe2c]
push edx
push eax
mov eax, dword [esp + 0x8c]
push eax
push pe_nt_image_headers32
push ecx
push 0x100a64a8
call fcn.10082100
mov eax, dword [0x100ba434]
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x64]
lea edx, [edx + eax - 2]
cmp ecx, edx
je 0x10095c51
lea esi, [ecx + 1]
cmp esi, eax
jge 0x10095cab
lea edi, [esi + esi*4]
shl edi, 2
jmp 0x10095c20
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 0x20]
mov ecx, dword [eax + edi + 0x10]
add ecx, edx
push ecx
lea edx, [esp + 0xe2c]
push 0xffffffffffffffff
push edx
call fcn.10083990
mov eax, dword [0x100ba434]
add esp, 0xc
inc esi
add edi, 0x14
cmp esi, eax
jl 0x10095c20
jmp 0x10095cab
push 0x100a6508
lea eax, [esp + 0xe2c]
push 0xffffffffffffffff
push eax
call fcn.10083990
mov ecx, dword [ebx + 4]
movzx eax, word [esp + 0x78]
mov esi, dword [ebx]
xor edx, edx
mov dx, word [ecx + edi + 0xc]
lea edi, [esp + 0x734]
add esp, 0xc
mov dword [esp + 0x58], 0
mov dword [esp + 0x48], edx
movzx edx, dx
sub eax, edx
add esi, edx
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [esp + eax + 0x728], 0
mov eax, dword [esp + 0x5c]
lea ecx, [eax + eax]
mov eax, dword [esp + 0x64]
sub eax, ecx
lea ebx, [eax + eax*4]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 4]
shl ebx, 2
mov ecx, dword [ebx + edx + 0x10]
mov edx, dword [eax + 0x20]
lea eax, [ecx + edx]
mov edi, 0x100aacc4
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10095d01
mov edi, 0x100aa808
mov esi, eax
mov ecx, 2
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10095d01
push eax
call fcn.10084170
add esp, 4
mov byte [esp + 0x23], al
jmp 0x10095d06
mov byte [esp + 0x23], 1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
cmp byte [ebx + ecx], 1
jne 0x10095d1e
cmp byte [esp + 0x23], 2
jne 0x10095d1e
mov byte [esp + 0x23], 1
lea ecx, [esp + 0xc0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10095d28
lea eax, [esp + 0xe28]
sub ecx, edx
lea esi, [eax + 1]
jmp 0x10095d40
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10095d40
movzx edx, word [esp + 0x44]
sub ecx, edx
sub eax, esi
lea esi, [esp + edx + 0xc0]
inc ecx
push ecx
add edx, eax
lea edx, [esp + edx + 0xc4]
push esi
push edx
call fcn.10087ad0
lea eax, [esp + 0xe34]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10095d76
sub eax, edx
push eax
lea eax, [esp + 0xe2c]
push eax
push esi
call fcn.10087ad0
lea eax, [esp + 0xe34]
add esp, 0xc
lea edx, [eax + 1]
jmp 0x10095da0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10095da0
mov ecx, dword [esp + 0x54]
sub eax, edx
lea edx, [ecx + eax - 1]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x54], edx
mov ebx, edx
mov ecx, dword [esp + 0x5c]
test ecx, ecx
jne case.0x10094dac.60
mov ecx, dword [esp + 0x58]
test ecx, ecx
je case.0x10094dac.60
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
lea eax, [eax + eax*4]
movzx eax, word [edx + eax*4 + 0xc]
mov dword [esp + 0x48], eax
jmp case.0x10094dac.60
mov dword [esp + 0x38], 1
jmp case.0x10094dac.60
mov cx, word [0x100ba3be]
cmp cx, word [0x100ba606]
jae 0x10095edf
push 0x100a6245
lea edx, [esp + 0x102c]
push 0xffffffffffffffff
push edx
call fcn.100839e0
mov ax, word [0x100ba3be]
add esp, 0xc
cmp ax, word [0x100ba606]
mov word [esp + 0x50], ax
ja 0x10095e78
mov esi, dword [ebp + 8]
lea esp, [esp]
mov ecx, dword [esi + 4]
movzx eax, ax
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 0x10]
add edx, dword [esi + 0x20]
push edx
lea eax, [esp + 0x102c]
push 0xffffffffffffffff
push eax
call fcn.10083990
mov edx, dword [esp + 0x5c]
add esp, 0xc
inc edx
mov ax, dx
cmp ax, word [0x100ba606]
mov dword [esp + 0x50], edx
jbe 0x10095e40
lea eax, [esp + 0x1028]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10095e82
sub eax, edx
mov edx, eax
lea eax, [esp + 0xc0]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10095e97
sub eax, esi
sub eax, ebx
movzx edi, dx
movzx ecx, ax
push ecx
lea edx, [esp + ebx + 0xc5]
lea esi, [ebx + edi]
push edx
lea eax, [esp + esi + 0xc8]
push eax
call fcn.10087ad0
mov edx, dword [esp + 0x28]
push edi
lea ecx, [esp + 0x1038]
push ecx
push edx
call fcn.10087ad0
add esp, 0x18
lea ebx, [esi - 1]
jmp case.0x10094dac.60
lea eax, [esp + 0xc0]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10095ef0
sub eax, edx
sub eax, ebx
push eax
lea eax, [esp + ebx + 0xc5]
push eax
push esi
call fcn.10087ad0
mov al, byte [esi]
add esp, 0xc
test al, al
jne 0x10095f25
cmp byte [esp + ebx + 0xbf], 0x20
jne 0x10095f25
mov byte [esp + ebx + 0xbf], 0
dec ebx
jmp case.0x10094dac.60
sub eax, 0xa7
je 0x1009638c
sub eax, 0x40
je 0x1009618c
sub eax, 0x2e2d47
jne case.0x10094dac.60
push ebx
push 0xffffffffffffffff
lea ecx, [esp + 0xc8]
push ecx
push 0
call fcn.100928d0
mov edx, dword [0x100ba434]
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 4]
add eax, edx
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 0x10]
push edx
lea eax, [esp + 0x63c]
push 0xffffffffffffffff
push eax
call fcn.100839e0
lea eax, [esp + 0x644]
add esp, 0x1c
lea edi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10095f90
mov edx, dword [esi + 0x2f8]
lea ecx, [esp + 0x628]
sub eax, edi
push ecx
lea edi, [esp + eax + 0x62b]
push edx
mov byte [edi], 0x65
call fcn.10087ad0
add esp, 8
cmp eax, 0xf42400
je 0x10096042
lea ecx, [esp + 0xc0]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10095fd0
lea eax, [esp + 0x628]
sub ecx, edx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10095fe3
sub eax, esi
mov esi, dword [esp + 0x1c]
sub ecx, ebx
inc ecx
push ecx
add eax, ebx
lea ecx, [esp + eax + 0xc4]
push esi
push ecx
call fcn.10087ad0
lea eax, [esp + 0x634]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10096011
sub eax, edx
push eax
lea edx, [esp + 0x62c]
push edx
push esi
call fcn.10087ad0
lea eax, [esp + 0x634]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10096036
jmp 0x1009670e
mov ecx, dword [esi + 0x2f8]
lea eax, [esp + 0x628]
push eax
push ecx
mov byte [edi], 0x6f
call fcn.10087ad0
add esp, 8
cmp eax, 0xf42400
je 0x100960e4
lea ecx, [esp + 0xc0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10096071
lea eax, [esp + 0x628]
sub ecx, edx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10096084
sub eax, esi
mov esi, dword [esp + 0x1c]
sub ecx, ebx
inc ecx
push ecx
lea edx, [ebx + eax]
lea eax, [esp + edx + 0xc4]
push esi
push eax
call fcn.10087ad0
lea eax, [esp + 0x634]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100960b3
sub eax, edx
push eax
lea ecx, [esp + 0x62c]
push ecx
push esi
call fcn.10087ad0
lea eax, [esp + 0x634]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100960d8
jmp 0x1009670e
mov eax, dword [esi + 0x2f8]
lea edx, [esp + 0x628]
push edx
push eax
mov byte [edi], 0x61
call fcn.10087ad0
add esp, 8
cmp eax, 0xf42400
je case.0x10094dac.60
lea ecx, [esp + 0xc0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10096113
lea eax, [esp + 0x628]
sub ecx, edx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10096126
sub eax, esi
mov esi, dword [esp + 0x1c]
sub ecx, ebx
inc ecx
push ecx
lea ecx, [ebx + eax]
lea edx, [esp + ecx + 0xc4]
push esi
push edx
call fcn.10087ad0
lea eax, [esp + 0x634]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10096155
sub eax, edx
push eax
lea eax, [esp + 0x62c]
push eax
push esi
call fcn.10087ad0
lea eax, [esp + 0x634]
add esp, 0xc
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10096180
jmp 0x1009670e
push ebx
push 0xffffffffffffffff
lea ecx, [esp + 0xc8]
push ecx
push 0
call fcn.100928d0
mov edx, dword [0x100ba434]
mov ecx, dword [ebp + 8]
add eax, edx
mov edx, dword [ecx + 0x34]
add esp, 0x10
cmp eax, edx
jge case.0x10094dac.60
mov edi, ecx
lea edx, [eax + eax*4]
mov eax, dword [edi + 4]
mov ecx, dword [eax + edx*4 + 0x10]
add ecx, dword [edi + 0x20]
push ecx
lea edx, [esp + 0x3c4]
push 0xffffffffffffffff
push edx
call fcn.100839e0
lea esi, [esp + 0x3cc]
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x100961e3
sub esi, ecx
movzx eax, byte [esp + esi + 0x3bf]
cmp byte [esp + esi + 0x3b9], 0x68
mov dword [esp + 0x4c], eax
jne 0x10096224
cmp eax, 0x61
je 0x10096210
cmp eax, 0x6f
jne 0x100962d2
mov byte [esp + esi + 0x3b9], al
mov byte [esp + esi + 0x3ba], 0
jmp 0x100962e1
mov ecx, dword [edi + 0x2f8]
lea eax, [esp + 0x3c0]
push eax
add ecx, 0x110
push 0xffffffffffffffff
push ecx
call fcn.100839e0
mov edx, dword [edi + 0x2f8]
mov byte [esi + edx + 0x10a], 0x65
mov eax, dword [edi + 0x2f8]
mov byte [esi + eax + 0x10b], 0
mov eax, dword [edi + 0x2f8]
lea ecx, [eax + 0x110]
push ecx
push eax
call fcn.10087ad0
add esp, 0x14
cmp eax, 0xf42400
je 0x100962b7
mov edi, dword [edi + 0x2f8]
mov dl, byte [edi + 0x10]
and dl, 0xe0
cmp dl, 0x80
jne 0x100962b7
test byte [edi + 0x11], 0x10
jne 0x100962b7
cmp byte [edi], 0
jne 0x100962b7
mov eax, dword [esp + 0x4c]
cmp eax, 0x61
je 0x100962ad
cmp eax, 0x6f
je 0x100962ad
mov byte [esp + esi + 0x3ba], 0x69
jmp 0x100962d9
mov byte [esp + esi + 0x3ba], 0x65
jmp 0x100962d9
mov al, byte [esp + esi + 0x3b9]
cmp al, 0x63
je 0x10096363
cmp al, 0x67
je 0x10096363
mov al, byte [esp + 0x4c]
mov byte [esp + esi + 0x3ba], al
mov byte [esp + esi + 0x3bb], 0
lea ecx, [esp + 0xc0]
lea edx, [ecx + 1]
jmp 0x100962f0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100962f0
lea eax, [esp + 0x3c0]
sub ecx, edx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10096303
sub eax, esi
mov esi, dword [esp + 0x1c]
sub ecx, ebx
inc ecx
push ecx
lea ecx, [ebx + eax]
lea edx, [esp + ecx + 0xc4]
push esi
push edx
call fcn.10087ad0
lea eax, [esp + 0x3cc]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10096332
sub eax, edx
push eax
lea eax, [esp + 0x3c4]
push eax
push esi
call fcn.10087ad0
lea eax, [esp + 0x3cc]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10096357
jmp 0x1009670e
mov eax, dword [esp + 0x4c]
cmp eax, 0x65
jne 0x100962d2
mov byte [esp + esi + 0x3ba], 0x68
mov byte [esp + esi + 0x3bb], al
mov byte [esp + esi + 0x3bc], 0
jmp 0x100962e1
push ebx
push 0xffffffffffffffff
lea ecx, [esp + 0xc8]
push ecx
push 0
call fcn.100928d0
mov edx, dword [esp + 0x2c]
mov esi, eax
movzx eax, byte [edx]
mov cl, byte [eax + 0x100bb5c0]
add esp, 0x10
xor edi, edi
cmp cl, 0xff
je 0x100963e8
mov ecx, edx
xor eax, eax
jmp 0x100963c0
mov cl, byte [ecx]
mov byte [esp + eax + 0xc28], cl
inc edi
movzx eax, di
lea ecx, [ebx + eax]
movzx edx, byte [esp + ecx + 0xc0]
cmp byte [edx + 0x100bb5c0], 0xff
lea ecx, [esp + ecx + 0xc0]
jne 0x100963c0
movzx edi, di
lea eax, [esp + 0xc0]
mov byte [esp + edi + 0xc28], 0
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10096400
sub eax, edx
sub eax, ebx
sub eax, edi
inc eax
test eax, eax
jle 0x1009642b
mov edx, dword [esp + 0x1c]
push eax
lea eax, [ebx + edi]
lea ecx, [esp + eax + 0xc4]
push ecx
push edx
call fcn.10087ad0
add esp, 0xc
mov eax, dword [0x100ba434]
mov edi, dword [ebp + 8]
mov edx, dword [edi + 4]
add eax, esi
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*4 + 8]
lea edx, [edx + ecx*4]
mov ecx, dword [edi + 0x14]
lea eax, [eax + ecx + 1]
mov cl, byte [eax]
cmp cl, 2
je 0x100965c1
cmp cl, 1
je 0x10096653
cmp cl, 3
je 0x100964fc
cmp cl, 4
je 0x100964fc
cmp cl, 8
jne case.0x10094dac.60
lea ecx, [esp + 0xc0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10096482
lea eax, [esp + 0xc28]
sub ecx, edx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10096495
sub eax, esi
mov esi, dword [esp + 0x1c]
sub ecx, ebx
inc ecx
push ecx
lea edx, [ebx + eax]
lea eax, [esp + edx + 0xc4]
push esi
push eax
call fcn.10087ad0
lea eax, [esp + 0xc34]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100964c4
sub eax, edx
push eax
lea ecx, [esp + 0xc2c]
push ecx
push esi
call fcn.10087ad0
lea eax, [esp + 0xc34]
add esp, 0xc
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100964f0
jmp 0x1009670e
mov edx, dword [edx + 0x10]
movzx eax, byte [eax + 2]
push 1
push pe_nt_image_headers32
lea ecx, [esp + 0x1d30]
push ecx
push edx
push eax
call fcn.10081cb0
push pe_nt_image_headers32
lea ecx, [esp + 0xb2c]
push ecx
lea edx, [esp + 0x1d30]
push edx
lea eax, [esp + 0xc34]
push eax
call fcn.10081d00
lea eax, [esp + 0xd0]
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10096548
sub eax, edx
mov ecx, eax
lea eax, [esp + 0xb28]
lea esi, [eax + 1]
lea ecx, [ecx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10096560
sub eax, esi
mov esi, dword [esp + 0x1c]
sub ecx, ebx
inc ecx
push ecx
lea ecx, [ebx + eax]
lea edx, [esp + ecx + 0xc4]
push esi
push edx
call fcn.10087ad0
lea eax, [esp + 0xb34]
add esp, 0xc
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10096590
sub eax, edx
push eax
lea eax, [esp + 0xb2c]
push eax
push esi
call fcn.10087ad0
lea eax, [esp + 0xb34]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100965b5
jmp 0x1009670e
cmp byte [eax + 3], 0x73
je 0x10096637
mov dl, byte [eax + 4]
test dl, dl
mov ecx, 4
je 0x100965e1
inc ecx
movzx edx, cx
cmp byte [edx + eax], 0
jne 0x100965d7
inc ecx
movzx edi, cx
mov dl, byte [edi + eax]
xor esi, esi
test dl, dl
je 0x10096605
xor ecx, ecx
mov byte [esp + ecx + 0x1928], dl
inc esi
movzx ecx, si
lea edx, [ecx + edi]
mov dl, byte [edx + eax]
test dl, dl
jne 0x100965f0
movzx eax, si
push pe_nt_image_headers32
lea ecx, [esp + 0xb2c]
push ecx
lea edx, [esp + 0x1930]
mov byte [esp + eax + 0x1930], 0
push edx
lea eax, [esp + 0xc34]
push eax
call fcn.10081d00
add esp, 0x10
jmp 0x10096691
lea ecx, [esp + 0xc28]
push ecx
lea edx, [esp + 0xb2c]
push 0xffffffffffffffff
push edx
call fcn.100839e0
add esp, 0xc
jmp 0x10096691
lea eax, [esp + 0xc28]
push eax
call fcn.100a55ef
mov edx, dword [0x100ba434]
push pe_nt_image_headers32
lea ecx, [esp + 0xb30]
push ecx
mov ecx, dword [edi + 4]
lea eax, [esi + edx]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 0x10]
push edx
lea eax, [esp + 0xc38]
push eax
call fcn.10081d00
add esp, 0x14
lea ecx, [esp + 0xc0]
lea edx, [ecx + 1]
jmp 0x100966a0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100966a0
lea eax, [esp + 0xb28]
sub ecx, edx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x100966b3
sub eax, esi
mov esi, dword [esp + 0x1c]
sub ecx, ebx
inc ecx
push ecx
lea ecx, [ebx + eax]
lea edx, [esp + ecx + 0xc4]
push esi
push edx
call fcn.10087ad0
lea eax, [esp + 0xb34]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100966e2
sub eax, edx
push eax
lea eax, [esp + 0xb2c]
push eax
push esi
call fcn.10087ad0
lea eax, [esp + 0xb34]
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10096707
sub eax, edx
lea ebx, [ebx + eax - 1]
mov al, byte [esp + ebx + 0xc1]
inc ebx
test al, al
jne 0x10094490
mov al, byte [esp + 0xc0]
mov ecx, dword [0x100b9d28]
xor esi, esi
cmp ecx, esi
je 0x10096742
mov dword [0x100b9d28], esi
jmp 0x10096839
cmp al, 0x23
jne 0x100967a1
mov al, byte [esp + 0x728]
test al, al
je 0x1009676b
mov cl, byte [esp + esi + 0x728]
mov al, byte [esp + esi + 0x729]
mov byte [esp + esi + 0xc0], cl
inc esi
test al, al
jne 0x10096751
movzx edx, byte [esp + 0xc0]
push edx
call fcn.1009e212
mov byte [esp + 0xc4], al
push 1
lea eax, [esp + 0xc8]
push 0xffffffffffffffff
push eax
mov byte [esp + esi + 0xd0], 0
call fcn.10084330
add esp, 0x10
jmp 0x10096839
cmp al, 0xb0
jne 0x100967e2
mov cl, byte [esp + 0x728]
xor eax, eax
test cl, cl
je 0x100967cc
mov cl, byte [esp + eax + 0x728]
mov byte [esp + eax + 0xc0], cl
mov cl, byte [esp + eax + 0x729]
inc eax
test cl, cl
jne 0x100967b2
push 1
push 0xffffffffffffffff
lea edx, [esp + 0xc8]
mov byte [esp + eax + 0xc8], 0
push edx
jmp 0x10096831
lea eax, [esp + 0xc0]
push eax
call fcn.10084170
add esp, 4
cmp eax, 0xffffffff
jne 0x10096817
cmp dword [esp + 0x24], esi
jne 0x10096839
movzx ecx, byte [esp + 0xc0]
push ecx
call fcn.10084140
add esp, 4
mov byte [esp + 0xc0], al
jmp 0x10096839
cmp eax, 2
je 0x10096839
cmp eax, 1
je 0x10096839
movzx edx, byte [esp + 0x23]
push edx
push 0xffffffffffffffff
lea eax, [esp + 0xc8]
push eax
call fcn.10084330
add esp, 0xc
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
mov al, byte [ecx + edi + 1]
cmp al, 0x5d
lea esi, [ecx + edi + 1]
je 0x10096868
test al, al
je 0x10096868
push 0x100a8dc0
lea edx, [esp + 0xc4]
push 0xffffffffffffffff
push edx
call fcn.10083990
add esp, 0xc
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10096897
mov eax, esi
xor ebx, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10096877
sub eax, edx
inc eax
push eax
mov eax, dword [esp + 0x40]
add eax, edi
push esi
push eax
call fcn.10087ad0
add esp, 0xc
jmp 0x100968eb
lea eax, [esp + 0xc0]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100968a1
sub eax, edx
mov ebx, eax
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100968b1
mov ecx, dword [esp + 0x3c]
sub eax, edx
mov edx, dword [esp + 0x18]
inc eax
push eax
lea edi, [ecx + edx]
lea eax, [ebx + edi]
push esi
push eax
call fcn.10087ad0
mov ecx, ebx
mov edx, ecx
shr ecx, 2
lea esi, [esp + 0xcc]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
add esp, 0xc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x3c]
lea ecx, [eax + ebx]
mov eax, dword [esp + 0x28]
add eax, ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x28], eax
cmp byte [ecx + ebx], 0
je 0x10096913
movzx edx, word [esp + 0x28]
cmp ecx, edx
jl 0x10094365
mov ebx, dword [ebp + 8]
mov esi, dword [esp + 0x18]
push 0x100a7360
push 0xffffffffffffffff
push esi
call fcn.10083990
add esp, 0xc
cmp word [0x100ba3c2], 0xea60
jae 0x10097221
movzx ecx, word [0x100ba5ba]
mov edx, dword [0x100ba5ba]
test dh, dh
lea eax, [ecx*4]
jns 0x10096a6c
and ecx, 0x7fff
dec ecx
je 0x10096a1c
dec ecx
je 0x100969cc
dec ecx
jne 0x10096b8c
mov ecx, 0xc
mov esi, str.Possibile_errore_di_concordanza_verbo_soggetto.
lea edi, [esp + 0x4c0]
lea eax, [esp + 0x4c0]
rep movsd dword es:[edi], dword [esi]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10096990
sub eax, edx
inc eax
push eax
call fcn.10083e60
lea ecx, [esp + 0x4c4]
push ecx
push 0xffffffffffffffff
push eax
mov dword [esp + 0x40], eax
call fcn.100839e0
add esp, 0x10
jmp 0x10096b8c
mov dword [esp + 0x84], 1
jmp 0x1009435b
mov ecx, 0x18
mov esi, str.Si_consiglia_di_aggiungere_una_virgola_in_questo_punto__per_migliorare_la_comprensione_del_testo.
lea edi, [esp + 0x4c0]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x4c0]
movsw word es:[edi], word [esi]
lea edx, [eax + 1]
jmp 0x100969f0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100969f0
sub eax, edx
inc eax
push eax
call fcn.10083e60
lea edx, [esp + 0x4c4]
push edx
push 0xffffffffffffffff
push eax
mov dword [esp + 0x40], eax
call fcn.100839e0
add esp, 0x10
jmp 0x10096b8c
mov ecx, 0x10
mov esi, str.In_questo_caso
lea edi, [esp + 0x4c0]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x4c0]
movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10096a40
sub eax, edx
inc eax
push eax
call fcn.10083e60
lea ecx, [esp + 0x4c4]
push ecx
push 0xffffffffffffffff
push eax
mov dword [esp + 0x40], eax
call fcn.100839e0
add esp, 0x10
jmp 0x10096b8c
mov ecx, dword [0x100b8e50]
test ecx, ecx
je 0x10096abe
mov esi, dword [eax + ecx]
mov eax, dword [0x100b8e54]
lea edx, [esi + 0x100]
cmp edx, eax
mov edi, pe_nt_image_headers32
jle 0x10096a91
sub eax, esi
mov edi, eax
push pe_nt_image_headers32
call fcn.10083e60
mov edx, dword [0x100b8e50]
mov ecx, edi
mov dword [esp + 0x34], eax
mov edi, eax
mov eax, ecx
shr ecx, 2
add esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
add esp, 4
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x10096af3
lea ecx, [esp + 0x14]
push ecx
push 4
push eax
push str.LEXRUL.MSG
call fcn.1005c050
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
lea ecx, [esp + 0x30]
push ecx
push 0xc8
push eax
push str.LEXRUL.MSG
mov dword [esp + 0x40], 0
call fcn.1005c050
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x10096b7e
mov eax, dword [0x100aabd0]
mov edx, dword [str.Errore_grammaticale.]
mov ecx, dword [0x100aabd4]
mov dword [esp + 0xac], eax
mov eax, dword [0x100aabdc]
mov dword [esp + 0xa8], edx
mov edx, dword [0x100aabd8]
mov dword [esp + 0xb0], ecx
mov cl, byte [0x100aabe0]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0xb4], edx
mov byte [esp + 0xbc], cl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10096b55
sub eax, edx
inc eax
push eax
call fcn.10083e60
lea edx, [esp + 0xac]
push edx
push 0xffffffffffffffff
push eax
mov dword [esp + 0x40], eax
call fcn.100839e0
add esp, 0x10
jmp 0x10096b8c
push 0xc8
push eax
call fcn.10040780
add esp, 8
mov edx, dword [esp + 0x30]
cmp byte [edx], 0
je 0x10097065
xor eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], eax
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10096ba8
sub eax, esi
mov dword [esp + 0x9c], eax
je 0x10097056
jmp 0x10096bc4
mov edx, dword [esp + 0x30]
movzx eax, word [esp + 0x1c]
mov al, byte [eax + edx]
cmp al, 0x7e
je 0x10096c05
cmp al, 0xbb
je 0x10096c05
cmp al, 0xa3
je 0x10096c05
cmp al, 0x26
je 0x10096c05
cmp al, 0xc6
je 0x10096c05
cmp al, 0x5e
je 0x10096c05
cmp al, 0x7c
je 0x10096c05
mov ecx, dword [esp + 0x24]
movzx edx, cx
mov byte [esp + edx + 0x1428], al
mov eax, dword [esp + 0x1c]
inc ecx
inc eax
mov dword [esp + 0x1c], eax
jmp 0x10097033
mov esi, dword [esp + 0x1c]
movzx eax, al
inc esi
sub eax, 0x26
cmp eax, 0xa0
mov dword [esp + 0x1c], esi
ja case.0x10096c26.39
movzx eax, byte [eax + 0x1009741c]
jmp dword [eax*4 + 0x100973fc]
mov edx, dword [0x100ba5f4]
mov eax, dword [ebx + 4]
lea ecx, [edx + edx*4]
mov eax, dword [eax + ecx*4 + 0x10]
add eax, dword [ebx + 0x20]
mov cl, byte [eax]
xor esi, esi
test cl, cl
je 0x10096c70
mov edx, dword [esp + 0x24]
lea esp, [esp]
movzx edi, dx
inc edx
inc esi
mov byte [esp + edi + 0x1428], cl
movzx ecx, si
mov cl, byte [ecx + eax]
test cl, cl
jne 0x10096c50
mov dword [esp + 0x24], edx
mov edx, dword [0x100ba5f4]
mov dword [0x100ba3d0], edx
jmp case.0x10096c26.39
mov edx, dword [0x100ba3b8]
mov ecx, dword [ebx + 4]
lea eax, [edx + edx*4]
mov eax, dword [ecx + eax*4 + 0x10]
add eax, dword [ebx + 0x20]
mov cl, byte [eax]
xor esi, esi
test cl, cl
je 0x10096cc0
mov edx, dword [esp + 0x24]
lea ebx, [ebx]
movzx edi, dx
inc edx
inc esi
mov byte [esp + edi + 0x1428], cl
movzx ecx, si
mov cl, byte [ecx + eax]
test cl, cl
jne 0x10096ca0
mov dword [esp + 0x24], edx
mov edx, dword [0x100ba3b8]
mov dword [0x100ba3d0], edx
jmp case.0x10096c26.39
mov edx, dword [0x100ba3b0]
mov ecx, dword [ebx + 4]
lea eax, [edx + edx*4]
mov eax, dword [ecx + eax*4 + 0x10]
add eax, dword [ebx + 0x20]
mov cl, byte [eax]
xor esi, esi
test cl, cl
je 0x10096d10
mov edx, dword [esp + 0x24]
lea ebx, [ebx]
movzx edi, dx
inc edx
inc esi
mov byte [esp + edi + 0x1428], cl
movzx ecx, si
mov cl, byte [ecx + eax]
test cl, cl
jne 0x10096cf0
mov dword [esp + 0x24], edx
mov edx, dword [0x100ba3b0]
mov dword [0x100ba3d0], edx
jmp case.0x10096c26.39
mov edx, dword [0x100ba5f0]
mov ecx, dword [ebx + 4]
lea eax, [edx + edx*4]
mov eax, dword [ecx + eax*4 + 0x10]
add eax, dword [ebx + 0x20]
mov cl, byte [eax]
xor esi, esi
test cl, cl
je 0x10096d60
mov edx, dword [esp + 0x24]
lea ebx, [ebx]
movzx edi, dx
inc edx
inc esi
mov byte [esp + edi + 0x1428], cl
movzx ecx, si
mov cl, byte [ecx + eax]
test cl, cl
jne 0x10096d40
mov dword [esp + 0x24], edx
mov edx, dword [0x100ba5f0]
mov dword [0x100ba3d0], edx
jmp case.0x10096c26.39
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
movzx edx, cx
mov al, byte [edx + eax]
xor esi, esi
cmp al, 0xa3
jne 0x10096d89
inc ecx
mov dword [esp + 0x1c], ecx
jmp 0x10096e04
cmp al, 0x2d
jne 0x10096d99
inc ecx
mov byte [esp + 0x13], 1
mov dword [esp + 0x1c], ecx
jmp 0x10096d9e
mov byte [esp + 0x13], 0
movzx edi, cx
mov ecx, dword [esp + 0x30]
movzx edx, byte [edi + ecx]
push edx
call fcn.1009d5a2
add esp, 4
test eax, eax
je 0x10096dfb
jmp 0x10096dc0
mov ecx, dword [esp + 0x30]
movzx eax, byte [edi + ecx]
lea edx, [esi + esi*4]
lea esi, [eax + edx*2 - 0x30]
mov eax, dword [esp + 0x1c]
inc eax
movzx edi, ax
mov dword [esp + 0x1c], eax
movzx eax, byte [edi + ecx]
push eax
call fcn.1009d5a2
add esp, 4
test eax, eax
jne 0x10096dc0
test esi, esi
je 0x10096dfb
mov al, byte [esp + 0x13]
test al, al
jne 0x10096dfb
dec esi
jmp 0x10096e04
cmp byte [esp + 0x13], 1
jne 0x10096e04
neg esi
mov ecx, dword [0x100ba434]
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 0x20]
add esi, ecx
lea edx, [esi + esi*4]
mov eax, dword [eax + edx*4 + 0x10]
mov cl, byte [eax + edi]
add eax, edi
xor edi, edi
test cl, cl
je 0x10096e50
jmp 0x10096e30
movzx edx, word [esp + 0x24]
mov byte [esp + edx + 0x1428], cl
mov edx, dword [esp + 0x24]
inc edx
inc edi
movzx ecx, di
mov cl, byte [ecx + eax]
test cl, cl
mov dword [esp + 0x24], edx
jne 0x10096e30
mov dword [0x100ba3d0], esi
jmp case.0x10096c26.39
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
movzx edx, cx
mov al, byte [edx + eax]
xor esi, esi
cmp al, 0xa3
jne 0x10096e79
inc ecx
mov dword [esp + 0x1c], ecx
jmp 0x10096ef4
cmp al, 0x2d
jne 0x10096e89
inc ecx
mov byte [esp + 0x13], 1
mov dword [esp + 0x1c], ecx
jmp 0x10096e8e
mov byte [esp + 0x13], 0
movzx edi, cx
mov ecx, dword [esp + 0x30]
movzx edx, byte [edi + ecx]
push edx
call fcn.1009d5a2
add esp, 4
test eax, eax
je 0x10096eeb
jmp 0x10096eb0
mov ecx, dword [esp + 0x30]
movzx eax, byte [edi + ecx]
lea edx, [esi + esi*4]
lea esi, [eax + edx*2 - 0x30]
mov eax, dword [esp + 0x1c]
inc eax
movzx edi, ax
mov dword [esp + 0x1c], eax
movzx eax, byte [edi + ecx]
push eax
call fcn.1009d5a2
add esp, 4
test eax, eax
jne 0x10096eb0
test esi, esi
je 0x10096eeb
mov al, byte [esp + 0x13]
test al, al
jne 0x10096eeb
dec esi
jmp 0x10096ef4
cmp byte [esp + 0x13], 1
jne 0x10096ef4
neg esi
mov ecx, dword [0x100ba3b0]
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 0x20]
add esi, ecx
lea edx, [esi + esi*4]
mov eax, dword [eax + edx*4 + 0x10]
mov cl, byte [eax + edi]
add eax, edi
xor edi, edi
test cl, cl
je 0x10096f40
jmp 0x10096f20
movzx edx, word [esp + 0x24]
mov byte [esp + edx + 0x1428], cl
mov edx, dword [esp + 0x24]
inc edx
inc edi
movzx ecx, di
mov cl, byte [ecx + eax]
test cl, cl
mov dword [esp + 0x24], edx
jne 0x10096f20
mov dword [0x100ba3d0], esi
jmp case.0x10096c26.39
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
movzx edx, cx
mov al, byte [edx + eax]
xor esi, esi
cmp al, 0xa3
jne 0x10096f66
inc ecx
mov dword [esp + 0x1c], ecx
jmp 0x10096fd7
cmp al, 0x2d
jne 0x10096f76
inc ecx
mov byte [esp + 0x13], 1
mov dword [esp + 0x1c], ecx
jmp 0x10096f7b
mov byte [esp + 0x13], 0
movzx edi, cx
mov ecx, dword [esp + 0x30]
movzx edx, byte [edi + ecx]
push edx
call fcn.1009d5a2
add esp, 4
test eax, eax
je 0x10096fce
mov eax, dword [esp + 0x30]
movzx ecx, byte [edi + eax]
lea edx, [esi + esi*4]
lea esi, [ecx + edx*2 - 0x30]
mov ecx, dword [esp + 0x1c]
inc ecx
movzx edi, cx
movzx eax, byte [edi + eax]
push eax
mov dword [esp + 0x20], ecx
call fcn.1009d5a2
add esp, 4
test eax, eax
jne 0x10096f93
test esi, esi
je 0x10096fce
mov al, byte [esp + 0x13]
test al, al
jne 0x10096fce
dec esi
jmp 0x10096fd7
cmp byte [esp + 0x13], 1
jne 0x10096fd7
neg esi
mov ecx, dword [0x100ba3d8]
lea eax, [esi + ecx]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov ecx, dword [eax + edx*4 + 8]
mov edx, dword [ebx + 0x14]
movzx eax, word [esp + 0x24]
lea edi, [ecx + edx + 0xb]
push edi
lea ecx, [esp + 0x142c]
push 0xffffffffffffffff
push ecx
mov byte [esp + eax + 0x1434], 0
call fcn.10083990
mov eax, edi
add esp, 0xc
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10097016
mov ecx, dword [esp + 0x24]
mov edx, dword [0x100ba3d8]
sub eax, edi
add ecx, eax
add esi, edx
mov dword [0x100ba3d0], esi
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x30]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10097040
movzx ecx, word [esp + 0x1c]
sub eax, edx
cmp ecx, eax
jb 0x10096bc0
movzx edx, word [esp + 0x24]
mov byte [esp + edx + 0x1428], 0
jmp 0x1009706d
mov byte [esp + 0x1428], 0
mov eax, dword [0x100ba5e4]
xor ebx, ebx
cmp eax, ebx
jne 0x10097082
mov dword [0x100ba5e4], 7
mov edi, dword [esp + 0x90]
cmp edi, 0xffffffff
jne 0x100970a3
lea eax, [esp + 0x728]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10097098
sub eax, edx
mov edi, eax
lea eax, [esp + 0x1428]
push str._premere_il_tasto
push eax
call fcn.1009d690
add esp, 8
test eax, eax
je 0x100970f9
lea ecx, [esp + 0x1428]
push str._premere_il_tasto_____per_la_spiegazione_del_problema_
push ecx
call fcn.1009d690
mov ecx, str._premere_il_tasto_____per_la_spiegazione_del_problema_
add esp, 8
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x100970e0
push 0x100a6245
sub ecx, esi
push ecx
push ebx
push eax
call fcn.10084540
add esp, 0x10
mov al, byte [0x100ba5fa]
test al, al
je 0x1009713c
lea edx, [esp + 0x1428]
push str.consiglia
push edx
call fcn.1009d690
add esp, 8
test eax, eax
jne 0x10097219
lea eax, [esp + 0x1428]
push str.preferibile
push eax
call fcn.1009d690
add esp, 8
test eax, eax
jne 0x10097219
mov ecx, dword [0x100ba5e4]
movzx eax, byte [0x100ba3c0]
push ecx
movzx ecx, word [0x100ba5f8]
lea edx, [esp + 0x142c]
push edx
mov edx, dword [esp + 0x20]
push eax
push ecx
movzx ecx, word [esp + 0x58]
push ebx
push edx
lea eax, [esp + 0x740]
push eax
push edi
push ecx
push 0x100b9c80
call fcn.1008efa0
mov ecx, dword [0x100b9c84]
lea eax, [ecx - 1]
add esp, 0x28
cmp eax, ecx
jge 0x10097219
push eax
push 0x100b9d40
push 0x100b9c80
call fcn.1008ed90
add esp, 0xc
test eax, eax
jne 0x1009720c
mov edx, dword [0x100b9c84]
dec edx
push edx
push 0x100b9cc0
push 0x100b9c80
call fcn.1008f110
add esp, 0xc
test eax, eax
je 0x100971f3
mov eax, dword [0x100b9c84]
mov ecx, dword [0x100b9c80]
lea eax, [eax + eax*4]
push 0xffffffffffffffff
push 0x100b9c80
mov dword [ecx + eax*8 - 4], 1
call fcn.1008ee40
add esp, 8
mov dword [0x100ba5e4], ebx
jmp 0x10097285
mov edx, dword [0x100b9c84]
dec edx
push edx
push 0x100b9c80
call fcn.1008edf0
add esp, 8
test eax, eax
jne 0x10097219
push 0x100b9c80
call fcn.1008f0e0
add esp, 4
mov dword [0x100ba5e4], ebx
jmp 0x10097285
mov edi, dword [0x100b9d24]
test edi, edi
jne 0x10097236
mov edi, 0x100b9d00
mov dword [0x100b9d24], edi
lea eax, [esp + 0x728]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10097240
mov ecx, dword [0x100ba5e4]
push ecx
movzx ecx, byte [0x100ba3c0]
sub eax, edx
lea edx, [esp + 0x142c]
push edx
movzx edx, word [0x100ba5f8]
push ecx
push edx
movzx edx, word [esp + 0x58]
push 0
push esi
lea ecx, [esp + 0x740]
push ecx
push eax
push edx
push edi
call fcn.1008efa0
add esp, 0x28
xor ebx, ebx
mov eax, dword [esp + 0x14]
push eax
mov dword [0x100ba3b8], ebx
mov dword [0x100ba5f4], ebx
mov dword [0x100ba3b0], ebx
mov dword [0x100ba3d8], ebx
mov dword [0x100ba434], ebx
mov dword [0x100ba3d0], ebx
call fcn.10083e90
mov eax, dword [esp + 0x1c]
add esp, 4
cmp eax, 0x100b9fc0
je 0x100972ca
push eax
call fcn.10083e90
add esp, 4
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x100972db
push eax
call fcn.10083e90
add esp, 4
mov ecx, dword [esp + 0x275c]
call fcn.1009d15f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret