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

Disassembly:
sub esp, 0x3c8
mov eax, dword [esp + 0x3cc]
mov edx, dword [eax + 0x24]
mov ecx, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
push ebx
push ebp
mov ebp, dword [esp + 0x3dc]
imul ebp, ebp, 0x4c
push esi
push edi
mov edi, dword [esp + 0x3e0]
mov ebx, dword [ebp + edi + 0x24]
add ebp, edi
xor edi, edi
mov dword [esp + 0x10], eax
mov eax, dword [ecx]
mov dword [esp + 0x5c], edx
mov edx, dword [edx]
mov dword [esp + 0x58], eax
shl ebx, 5
add ebx, eax
mov eax, 0xffffffff
mov dword [esp + 0x54], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x64], eax
mov eax, 0x40
lea edx, [esp + 0x1d8]
mov dword [esp + 0x24], eax
mov word [esp + 0x2c], ax
mov dword [esp + 0x20], edx
mov dword [esp + 0x70], eax
mov word [esp + 0x78], ax
mov dword [esp + 0x9c], eax
lea edx, [esp + 0xd8]
lea eax, [esp + 0x2d8]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x3c], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x7c], edi
mov dword [esp + 0x94], edi
mov dword [esp + 0xbc], edi
mov dword [esp + 0xc4], edi
mov dword [esp + 0x8c], edi
mov dword [esp + 0xa8], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x6c], edx
mov dword [esp + 0xa0], edi
mov dword [esp + 0x98], eax
je 0x1001c6d7
cmp dword [ebx + 4], edi
mov dword [esp + 0x34], edi
jle 0x1001c6d7
lea esp, [esp]
mov eax, dword [ebx]
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x54]
add eax, edi
lea ecx, [eax + eax*2]
shl ecx, 4
lea eax, [ecx + edx]
mov cl, byte [eax]
cmp cl, 8
je 0x1001c4fa
cmp cl, 5
jne 0x1001c6bd
cmp cl, 8
jne 0x1001c4ff
mov eax, dword [eax + 0x1c]
jmp 0x1001c534
mov ecx, dword [eax + 0x28]
add ecx, 0xb
mov eax, ecx
lea esi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x1001c510
sub eax, esi
lea esi, [eax + ecx + 1]
movzx eax, byte [esi]
push eax
call fcn.1009d4ef
add esp, 4
test eax, eax
mov eax, esi
jne 0x1001c534
mov eax, 0x100a6245
mov edi, 0x100a6824
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x1001c6ad
mov edi, 0x100a6390
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x1001c6ad
mov edi, str.glielo
mov esi, eax
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x1001c6ad
mov edi, 0x100a7440
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x1001c6ad
mov edi, str.gliela
mov esi, eax
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x1001c6ad
mov edi, 0x100a623c
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x1001c648
mov edi, 0x100a7784
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x1001c648
mov edi, 0x100a6238
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x1001c648
mov edi, 0x100a7780
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x1001c648
mov edi, 0x100a7774
mov esi, eax
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x1001c648
mov edi, 0x100a777c
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x1001c648
mov edi, 0x100a7778
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x1001c648
mov edi, 0x100a7454
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x1001c648
mov edi, 0x100a6818
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x1001c6bd
mov edi, 0x100a7454
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x1001c69c
mov edx, dword [esp + 0x34]
mov esi, dword [ebx + 4]
lea ecx, [edx + 1]
cmp ecx, esi
jge 0x1001c69c
mov ecx, dword [ebx]
add ecx, edx
lea edx, [ecx + ecx*2]
mov ecx, dword [esp + 0x54]
shl edx, 4
add ecx, edx
cmp byte [ecx + 0x30], 8
jne 0x1001c69c
mov esi, dword [ecx + 0x4c]
mov edi, 0x100a745c
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x1001c69c
mov dword [esp + 0xbc], 1
mov ecx, dword [ebx + 0x10]
test ch, 1
je 0x1001c6bd
movzx eax, byte [eax]
mov dword [esp + 0x7c], eax
jmp 0x1001c6bd
mov eax, dword [ebx + 0x10]
test ah, 1
je 0x1001c6bd
mov dword [esp + 0x3c], 1
mov eax, dword [esp + 0x34]
mov ecx, dword [ebx + 4]
inc eax
cmp eax, ecx
mov dword [esp + 0x34], eax
jl 0x1001c4d0
mov ecx, dword [esp + 0x1c]
xor edi, edi
mov esi, dword [ebp + 0x24]
cmp esi, edi
je 0x1001c6fc
mov eax, dword [ecx]
mov edx, esi
shl edx, 5
mov ecx, dword [eax + edx - 0x14]
add eax, edx
cmp ecx, 5
jne 0x1001c6fc
mov ecx, dword [eax - 0x10]
test ch, 1
jne 0x1001d15e
lea eax, [esi - 1]
cmp eax, edi
jl 0x1001c7cb
mov edx, dword [esp + 0x58]
mov ebx, dword [ebp + 0x1c]
mov ecx, eax
shl ecx, 5
lea edx, [ecx + edx + 0xc]
cmp eax, ebx
jl 0x1001c7cb
mov ecx, dword [edx]
cmp ecx, 0xb
je 0x1001c736
cmp ecx, 2
je 0x1001c736
cmp ecx, 3
je 0x1001c736
cmp word [edx + 8], di
je 0x1001c743
dec eax
sub edx, 0x20
cmp eax, edi
jge 0x1001c717
jmp 0x1001c7cb
mov edx, dword [esp + 0x58]
mov ecx, eax
shl ecx, 5
add ecx, edx
cmp dword [ecx + 0xc], 1
jne 0x1001c7cb
cmp eax, edi
je 0x1001c763
cmp dword [ecx - 0x14], edi
jne 0x1001c763
cmp byte [ecx - 0x10], 0x2c
je 0x1001c786
cmp eax, 1
jle 0x1001c7cb
cmp dword [ecx - 0x34], edi
jne 0x1001c7cb
cmp byte [ecx - 0x30], 0x2c
jne 0x1001c7cb
mov edx, dword [ecx - 0x14]
cmp edx, 0xb
je 0x1001c786
cmp edx, 5
je 0x1001c786
cmp word [ecx - 0xc], di
je 0x1001c7cb
mov edx, dword [ebp + 8]
cmp edx, 0x36
jne 0x1001c794
test byte [ecx + 0x1c], 4
jne 0x1001c79f
cmp edx, 0x33
jne 0x1001c7cb
test byte [ecx + 0x1c], 8
je 0x1001c7cb
lea ecx, [esp + 0xac]
push ecx
lea edx, [esp + 0x24]
push edx
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x1c]
push ecx
push 1
push esi
push eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x74]
push edx
push eax
call fcn.10019ca0
add esp, 0x20
cmp dword [esp + 0x14], 0xffffffff
jne 0x1001d15e
mov ebx, dword [ebp + 0x1c]
test ebx, ebx
jne 0x1001c84c
mov ecx, dword [esp + 0x58]
cmp dword [ecx + 0xc], 1
jne 0x1001c84c
mov eax, dword [ecx + 0x2c]
test eax, eax
jne 0x1001c84c
cmp dword [ecx + 0x30], 0x2d
jne 0x1001c84c
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 8]
cmp eax, 7
mov edx, 2
jle 0x1001c80c
mov esi, 7
jmp 0x1001c813
mov esi, eax
cmp esi, 2
jle 0x1001c845
add ecx, 0x4c
mov eax, dword [ecx]
cmp eax, 8
je 0x1001c840
cmp eax, 9
je 0x1001c840
cmp eax, 4
je 0x1001c840
test eax, eax
jne 0x1001c831
cmp dword [ecx + 0x24], 0x2d
je 0x1001c850
inc edx
add ecx, 0x20
cmp edx, esi
jl 0x1001c816
mov ebx, 2
jmp 0x1001c850
cmp dword [ebp + 0x24], edx
jne 0x1001c850
mov ebx, 2
jmp 0x1001c850
mov edi, dword [esp + 0x1c]
mov ecx, dword [edi]
mov edx, ebx
shl edx, 5
mov eax, dword [edx + ecx + 0xc]
mov dword [esp + 0x44], edx
add edx, ecx
cmp eax, 4
jne 0x1001cad2
mov eax, dword [edx + 4]
xor ecx, ecx
test eax, eax
mov dword [esp + 0x40], eax
jle 0x1001c9eb
mov eax, dword [edx]
mov edi, dword [0x100bbe1c]
mov esi, dword [esp + 0x54]
mov dword [esp + 0xac], eax
mov dword [esp + 0x34], eax
jmp 0x1001c8a0
mov eax, dword [esp + 0xac]
jmp 0x1001c8a0
cmp dword [esp + 0x34], eax
jle 0x1001c8bc
mov eax, dword [edx]
mov ebp, dword [0x100bbc6c]
add eax, ecx
lea eax, [eax + eax*2]
shl eax, 4
cmp dword [eax + esi + 4], ebp
je 0x1001c90d
test ecx, ecx
je 0x1001c8f6
mov eax, dword [edx]
add eax, ecx
lea ebp, [eax - 1]
cmp ebp, eax
jge 0x1001c8f6
mov eax, dword [edx]
add eax, ecx
lea eax, [eax + eax*2]
shl eax, 4
mov ebp, dword [eax + esi - 0x2c]
add eax, esi
cmp ebp, edi
jne 0x1001c8f6
mov eax, dword [eax + 4]
cmp eax, dword [0x100bbd20]
je 0x1001c970
cmp eax, dword [0x100bbe44]
je 0x1001c970
mov ebp, dword [esp + 0x34]
mov eax, dword [esp + 0x40]
inc ecx
inc ebp
cmp ecx, eax
mov dword [esp + 0x34], ebp
jl 0x1001c894
jmp 0x1001c9eb
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
inc eax
cmp eax, ecx
mov dword [esp + 0x14], 8
mov dword [esp + 0x60], ebx
jl 0x1001c963
mov esi, dword [esp + 0x20]
mov edx, ecx
cmp eax, edx
jl 0x1001c93f
movzx ecx, word [esp + 0x2c]
add edx, ecx
cmp eax, edx
jge 0x1001c935
mov dword [esp + 0x24], edx
lea ecx, [edx*4]
push ecx
push esi
call fcn.10083ee0
mov edx, dword [esp + 0x2c]
mov esi, eax
mov eax, dword [esp + 0x30]
add esp, 8
inc eax
cmp eax, edx
mov dword [esp + 0x20], esi
jge 0x1001c930
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
mov dword [edx + eax*4], ebx
jmp 0x1001c9dc
mov eax, dword [edx]
add eax, ecx
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x28]
shl ecx, 4
movzx edx, byte [ecx + esi + 1]
mov ecx, dword [esp + 0x24]
inc eax
cmp eax, ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x60], ebx
jl 0x1001c9d1
mov esi, dword [esp + 0x20]
mov edx, ecx
cmp eax, edx
jl 0x1001c9ad
movzx ecx, word [esp + 0x2c]
add edx, ecx
cmp eax, edx
jge 0x1001c9a3
mov dword [esp + 0x24], edx
lea eax, [edx*4]
push eax
push esi
call fcn.10083ee0
mov edx, dword [esp + 0x2c]
mov esi, eax
mov eax, dword [esp + 0x30]
add esp, 8
inc eax
cmp eax, edx
mov dword [esp + 0x20], esi
jge 0x1001c99e
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov dword [ecx + edx*4], ebx
inc dword [esp + 0x28]
cmp dword [esp + 0x14], 0xffffffff
jne 0x1001cac9
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
mov eax, dword [esp + 0x44]
mov esi, dword [eax + edx + 4]
add eax, edx
xor ecx, ecx
test esi, esi
jle 0x1001cac9
mov edx, dword [eax]
mov edi, dword [esp + 0x54]
lea eax, [edx + edx*2]
shl eax, 4
lea eax, [eax + edi + 4]
cmp byte [eax - 4], 1
jne 0x1001ca26
mov ebp, dword [eax + 0x30]
cmp ebp, dword [0x100bbe98]
je 0x1001ca43
mov ebp, dword [eax]
cmp ebp, dword [0x100bbed0]
jne 0x1001ca36
cmp byte [eax + 0x2c], 2
je 0x1001ca57
inc ecx
add eax, 0x30
cmp ecx, esi
jl 0x1001ca15
jmp 0x1001cac9
lea eax, [edx + ecx]
lea ecx, [eax + eax*2]
shl ecx, 4
movzx edx, byte [ecx + edi + 1]
mov dword [esp + 0x14], edx
jmp 0x1001cac9
lea eax, [edx + ecx]
lea eax, [eax + eax*2]
shl eax, 4
movzx ecx, byte [eax + edi + 1]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x24]
inc eax
cmp eax, ecx
mov dword [esp + 0x60], ebx
jl 0x1001caba
mov esi, dword [esp + 0x20]
mov edx, ecx
cmp eax, edx
jl 0x1001ca9a
movzx ecx, word [esp + 0x2c]
lea esp, [esp]
add edx, ecx
cmp eax, edx
jge 0x1001ca90
mov dword [esp + 0x24], edx
shl edx, 2
push edx
push esi
call fcn.10083ee0
mov edx, dword [esp + 0x2c]
mov esi, eax
mov eax, dword [esp + 0x30]
add esp, 8
inc eax
cmp eax, edx
mov dword [esp + 0x20], esi
jge 0x1001ca84
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x28]
mov ebp, dword [esp + 0x18]
inc ebx
mov edi, dword [esp + 0x1c]
mov eax, dword [edi]
mov edx, ebx
shl edx, 5
mov ecx, dword [eax + edx + 0xc]
add eax, edx
cmp ecx, 5
jne 0x1001cb1a
cmp dword [eax + 4], 2
jne 0x1001cb19
mov eax, dword [eax]
mov edx, dword [esp + 0x54]
lea ecx, [eax + eax*2]
push 0xe
shl ecx, 4
mov eax, dword [ecx + edx + 0x24]
push str.secondo_quanto
push eax
call fcn.10040980
add esp, 0xc
test eax, eax
jne 0x1001cb19
mov dword [esp + 0x8c], 1
inc ebx
mov edx, dword [edi + 8]
cmp ebx, edx
jge 0x1001cc2a
lea ecx, [ebx + 1]
mov edi, ebx
mov dword [esp + 0x50], ecx
lea eax, [ebx + 3]
shl edi, 5
lea ecx, [ebx + 2]
mov dword [esp + 0x34], eax
lea eax, [edi + 0x20]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x44], eax
lea eax, [edi + ecx + 0x30]
mov dword [esp + 0x40], eax
mov esi, dword [ebp + 0x24]
cmp ebx, esi
jge 0x1001cc2a
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [eax + edi + 0xc]
add eax, edi
cmp ecx, 0xb
je 0x1001ce19
cmp ecx, 3
je 0x1001ce19
test ecx, ecx
jne 0x1001cddc
mov ecx, dword [esp + 0x4c]
cmp ecx, edx
jge 0x1001cd76
cmp ecx, esi
jge 0x1001cd76
mov ecx, dword [eax + 0x4c]
test ecx, ecx
jne 0x1001cd76
mov ecx, dword [eax + 0x10]
cmp ecx, dword [eax + 0x50]
jne 0x1001cd76
mov ecx, dword [eax + 0x2c]
cmp ecx, 5
je 0x1001cd4b
cmp ecx, 2
je 0x1001cd4b
cmp ecx, 0xb
je 0x1001cd4b
mov edx, 3
cmp ecx, edx
je 0x1001cd50
cmp word [eax + 0x34], 0
jne 0x1001cd50
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x34]
inc ebx
inc edx
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0x50]
inc ecx
inc eax
mov dword [esp + 0x50], eax
mov eax, 0x20
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
add ecx, eax
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 8]
add esi, eax
add edi, eax
cmp ebx, edx
mov dword [esp + 0x44], esi
jl 0x1001cb52
mov eax, dword [ebp + 0x24]
cmp ebx, eax
mov esi, dword [esp + 0x1c]
je 0x1001d162
lea edx, [esp + 0xac]
push edx
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x1c]
push edx
push 1
push eax
mov eax, dword [esp + 0x70]
push ebx
push esi
mov edi, ebx
push eax
mov dword [esp + 0xcc], 0
mov dword [esp + 0x80], edi
call fcn.10019ca0
mov cl, byte [esp + 0xcc]
add esp, 0x20
test cl, 1
jne 0x1001cc98
mov ecx, dword [ebp + 0x24]
dec ecx
cmp eax, ecx
jne 0x1001cc98
mov ecx, dword [esi]
mov edx, eax
shl edx, 5
mov ebx, dword [edx + ecx + 0xc]
test ebx, ebx
je 0x1001d0de
mov edx, dword [esp + 0x1c]
mov esi, dword [edx]
mov ecx, eax
shl ecx, 5
mov edx, dword [ecx + esi + 0xc]
add ecx, esi
test edx, edx
jne 0x1001d15e
cmp dword [ecx + 0x2c], 1
jne 0x1001d15e
mov edx, dword [ebp + 0x24]
lea ebx, [eax + 1]
mov eax, ebx
cmp eax, edx
jge 0x1001ccfb
cmp eax, edx
jge 0x1001cce4
mov ecx, eax
shl ecx, 5
lea ecx, [ecx + esi + 0xc]
cmp dword [ecx], 0
je 0x1001cce4
mov edi, dword [ebp + 0x24]
inc eax
add ecx, 0x20
cmp eax, edi
jl 0x1001ccd4
mov ecx, eax
shl ecx, 5
mov edi, dword [ecx + esi + 0xc]
test edi, edi
jne 0x1001ccf9
mov ecx, dword [ebp + 0x24]
inc eax
cmp eax, ecx
jl 0x1001ccc7
cmp eax, edx
jne 0x1001cd24
mov edx, eax
shl edx, 5
mov ecx, dword [edx + esi - 0x14]
add edx, esi
test ecx, ecx
je 0x1001d15e
cmp ecx, 0xb
je 0x1001d15e
cmp word [edx - 0xc], 0
jne 0x1001d15e
shl eax, 5
mov ecx, dword [eax + esi + 0xc]
test ecx, ecx
je 0x1001d15e
or eax, 0xffffffff
mov dword [esp + 0x60], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], 0
jmp 0x1001cace
mov edx, 3
mov esi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x50]
add esi, edx
add ebx, edx
add ecx, edx
add eax, edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], esi
mov eax, 0x60
jmp 0x1001cc01
mov ecx, dword [esp + 0x34]
cmp ecx, edx
jge 0x1001cdcd
cmp ecx, esi
jge 0x1001cdcd
mov edx, dword [eax + 0x6c]
test edx, edx
jne 0x1001cdcd
mov edx, dword [eax + 0x10]
cmp edx, dword [eax + 0x70]
jne 0x1001cdcd
mov esi, dword [eax + 0x2c]
mov edx, 3
cmp esi, edx
jne 0x1001cdcd
cmp dword [eax + 0x4c], edx
jne 0x1001cdcd
mov esi, dword [esp + 0x4c]
mov eax, 4
add ecx, eax
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x50]
add esi, eax
add ebx, eax
add ecx, eax
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], ecx
mov eax, 0x80
jmp 0x1001cc05
mov esi, dword [esp + 0x4c]
inc ebx
inc esi
mov dword [esp + 0x4c], esi
jmp 0x1001cbf2
cmp ecx, 1
jne 0x1001cdec
cmp word [eax + 0x14], 4
je 0x1001cbe4
cmp ecx, 2
je 0x1001cbe4
cmp ecx, 5
jne 0x1001cc2a
mov ecx, dword [eax + 0x10]
test ch, 1
je 0x1001cc2a
cmp dword [eax + 0x2c], 1
je 0x1001cc2a
jmp 0x1001cbe4
mov edx, dword [esp + 0x38]
test dword [edx + 0x10], 0x100
je 0x1001ced7
cmp ecx, 3
jne 0x1001ced7
mov ecx, dword [eax + 0x10]
test ch, 1
je 0x1001ced7
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x1c]
push ebx
push eax
call fcn.1001ad00
add esp, 8
test eax, eax
je 0x1001ced7
mov esi, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
inc esi
cmp esi, eax
mov dword [esp + 0x84], ebx
jl 0x1001cebf
mov eax, dword [esp + 0x9c]
cmp esi, eax
jl 0x1001ce8e
mov edi, edi
add eax, 0x40
cmp esi, eax
jge 0x1001ce80
mov dword [esp + 0x9c], eax
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
lea edx, [ecx*4]
push edx
push eax
call fcn.10083ee0
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xa4]
add esp, 8
cmp esi, eax
jge 0x1001ce73
mov edx, dword [esp + 0xa0]
mov ecx, dword [esp + 0x98]
mov dword [ecx + edx*4], ebx
mov dword [esp + 0xa0], esi
mov eax, dword [esp + 0x1c]
mov esi, dword [eax]
cmp dword [edi + esi + 0xc], 3
jne 0x1001d00c
mov eax, dword [esp + 0xc4]
test eax, eax
jne 0x1001d00c
mov eax, dword [esp + 0x50]
cmp eax, dword [ebp + 0x24]
jge 0x1001cf24
mov ecx, dword [esp + 0x44]
lea edx, [ecx + esi + 0xc]
mov ecx, dword [edx]
cmp ecx, 3
je 0x1001cf19
cmp ecx, 0xb
je 0x1001cf19
cmp ecx, 2
jne 0x1001cf24
mov ecx, dword [ebp + 0x24]
inc eax
add edx, 0x20
cmp eax, ecx
jl 0x1001cf08
mov ecx, eax
shl ecx, 5
mov edx, dword [ecx + esi + 0xc]
test edx, edx
mov dword [esp + 0xac], edx
jne 0x1001cf51
mov edx, dword [esp + 0x58]
cmp dword [ecx + edx + 0x10], 0x2c
jne 0x1001cf4a
cmp dword [ecx + esi + 0x2c], 1
je 0x1001cf72
mov edx, dword [esp + 0xac]
cmp edx, 5
jne 0x1001d00c
mov edx, dword [ecx + esi + 0x10]
test dh, 1
je 0x1001d00c
cmp dword [ecx + esi + 0x2c], 1
jne 0x1001d00c
mov ecx, dword [ebp + 0x24]
add eax, 2
cmp eax, ecx
jge 0x1001cfa1
mov ecx, eax
shl ecx, 5
lea edx, [ecx + esi + 0xc]
mov ecx, dword [edx]
cmp ecx, 3
je 0x1001cf96
cmp ecx, 0xb
je 0x1001cf96
cmp ecx, 2
jne 0x1001cfa1
mov ecx, dword [ebp + 0x24]
inc eax
add edx, 0x20
cmp eax, ecx
jl 0x1001cf85
mov ecx, dword [esp + 0xac]
test ecx, ecx
jne 0x1001cffc
mov edx, eax
shl edx, 5
lea ecx, [edx + esi]
cmp dword [ecx + 0xc], 5
jne 0x1001cffc
mov edx, dword [ecx + 0x10]
test dh, 1
je 0x1001cffc
cmp dword [ecx + 0x2c], 1
jne 0x1001cffc
mov ecx, dword [ebp + 0x24]
add eax, 2
cmp eax, ecx
jge 0x1001cfff
mov ecx, eax
shl ecx, 5
lea edx, [ecx + esi + 0xc]
jmp 0x1001cfe0
mov ecx, dword [edx]
cmp ecx, 3
je 0x1001cff1
cmp ecx, 0xb
je 0x1001cff1
cmp ecx, 2
jne 0x1001cffc
mov ecx, dword [ebp + 0x24]
inc eax
add edx, 0x20
cmp eax, ecx
jl 0x1001cfe0
cmp eax, dword [ebp + 0x24]
jne 0x1001d00c
mov dword [esp + 0xc4], 1
mov eax, dword [edi + esi + 0xc]
mov ecx, 3
cmp eax, ecx
jne 0x1001cbe4
mov eax, dword [edi + esi + 0x10]
test ah, 0x40
je 0x1001cbe4
mov eax, dword [edi + esi + 0x2c]
mov edx, 5
cmp eax, edx
jne 0x1001d06f
test byte [edi + esi + 0x31], 1
je 0x1001d06f
cmp dword [edi + esi + 0x4c], 1
jne 0x1001d06f
mov esi, dword [esp + 0x4c]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x50]
add esi, ecx
add edx, ecx
add ebx, ecx
add eax, ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], esi
mov dword [esp + 0x34], edx
mov eax, 0x60
jmp 0x1001cc05
test eax, eax
jne 0x1001cbe4
mov eax, dword [esp + 0x40]
cmp dword [eax], 0x2c
jne 0x1001cbe4
mov ecx, dword [edi + esi + 0x4c]
mov eax, 1
cmp ecx, eax
jne 0x1001cbe4
cmp dword [edi + esi + 0x6c], edx
jne 0x1001cbe4
mov ecx, dword [edi + esi + 0x70]
test al, ch
je 0x1001cbe4
cmp dword [edi + esi + 0x8c], eax
jne 0x1001cbe4
mov esi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x50]
add esi, edx
add ebx, edx
add ecx, edx
add eax, edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], esi
mov eax, 0xa0
jmp 0x1001cc01
mov eax, dword [ebp + 0x1c]
mov ecx, dword [esi]
mov edx, eax
shl edx, 5
cmp dword [edx + ecx + 0xc], 5
jne 0x1001d119
cmp eax, dword [ebp + 0x24]
jge 0x1001d15e
mov edx, eax
shl edx, 5
lea edx, [edx + ecx + 0xc]
lea ecx, [ecx]
mov ecx, dword [edx]
cmp ecx, 8
je 0x1001d119
cmp ecx, 9
je 0x1001d119
mov ecx, dword [ebp + 0x24]
inc eax
add edx, 0x20
cmp eax, ecx
jl 0x1001d100
jmp 0x1001d162
mov ecx, dword [esp + 0x14]
or edx, 0xffffffff
cmp ecx, edx
je 0x1001d154
test edi, edi
jne 0x1001d154
mov eax, dword [ebp + 8]
cmp eax, 0x34
jl 0x1001d144
cmp eax, 0x36
jg 0x1001d13a
test cl, 4
jne 0x1001d149
cmp eax, 0x34
jl 0x1001d144
cmp eax, 0x36
jle 0x1001d154
test cl, 8
je 0x1001d154
mov dword [esp + 0x94], 1
mov dword [esp + 0x60], edx
mov dword [esp + 0x14], edx
jmp 0x1001d162
mov esi, dword [esp + 0x1c]
mov edi, dword [ebp + 0x24]
mov eax, dword [esi]
inc edi
mov ecx, edi
shl ecx, 5
mov edx, dword [ecx + eax + 0xc]
add ecx, eax
test edx, edx
jne 0x1001d23e
mov ecx, dword [ecx + 0x10]
cmp ecx, 0x2c
jne 0x1001d238
mov ebx, dword [ebp + 0x20]
lea ecx, [edi + 1]
mov edi, ecx
cmp edi, ebx
jge 0x1001d1d5
mov edx, edi
shl edx, 5
lea edx, [edx + eax + 0x10]
lea esp, [esp]
mov esi, dword [edx - 4]
test esi, esi
jne 0x1001d1ac
cmp dword [edx], 0x2c
je 0x1001d1b7
mov esi, dword [ebp + 0x20]
inc edi
add edx, 0x20
cmp edi, esi
jl 0x1001d1a0
cmp edi, ebx
jge 0x1001d1d5
mov edx, edi
shl edx, 5
mov esi, dword [edx + eax + 0xc]
add edx, eax
test esi, esi
jne 0x1001d1d1
cmp dword [edx + 0x10], 0x2c
jne 0x1001d1d1
inc edi
cmp edi, ebx
jl 0x1001d23e
cmp ecx, ebx
jge 0x1001d23e
mov edx, ecx
shl edx, 5
lea edx, [edx + eax + 0xc]
mov esi, dword [edx]
cmp esi, 0xb
je 0x1001d1f5
cmp esi, 1
jne 0x1001d200
cmp word [edx + 8], 0
je 0x1001d200
mov esi, dword [ebp + 0x20]
inc ecx
add edx, 0x20
cmp ecx, esi
jl 0x1001d1e2
cmp ecx, ebx
jge 0x1001d23e
mov edx, dword [esp + 0x38]
mov edx, dword [edx + 0x10]
and edx, 0x180
cmp edx, 0x100
jne 0x1001d23e
shl ecx, 5
mov edx, dword [ecx + eax + 0xc]
add ecx, eax
cmp edx, 1
jne 0x1001d23e
cmp word [ecx + 0x14], 0
jne 0x1001d23e
or dword [esp + 0x94], 2
jmp 0x1001d23e
cmp ecx, 0x22
jne 0x1001d23e
inc edi
mov ecx, edi
shl ecx, 5
mov edx, dword [ecx + eax + 0xc]
add ecx, eax
cmp edx, 5
jne 0x1001d26a
test dword [ecx + 0x10], 0x100
jne 0x1001d7b6
cmp edx, edx
jne 0x1001d26a
mov bl, byte [ecx + 0x10]
test bl, bl
js 0x1001d7b6
test edx, edx
je 0x1001d7b6
cmp edi, dword [ebp + 0x20]
mov dword [esp + 0x34], 0
jge 0x1001d7b6
mov esi, edi
shl esi, 5
mov ecx, dword [esi + eax + 0xc]
cmp ecx, 0xb
je 0x1001d58f
cmp ecx, 3
je 0x1001d58f
test ecx, ecx
jne 0x1001d4c4
mov ecx, dword [esi + eax + 0x10]
cmp ecx, 0x3a
je 0x1001d358
cmp ecx, 0x3b
je 0x1001d358
cmp ecx, 0x28
jne 0x1001d2ef
mov ecx, dword [ebp + 0x20]
inc edi
cmp edi, ecx
jge 0x1001d358
mov edx, edi
shl edx, 5
lea ecx, [edx + eax + 0x10]
mov edx, dword [ecx - 4]
test edx, edx
jne 0x1001d2e2
cmp dword [ecx], 0x29
je 0x1001d34e
mov edx, dword [ebp + 0x20]
inc edi
add ecx, 0x20
cmp edi, edx
jl 0x1001d2d6
jmp 0x1001d358
mov edx, 0x2c
cmp ecx, edx
jne 0x1001d34e
mov ecx, dword [esi + eax + 0x2c]
cmp ecx, 8
je 0x1001d306
cmp ecx, 9
jne 0x1001d324
mov ecx, dword [esi + eax + 0x4c]
test ecx, ecx
jne 0x1001d324
cmp dword [esi + eax + 0x50], edx
jne 0x1001d324
mov ecx, dword [esp + 0x34]
add edi, 3
add ecx, 2
mov dword [esp + 0x34], ecx
jmp 0x1001d34f
cmp word [esi + eax + 0x34], 0
je 0x1001d34a
mov ecx, dword [esi + eax + 0x4c]
test ecx, ecx
jne 0x1001d34a
cmp dword [esi + eax + 0x50], edx
jne 0x1001d34a
mov ecx, dword [esp + 0x34]
add edi, 3
add ecx, 2
mov dword [esp + 0x34], ecx
jmp 0x1001d34f
inc dword [esp + 0x34]
inc edi
cmp edi, dword [ebp + 0x20]
jl 0x1001d283
mov eax, dword [esp + 0xc0]
or ebx, 0xffffffff
cmp eax, ebx
je 0x1001d7b6
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x5c]
push 0
lea edx, [esp + 0x70]
push edx
mov edx, dword [ebp + 0x20]
lea ecx, [esp + 0x38]
push ecx
push 1
push edx
push eax
push esi
push edi
call fcn.10019ca0
mov ecx, dword [esp + 0x34]
add esp, 0x20
cmp ecx, ebx
jne 0x1001d7b6
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + 0x10]
and edx, 0x180
cmp edx, 0x100
jne 0x1001d7b6
cmp eax, dword [ebp + 0x20]
jge 0x1001d7b6
mov edx, dword [esi]
mov ecx, eax
shl ecx, 5
add ecx, edx
cmp dword [ecx + 0xc], 1
jne 0x1001d7b6
cmp word [ecx + 0x14], 0
jne 0x1001d7b6
mov ecx, dword [ebp + 0x18]
test ecx, ecx
jne 0x1001d7b6
cmp dword [ebp + 0x14], 2
je 0x1001d7b6
lea ecx, [esp + 0x88]
push ecx
lea edx, [esp + 0x24]
push edx
mov edx, dword [ebp + 0x24]
lea ecx, [esp + 0x1c]
push ecx
push 1
push edx
push eax
push esi
push edi
call fcn.10019ca0
mov ecx, dword [esp + 0x34]
add esp, 0x20
test ecx, 0x10000
jne 0x1001d446
mov ecx, dword [ebp + 8]
cmp ecx, 0x31
je 0x1001d7b2
cmp ecx, 0x32
je 0x1001d7b2
cmp ecx, 0x34
je 0x1001d7b2
cmp ecx, 0x35
je 0x1001d7b2
test byte [esp + 0x88], 1
jne 0x1001d7b6
mov edx, dword [ebp + 0x24]
lea ecx, [edx - 1]
cmp eax, ecx
jne 0x1001d7b6
mov ecx, dword [esi]
shl eax, 5
mov esi, dword [eax + ecx + 0xc]
test esi, esi
jne 0x1001d7b6
mov eax, dword [ebp + 0x1c]
mov esi, eax
shl esi, 5
cmp dword [esi + ecx + 0xc], 5
jne 0x1001d779
cmp eax, edx
jge 0x1001d7b6
mov edx, eax
shl edx, 5
lea edx, [edx + ecx + 0xc]
jmp 0x1001d4a0
mov ecx, dword [edx]
cmp ecx, 8
je 0x1001d779
cmp ecx, 9
je 0x1001d779
mov ecx, dword [ebp + 0x24]
inc eax
add edx, 0x20
cmp eax, ecx
jl 0x1001d4a0
jmp 0x1001d7b6
cmp ecx, 1
jne 0x1001d566
cmp word [esi + eax + 0x14], 4
je 0x1001d34e
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x1001d4ea
cmp ecx, 1
jle 0x1001d34e
mov edx, dword [esp + 0xc0]
or ecx, 0xffffffff
cmp edx, ecx
jne 0x1001d54d
test edi, edi
je 0x1001d510
cmp dword [esi + eax - 0x14], 5
jne 0x1001d510
mov edx, dword [esi + eax - 0x10]
test dh, 1
jne 0x1001d7b6
cmp dword [esi + eax + 0x2c], 1
jne 0x1001d541
cmp word [esi + eax + 0x34], 0
jne 0x1001d541
cmp dword [esp + 0x60], ecx
je 0x1001d541
cmp dword [esi + eax + 4], 2
jne 0x1001d541
mov esi, dword [esi + eax]
mov edx, dword [esp + 0x54]
inc esi
lea ecx, [esi + esi*2]
shl ecx, 4
cmp byte [ecx + edx], 8
jne 0x1001d541
inc edi
mov dword [esp + 0xc0], edi
jmp 0x1001d34e
cmp dword [esp + 0x88], ecx
jne 0x1001d34e
mov dword [esp + 0x88], edi
jmp 0x1001d34e
cmp ecx, 9
je 0x1001d358
cmp ecx, 8
je 0x1001d358
cmp ecx, 4
je 0x1001d358
cmp ecx, 5
je 0x1001d358
jmp 0x1001d34e
mov edx, dword [esp + 0x38]
mov bl, byte [edx + 0x10]
test bl, bl
jns 0x1001d690
cmp ecx, 3
jne 0x1001d690
mov ecx, dword [esi + eax + 0x10]
test ch, 2
je 0x1001d690
cmp word [esi + eax + 0x14], 0
jne 0x1001d690
cmp dword [esp + 0x68], 0xffffffff
jne 0x1001d690
mov ebx, dword [esi + eax]
mov edx, dword [esp + 0x3dc]
mov eax, 2
push 3
lea ecx, [esp + 0xcc]
mov dword [esp + 0xd0], eax
mov word [esp + 0xd8], ax
push ecx
lea eax, [esp + 0xb4]
push edx
mov dword [esp + 0xd4], eax
mov dword [esp + 0xb8], edi
mov dword [esp + 0xdc], 1
call fcn.1001afe0
add esp, 0xc
test eax, eax
je 0x1001d688
test ebx, ebx
jle 0x1001d642
mov ecx, dword [esp + 0x54]
lea eax, [ebx + ebx*2]
shl eax, 4
add eax, ecx
cmp byte [eax - 0x30], 4
jne 0x1001d642
mov edx, dword [eax - 8]
mov al, byte [edx + 2]
and al, 0x60
cmp al, 0x40
jae 0x1001d690
mov eax, dword [ebp + 0x20]
lea ecx, [edi + 2]
cmp ecx, eax
mov dword [esp + 0x68], edi
jge 0x1001d690
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
cmp dword [esi + eax + 0x2c], 3
jne 0x1001d690
mov dl, byte [esi + eax + 0x30]
test dl, dl
jns 0x1001d690
cmp dword [esi + eax + 0x4c], 1
jne 0x1001d690
mov edx, ecx
shl edx, 5
mov eax, dword [edx + eax]
mov edx, dword [esp + 0x54]
lea eax, [eax + eax*2]
shl eax, 4
cmp byte [eax + edx], 0x23
jne 0x1001d690
mov edi, ecx
jmp 0x1001d690
mov dword [esp + 0x68], 0xfffffffe
mov eax, dword [ebp + 0x38]
test eax, eax
je 0x1001d72b
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov eax, edi
shl eax, 5
mov ecx, dword [eax + edx + 0xc]
add eax, edx
cmp ecx, 3
jne 0x1001d72b
mov ecx, dword [eax + 0x10]
test ch, 1
je 0x1001d72b
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x1c]
push edi
push eax
call fcn.1001ad00
add esp, 8
test eax, eax
je 0x1001d72b
mov esi, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
inc esi
cmp esi, ebx
mov dword [esp + 0x84], edi
jl 0x1001d71a
add ebx, 0x40
cmp esi, ebx
jge 0x1001d6f0
lea ecx, [ebx*4]
push ecx
push eax
call fcn.10083ee0
add esp, 8
cmp esi, ebx
jge 0x1001d6f0
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ebx
mov edx, dword [esp + 0xa0]
mov dword [eax + edx*4], edi
mov dword [esp + 0xa0], esi
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov ecx, edi
shl ecx, 5
mov edx, dword [ecx + eax + 0xc]
add ecx, eax
cmp edx, 3
jne 0x1001d34e
mov edx, dword [ecx + 0x10]
test dh, 0x40
je 0x1001d34e
cmp dword [ecx + 0x2c], 5
jne 0x1001d34e
mov edx, dword [ecx + 0x30]
test dh, 1
je 0x1001d34e
cmp dword [ecx + 0x4c], 1
jne 0x1001d34e
add edi, 3
jmp 0x1001d34f
mov ecx, dword [esp + 0x14]
cmp ecx, ebx
je 0x1001d7b2
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x1001d7b2
mov eax, dword [ebp + 8]
cmp eax, 0x34
jl 0x1001d7a5
cmp eax, 0x36
jg 0x1001d79b
test cl, 4
jne 0x1001d7aa
cmp eax, 0x34
jl 0x1001d7a5
cmp eax, 0x36
jle 0x1001d7b2
test cl, 8
je 0x1001d7b2
or dword [esp + 0x94], 1
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x3ec]
test eax, eax
je 0x1001da2d
mov edx, dword [ebp + 8]
cmp edx, 0x31
je 0x1001d879
cmp edx, 0x32
je 0x1001d879
cmp edx, 0x34
je 0x1001d879
cmp edx, 0x35
je 0x1001d879
cmp edx, 0x36
jne 0x1001da2d
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 8]
cmp eax, 0xffffffff
je 0x1001da2d
mov edx, dword [esp + 0x54]
lea ecx, [eax + eax*2]
shl ecx, 4
lea eax, [ecx + edx]
mov ecx, dword [eax + 4]
cmp ecx, dword [0x100bbde0]
jne 0x1001da2d
mov esi, dword [eax + 0x1c]
mov edi, str.sono
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x1001da2d
mov eax, dword [ebp + 0x18]
mov ecx, 1
cmp eax, ecx
jne 0x1001da2d
mov eax, dword [ebp + 0x48]
cmp eax, 0xffffffff
je 0x1001da2d
mov edx, dword [esp + 0x3e0]
imul eax, eax, 0x4c
cmp dword [eax + edx + 8], 0x31
jne 0x1001da2d
mov dword [ebp + 8], 0x31
mov dword [esp + 0x48], ecx
jmp 0x1001da2d
mov ebx, dword [esp + 0x38]
mov eax, dword [ebx + 8]
cmp eax, 0xffffffff
je 0x1001d8e1
mov ecx, dword [esp + 0x54]
mov esi, dword [0x100bbde0]
lea eax, [eax + eax*2]
shl eax, 4
add eax, ecx
mov ecx, dword [eax + 4]
cmp ecx, esi
jne 0x1001d8e1
mov esi, dword [eax + 0x1c]
mov edi, str.sono
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x1001d8e1
cmp edx, 0x31
mov eax, dword [esp + 0x14]
jne 0x1001d8cc
cmp eax, 0xffffffff
je 0x1001d8cc
test al, 4
je 0x1001d8cc
mov dword [ebp + 8], 0x36
jmp 0x1001d8e1
cmp edx, 0x36
jne 0x1001d8e1
cmp eax, 0xffffffff
je 0x1001d8e1
test al, 8
je 0x1001d8e1
mov dword [ebp + 8], 0x31
mov eax, dword [ebp + 8]
cmp eax, 0x36
je 0x1001d947
mov esi, dword [esp + 0x3e8]
xor ecx, ecx
test esi, esi
jle 0x1001d947
mov edx, dword [esp + 0x3e0]
mov edi, dword [esp + 0x3e4]
add edx, 8
cmp ecx, edi
je 0x1001d90f
cmp dword [edx], eax
je 0x1001d919
inc ecx
add edx, 0x4c
cmp ecx, esi
jl 0x1001d907
jmp 0x1001d947
mov cl, byte [ebx + 0x10]
mov esi, dword [esp + 0x10]
neg eax
test cl, cl
push 1
jns 0x1001d930
mov ecx, dword [ebp + 0x24]
push 2
push ecx
jmp 0x1001d936
mov edx, dword [ebp + 0x24]
push 1
push edx
push eax
call fcn.1001ac00
add esp, 0x10
mov dword [esp + 0x48], 1
mov eax, dword [ebp + 8]
cmp eax, 0x36
je 0x1001da2d
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x1001da2d
mov ecx, dword [ebp + 0x1c]
mov edx, dword [esp + 0x1c]
mov edx, dword [edx]
shl ecx, 5
mov ecx, dword [ecx + edx]
test ecx, ecx
jl 0x1001da2d
mov edi, dword [0x100bbda0]
lea edx, [ecx - 0x19]
lea esi, [ecx + ecx*2]
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x54]
shl esi, 4
add esi, edx
cmp ecx, dword [esp + 0x88]
jle 0x1001da2d
cmp byte [esi], 8
jne 0x1001d9f1
mov edx, dword [esi + 4]
cmp edx, dword [0x100bbdfc]
je 0x1001d9c9
test edi, edi
jne 0x1001d9ce
mov ebx, dword [0x100bbdcc]
test ebx, ebx
jne 0x1001d9ce
mov ebx, dword [0x100bbeb0]
test ebx, ebx
je 0x1001d9f1
jmp 0x1001d9ce
cmp eax, 0x31
je 0x1001d9fb
cmp edx, edi
jne 0x1001d9d7
cmp eax, 0x32
je 0x1001d9fb
cmp edx, dword [0x100bbdcc]
jne 0x1001d9e4
cmp eax, 0x34
je 0x1001d9fb
cmp edx, dword [0x100bbeb0]
jne 0x1001d9f1
cmp eax, 0x35
je 0x1001d9fb
dec ecx
sub esi, 0x30
test ecx, ecx
jge 0x1001d992
jmp 0x1001da2d
mov ecx, dword [esp + 0x38]
mov dl, byte [ecx + 0x10]
mov esi, dword [esp + 0x10]
neg eax
test dl, dl
push 1
jns 0x1001da16
mov edx, dword [ebp + 0x24]
push 2
push edx
jmp 0x1001da1c
mov ecx, dword [ebp + 0x24]
push 1
push ecx
push eax
call fcn.1001ac00
add esp, 0x10
mov dword [esp + 0x48], 1
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 8]
cmp eax, 0xffffffff
je 0x1001da5a
mov edx, dword [esp + 0x54]
mov ecx, dword [0x100bbde0]
lea eax, [eax + eax*2]
shl eax, 4
cmp dword [eax + edx + 4], ecx
jne 0x1001da5a
mov dword [esp + 0xa8], 1
mov ebx, dword [ebp + 8]
cmp ebx, 0x31
je 0x1001da67
cmp ebx, 0x32
jne 0x1001da9d
mov esi, dword [esp + 0x3ec]
test esi, esi
jne 0x1001daa4
mov eax, dword [esp + 0x38]
mov cl, byte [eax + 0x10]
mov esi, dword [esp + 0x10]
neg ebx
test cl, cl
push 1
jns 0x1001db55
mov ecx, dword [ebp + 0x24]
push 2
push ecx
push ebx
call fcn.1001ac00
add esp, 0x10
jmp 0x1001ea9b
mov esi, dword [esp + 0x3ec]
cmp ebx, 0x34
je 0x1001daae
cmp ebx, 0x35
jne 0x1001dab2
test esi, esi
je 0x1001da72
mov eax, dword [esp + 0x14]
or edi, 0xffffffff
cmp eax, edi
mov eax, dword [esp + 0x30]
je 0x1001df1b
cmp eax, edi
jne 0x1001e5d8
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x1001ea9b
mov cl, byte [ebp + 8]
cmp cl, 0x33
mov eax, dword [esp + 0x14]
jne 0x1001dae9
test al, 8
jne 0x1001dafa
cmp cl, 0x36
jne 0x1001dbe9
test al, 4
je 0x1001dbe9
mov ecx, dword [esp + 0x38]
mov dl, byte [ecx + 0x10]
test dl, dl
jns 0x1001db69
test esi, esi
mov dword [ebp + 0x10], eax
je 0x1001db2f
mov edx, dword [esp + 0x3f0]
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x3e0]
lea eax, [esp + 0x24]
push eax
push ecx
push ebp
push edx
call fcn.10040980
add esp, 0x14
mov eax, dword [ebp + 0x24]
push 1
push 2
push eax
mov eax, dword [esp + 0x1c]
lea ebx, [esp + 0x2c]
call fcn.1001acb0
mov dword [esp + 0x20], edi
mov dword [esp + 0x48], 1
jmp 0x1001ea98
mov edx, dword [ebp + 0x24]
push 1
push edx
push ebx
call fcn.1001ac00
add esp, 0x10
jmp 0x1001ea9b
mov ecx, dword [esp + 0xbc]
test ecx, ecx
jne 0x1001dbbc
test esi, esi
mov dword [ebp + 0x10], eax
je 0x1001db9e
mov ecx, dword [esp + 0x3f0]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x3e0]
lea edx, [esp + 0x24]
push edx
push eax
push ebp
push ecx
call fcn.10040980
add esp, 0x14
mov edx, dword [ebp + 0x24]
mov eax, dword [esp + 0x10]
push 1
push 1
push edx
lea ebx, [esp + 0x2c]
call fcn.1001acb0
mov dword [esp + 0x20], edi
jmp 0x1001ea98
test esi, esi
je 0x1001ea9b
mov eax, dword [esp + 0x3f0]
mov ecx, dword [esp + 0x3dc]
push eax
push 0
push 0x88
push ebp
push ecx
call fcn.10040980
add esp, 0x14
jmp 0x1001ea9b
test esi, esi
je 0x1001ea9b
mov edi, dword [esp + 0x3dc]
lea edx, [esp + 0x20]
push edx
push edi
call fcn.1001c020
mov esi, dword [esp + 0x40]
add esp, 8
test eax, eax
je 0x1001dc68
mov eax, dword [esi + 0x10]
test ah, 1
je 0x1001dc68
cmp ebx, 0x31
je 0x1001dc2e
cmp ebx, 0x32
je 0x1001dc2e
cmp ebx, 0x34
je 0x1001dc2e
cmp ebx, 0x35
jne 0x1001ea9b
mov eax, dword [ebp + 0x24]
mov esi, dword [esp + 0x10]
push 1
push 2
push eax
lea ebx, [esp + 0x2c]
mov eax, esi
call fcn.1001acb0
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 8]
push 1
push 1
push ecx
neg edx
push edx
mov dword [esp + 0x30], 0xffffffff
call fcn.1001ac00
add esp, 0x1c
jmp 0x1001ea9b
mov ecx, dword [esi + 0x10]
test cl, cl
jns 0x1001dd35
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x8c]
push eax
push ecx
push ebp
push edi
call fcn.1001b190
add esp, 0x10
test eax, eax
je 0x1001dcec
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x1001dcec
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1001dcec
mov edx, dword [esp + 0x20]
mov edx, dword [edx]
mov ecx, dword [ebp + 0x24]
cmp edx, ecx
mov eax, edx
jl 0x1001dcb2
mov eax, ecx
inc eax
cmp edx, ecx
mov esi, edx
jg 0x1001dcbb
mov esi, ecx
cmp eax, esi
jge 0x1001dcec
mov edx, dword [esp + 0x1c]
mov edx, dword [edx]
mov ecx, eax
shl ecx, 5
lea edx, [ecx + edx + 0xc]
mov edi, edi
mov ecx, dword [edx]
cmp ecx, 8
je 0x1001ea9b
cmp ecx, 9
je 0x1001ea9b
inc eax
add edx, 0x20
cmp eax, esi
jl 0x1001dcd0
mov ecx, dword [esp + 0x3f0]
mov eax, dword [esp + 0x14]
push ecx
lea edx, [esp + 0x24]
push edx
push eax
push ebp
push edi
mov dword [ebp + 0x10], eax
call fcn.10040980
mov eax, dword [ebp + 0x24]
push 1
push 2
push eax
mov eax, dword [esp + 0x30]
lea ebx, [esp + 0x40]
call fcn.1001acb0
add esp, 0x20
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x3c], 1
jmp 0x1001ea9b
mov edx, ecx
and edx, 0x300
cmp edx, 0x100
jne 0x1001ddab
test dword [ebp + 0xc], 0x20000
je 0x1001ddab
mov edx, dword [esp + 0x14]
test dl, 4
je 0x1001ddaf
mov al, byte [ebp + 8]
cmp al, 0x31
je 0x1001dd6a
cmp al, 0x32
je 0x1001dd6a
cmp al, 0x34
je 0x1001dd6a
cmp al, 0x35
jne 0x1001ddaf
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0x24]
mov esi, dword [esp + 0x10]
push 1
mov dword [ebp + 0x10], eax
push 2
push ecx
lea ebx, [esp + 0x2c]
mov eax, esi
call fcn.1001acb0
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 8]
push 1
push 1
push edx
neg eax
push eax
mov dword [esp + 0x30], 0xffffffff
call fcn.1001ac00
add esp, 0x1c
jmp 0x1001ea9b
mov edx, dword [esp + 0x14]
test ch, 1
je 0x1001de1e
cmp ebx, 0x31
je 0x1001ddc8
cmp ebx, 0x32
je 0x1001ddc8
cmp ebx, 0x34
je 0x1001ddc8
cmp ebx, 0x35
jne 0x1001de1e
test dword [ebp + 0xc], 0x20000
je 0x1001de1e
test edx, 0x10000
lea ebx, [esp + 0x20]
push 1
je 0x1001ddea
mov ecx, dword [ebp + 0x24]
push 1
push ecx
jmp 0x1001ea87
mov edx, dword [ebp + 0x24]
mov esi, dword [esp + 0x14]
push 2
push edx
mov eax, esi
call fcn.1001acb0
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 8]
push 1
push 1
push eax
neg ecx
push ecx
mov dword [esp + 0x30], 0xffffffff
call fcn.1001ac00
add esp, 0x1c
jmp 0x1001ea9b
mov eax, dword [esp + 0xbc]
test eax, eax
jne 0x1001defd
cmp dword [esi + 0xc], 9
jne 0x1001de41
cmp ebx, 0x36
jne 0x1001de41
test dl, 8
jne 0x1001ea9b
mov eax, dword [esp + 0xc4]
test eax, eax
je 0x1001de6a
mov eax, dword [esp + 0x14]
push 0
lea edx, [esp + 0x24]
push edx
push eax
push ebp
push edi
call fcn.10040980
add esp, 0x14
test eax, eax
jne 0x1001def0
cmp dword [esp + 0x28], 1
mov ecx, dword [esp + 0x14]
mov dword [ebp + 0x10], ecx
jne 0x1001deb7
mov eax, dword [ebp + 8]
cmp eax, 0x31
je 0x1001de8f
cmp eax, 0x32
je 0x1001de8f
cmp eax, 0x34
je 0x1001de8f
cmp eax, 0x35
jne 0x1001deb7
push 0
lea edx, [esp + 0x24]
push edx
push ecx
push ebp
push edi
call fcn.10040980
add esp, 0x14
test eax, eax
je 0x1001deb7
lea eax, [esp + 0x20]
push eax
push edi
call fcn.1001c100
add esp, 8
test eax, eax
jne 0x1001def0
mov ecx, dword [esp + 0x3f0]
mov eax, dword [esp + 0x14]
push ecx
lea edx, [esp + 0x24]
push edx
push eax
push ebp
push edi
call fcn.10040980
add esp, 0x14
cmp eax, 2
je 0x1001def0
mov ecx, dword [ebp + 0x24]
mov eax, dword [esp + 0x10]
push 1
push 1
push ecx
lea ebx, [esp + 0x2c]
call fcn.1001acb0
add esp, 0xc
mov dword [esp + 0x14], 0xffffffff
jmp 0x1001ea9b
mov edx, dword [esp + 0x3f0]
push edx
push 0
push 0x88
push ebp
push edi
call fcn.10040980
add esp, 0x14
jmp 0x1001ea9b
cmp eax, edi
je 0x1001ea9b
mov ecx, dword [esp + 0x30]
test ecx, 0x10000
je 0x1001df70
mov eax, dword [esp + 0x10]
test eax, eax
mov ebx, dword [ebp + 0x24]
je 0x1001df5f
mov edi, dword [esp + 0x74]
test edi, edi
je 0x1001df5f
mov esi, eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + edi*4 - 4]
push 1
push 1
dec edi
push ebx
push ecx
call fcn.1001ac00
add esp, 0x10
test edi, edi
jne 0x1001df44
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x30], 0xffffffff
jmp 0x1001ea9b
mov al, byte [ebp + 8]
cmp al, 0x33
jne 0x1001df7c
test cl, 8
jne 0x1001dfa8
cmp al, 0x36
jne 0x1001df85
test cl, 4
jne 0x1001dfa8
test ebx, ebx
jne 0x1001e506
mov eax, dword [ebp + 0x28]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x54]
shl edx, 4
mov ecx, dword [edx + eax + 0x28]
cmp byte [ecx + 8], 0x47
jne 0x1001e506
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x10]
test ah, 4
je 0x1001dfc3
mov ecx, dword [esp + 0xa8]
test ecx, ecx
je 0x1001ea9b
mov ecx, dword [esp + 0x8c]
test ecx, ecx
jne 0x1001ea9b
mov ecx, eax
and ecx, 0x300
cmp ecx, 0x200
je 0x1001e4be
test ah, 8
jne 0x1001e4be
test al, al
jns 0x1001e043
test esi, esi
mov edx, dword [esp + 0x30]
mov dword [ebp + 0x10], edx
je 0x1001e01d
mov eax, dword [esp + 0x3f0]
push eax
mov eax, dword [esp + 0x3e0]
lea ecx, [esp + 0x70]
push ecx
push edx
push ebp
push eax
call fcn.10040980
add esp, 0x14
mov ecx, dword [ebp + 0x24]
mov eax, dword [esp + 0x10]
push 1
push 2
push ecx
lea ebx, [esp + 0x78]
call fcn.1001acb0
mov dword [esp + 0x3c], edi
mov dword [esp + 0x48], 1
jmp 0x1001ea98
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x1001e4be
mov edx, dword [ebp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
mov eax, edx
shl eax, 5
add eax, ecx
cmp dword [eax + 0xc], 5
jne 0x1001e0dc
mov ecx, dword [eax]
mov esi, dword [esp + 0x54]
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov esi, dword [ecx + esi + 0x1c]
xor ebp, ebp
mov ebp, dword [esp + 0x18]
mov edi, str.cosa
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
jne 0x1001e0dc
mov eax, dword [esp + 0x3ec]
test eax, eax
mov edx, dword [esp + 0x30]
mov dword [ebp + 0x10], edx
je 0x1001e0ba
mov eax, dword [esp + 0x3f0]
push eax
mov eax, dword [esp + 0x3e0]
lea ecx, [esp + 0x70]
push ecx
push edx
push ebp
push eax
call fcn.10040980
add esp, 0x14
mov ecx, dword [ebp + 0x24]
mov eax, dword [esp + 0x10]
push 1
push 1
push ecx
lea ebx, [esp + 0x78]
call fcn.1001acb0
mov dword [esp + 0x3c], 0xffffffff
jmp 0x1001ea98
test edx, edx
mov edi, dword [esp + 0x10]
je 0x1001e12a
mov ecx, dword [eax - 0x14]
test ecx, ecx
jne 0x1001e12a
mov eax, dword [eax - 0x20]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x54]
shl edx, 4
mov ecx, dword [edx + eax + 0x1c]
cmp byte [ecx], 0x22
jne 0x1001e12a
mov eax, dword [esp + 0x3ec]
test eax, eax
mov edx, dword [esp + 0x30]
mov dword [ebp + 0x10], edx
je 0x1001e49e
mov eax, dword [esp + 0x3f0]
push eax
lea ecx, [esp + 0x70]
push ecx
push edx
jmp 0x1001e48d
mov ecx, dword [ebp + 0x34]
cmp ecx, 0x14
jge 0x1001e15b
mov eax, dword [esp + 0x3ec]
test eax, eax
mov edx, dword [esp + 0x30]
mov dword [ebp + 0x10], edx
je 0x1001e49e
mov eax, dword [esp + 0x3f0]
push eax
lea ecx, [esp + 0x70]
push ecx
push edx
jmp 0x1001e48d
mov edx, dword [esp + 0x6c]
mov eax, dword [edx]
mov edx, dword [ebp + 0x24]
inc edx
cmp eax, edx
jne 0x1001e194
cmp dword [ebp + 0x14], 0xb
jne 0x1001e194
mov edx, dword [esp + 0x3e4]
test edx, edx
je 0x1001e46d
test dword [ebp + 0xc], 0x10000
jne 0x1001e46d
cmp ecx, 0x28
jl 0x1001e46d
mov esi, dword [ebp + 0x14]
cmp esi, 2
jne 0x1001e359
cmp ebx, 0x36
jne 0x1001e1ac
test byte [esp + 0x30], 4
jne 0x1001e1c0
cmp ebx, 0x33
jne 0x1001e359
test byte [esp + 0x30], 8
je 0x1001e359
mov ecx, dword [esp + 0x58]
shl eax, 5
add eax, ecx
mov ecx, dword [eax + 0x2c]
cmp ecx, 8
je 0x1001e1d6
cmp ecx, 9
jne 0x1001e1f6
mov ecx, dword [eax + 0x30]
test ch, ch
jns 0x1001e1f6
mov eax, dword [eax + 0x38]
cmp eax, 0x100
je 0x1001e37e
cmp eax, 0x2000
je 0x1001e37e
mov eax, dword [esp + 0x3dc]
push 0
lea edx, [esp + 0x70]
push edx
push eax
call fcn.1001afe0
add esp, 0xc
test eax, eax
je 0x1001e37e
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x1001e469
mov ecx, 2
mov dword [esp + 0xb0], ecx
mov word [esp + 0xb8], cx
lea esi, [eax - 1]
test esi, esi
lea ecx, [esp + 0x8c]
mov dword [esp + 0xb4], 0
mov dword [esp + 0xac], ecx
je 0x1001e2aa
mov eax, dword [esp + 0x58]
mov edx, esi
shl edx, 5
add eax, edx
lea edx, [eax + 0x10]
lea ecx, [eax + 0xc]
add eax, 0x14
jmp 0x1001e270
mov di, word [eax]
cmp di, 4
je 0x1001e294
cmp di, 0x10
je 0x1001e294
mov edi, dword [ecx]
cmp edi, 0xb
je 0x1001e294
cmp edi, 2
je 0x1001e294
test edi, edi
jne 0x1001e2a2
cmp dword [edx], 0x2c
jne 0x1001e2a2
sub eax, 0x20
sub ecx, 0x20
dec esi
sub edx, 0x20
test esi, esi
jne 0x1001e270
test esi, esi
jl 0x1001e469
mov edx, dword [esp + 0x58]
mov ecx, esi
shl ecx, 5
mov eax, dword [ecx + edx + 0xc]
cmp eax, 3
lea edi, [ecx + edx]
je 0x1001e2c8
cmp eax, 1
jne 0x1001e469
mov ecx, dword [esp + 0x3dc]
push 0
lea eax, [esp + 0xb0]
push eax
push ecx
mov dword [esp + 0x98], esi
mov dword [esp + 0xc0], 1
call fcn.1001afe0
add esp, 0xc
test eax, eax
je 0x1001e302
mov edi, dword [esp + 0x10]
mov dword [esp + 0x64], esi
jmp 0x1001e37e
test esi, esi
je 0x1001e469
cmp dword [edi + 0xc], 3
jne 0x1001e469
mov edi, dword [edi - 0x14]
cmp edi, 3
je 0x1001e325
cmp edi, 1
jne 0x1001e469
mov eax, dword [esp + 0x3dc]
push 0
lea edx, [esp + 0xb0]
push edx
dec esi
push eax
mov dword [esp + 0x98], esi
call fcn.1001afe0
add esp, 0xc
test eax, eax
je 0x1001e469
mov edi, dword [esp + 0x10]
mov dword [esp + 0x64], esi
jmp 0x1001e37e
cmp esi, 0xb
jne 0x1001e37e
cmp ebx, 0x36
jne 0x1001e36e
test byte [esp + 0x30], 4
jne 0x1001e46d
cmp ebx, 0x33
jne 0x1001e37e
test byte [esp + 0x30], 8
jne 0x1001e46d
mov esi, dword [esp + 0x3dc]
lea ecx, [esp + 0x6c]
push ecx
lea edx, [esp + 0x24]
push edx
push ebp
push esi
call fcn.1001c350
add esp, 0x10
test eax, eax
jne 0x1001e46d
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x1001e423
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x1001e423
mov edx, dword [esp + 0x58]
shl eax, 5
lea ecx, [eax + edx]
mov eax, dword [ecx - 0x14]
test eax, eax
jne 0x1001e423
mov eax, dword [ebp + 0x20]
shl eax, 5
add eax, edx
mov edx, dword [eax + 0xc]
test edx, edx
jne 0x1001e423
mov ecx, dword [ecx - 0x10]
cmp ecx, dword [eax + 0x10]
jne 0x1001e423
mov ecx, dword [ebp + 8]
cmp ecx, 0x36
mov eax, dword [esp + 0x30]
jne 0x1001e3e7
test al, 4
jne 0x1001e3f0
cmp ecx, 0x33
jne 0x1001e427
test al, 8
je 0x1001e427
mov ecx, dword [esp + 0x3ec]
test ecx, ecx
mov dword [ebp + 0x10], eax
je 0x1001e416
mov edx, dword [esp + 0x3f0]
push edx
lea ecx, [esp + 0x70]
push ecx
push eax
push ebp
push esi
call fcn.10040980
add esp, 0x14
mov edx, dword [ebp + 0x24]
push 1
push 1
push edx
jmp 0x1001e4a6
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
test dword [ecx + 0x10], 0x10000
je 0x1001e45a
mov ecx, dword [esp + 0x3e4]
test ecx, ecx
je 0x1001e445
cmp dword [ebp + 0x18], 1
je 0x1001e45a
mov ecx, dword [ebp + 8]
cmp ecx, 0x36
jne 0x1001e451
test al, 4
jne 0x1001e3f0
cmp ecx, 0x33
jne 0x1001e45a
test al, 8
jne 0x1001e3f0
mov eax, dword [ebp + 0x24]
push 1
push 2
push eax
mov eax, edi
jmp 0x1001e850
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x3ec]
test ecx, ecx
mov eax, dword [esp + 0x30]
mov dword [ebp + 0x10], eax
je 0x1001e49e
mov ecx, dword [esp + 0x3f0]
push ecx
lea edx, [esp + 0x70]
push edx
push eax
mov eax, dword [esp + 0x3e8]
push ebp
push eax
call fcn.10040980
add esp, 0x14
mov ecx, dword [ebp + 0x24]
push 1
push 1
push ecx
mov eax, edi
lea ebx, [esp + 0x78]
call fcn.1001acb0
mov dword [esp + 0x3c], 0xffffffff
jmp 0x1001ea98
test esi, esi
mov edx, dword [esp + 0x30]
mov dword [ebp + 0x10], edx
je 0x1001e4e8
mov eax, dword [esp + 0x3f0]
push eax
mov eax, dword [esp + 0x3e0]
lea ecx, [esp + 0x70]
push ecx
push edx
push ebp
push eax
call fcn.10040980
add esp, 0x14
mov ecx, dword [ebp + 0x24]
mov eax, dword [esp + 0x10]
push 1
push 1
push ecx
lea ebx, [esp + 0x78]
call fcn.1001acb0
mov dword [esp + 0x3c], edi
jmp 0x1001ea98
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 0x10]
mov edx, eax
and edx, 0x300
cmp edx, 0x200
jne 0x1001ea9b
cmp dword [ebp + 0x14], 2
je 0x1001ea9b
test ah, 4
je 0x1001e53f
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x1001ea9b
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x1001ea9b
test esi, esi
je 0x1001e590
cmp dword [ecx + 0xc], 9
jne 0x1001e590
mov eax, dword [esp + 0x74]
test eax, eax
je 0x1001e590
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax]
sub ecx, dword [ebp + 0x24]
cmp ecx, 3
jle 0x1001e590
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x3dc]
push 0
lea edx, [esp + 0x70]
push edx
push eax
push ebp
push ecx
call fcn.10040980
add esp, 0x14
test eax, eax
jne 0x1001ea9b
test esi, esi
mov eax, dword [esp + 0x30]
mov dword [ebp + 0x10], eax
je 0x1001e5ba
mov edx, dword [esp + 0x3f0]
push edx
mov edx, dword [esp + 0x3e0]
lea ecx, [esp + 0x70]
push ecx
push eax
push ebp
push edx
call fcn.10040980
add esp, 0x14
mov eax, dword [ebp + 0x24]
push 1
push 1
push eax
mov eax, dword [esp + 0x1c]
lea ebx, [esp + 0x78]
call fcn.1001acb0
mov dword [esp + 0x3c], edi
jmp 0x1001ea98
mov edi, dword [esp + 0x3dc]
lea ecx, [esp + 0x20]
push ecx
xor esi, esi
push edi
mov dword [esp + 0x94], esi
call fcn.1001c020
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x50]
add esp, 8
test eax, eax
jne 0x1001e6db
mov eax, dword [esp + 0x30]
test eax, 0x10000
je 0x1001e61e
mov esi, 1
jmp 0x1001e6db
cmp ebx, 0x33
jne 0x1001e62e
test byte [esp + 0x14], 4
je 0x1001e62e
test al, 8
jne 0x1001e63e
cmp ebx, 0x36
jne 0x1001e661
test byte [esp + 0x14], 8
je 0x1001e661
test al, 4
je 0x1001e661
test dword [ebp + 0xc], 0x10000
jne 0x1001e65a
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x10]
and eax, 0x300
cmp eax, 0x200
jne 0x1001e661
mov esi, 1
jmp 0x1001e6db
lea ecx, [esp + 0x20]
push ecx
push edi
call fcn.1001c100
add esp, 8
test eax, eax
je 0x1001e681
mov esi, 1
mov dword [esp + 0x8c], esi
jmp 0x1001e6db
mov eax, dword [ebp + 0x30]
cmp eax, 0xffffffff
jne 0x1001e699
mov eax, dword [ebp + 0x2c]
cmp eax, 0xffffffff
jne 0x1001e699
mov eax, dword [ebp + 0x28]
cmp eax, 0xffffffff
je 0x1001e6d2
mov ecx, dword [esp + 0x3dc]
mov ecx, dword [ecx + 0x24]
mov ecx, dword [ecx]
lea edx, [eax + eax*2]
shl edx, 4
mov esi, dword [edx + ecx + 0x1c]
add edx, ecx
mov edi, str.disse
mov ecx, 6
xor ebx, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x1001e6d2
test eax, eax
jle 0x1001e6d2
cmp byte [edx - 0x30], 9
jne 0x1001e6d2
mov esi, 1
jmp 0x1001e6d4
xor esi, esi
mov edi, dword [esp + 0x3dc]
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 0x10]
mov edx, eax
and edx, 0x300
cmp edx, 0x100
jne 0x1001e86e
test al, al
js 0x1001e876
mov eax, dword [esp + 0x88]
test eax, eax
je 0x1001e737
mov eax, dword [ecx + 8]
mov ecx, dword [edi + 0x24]
mov edx, dword [ecx]
mov ecx, dword [0x100bbcac]
lea eax, [eax + eax*2]
shl eax, 4
mov eax, dword [eax + edx + 4]
cmp eax, ecx
je 0x1001e778
push 3
lea ecx, [esp + 0x70]
push ecx
push edi
call fcn.1001afe0
add esp, 0xc
jmp 0x1001e73b
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x1001e778
test esi, esi
jne 0x1001e778
cmp dword [ebp + 0x14], 3
jne 0x1001e7e7
mov ecx, dword [ebp + 8]
cmp ecx, 0x33
jne 0x1001e764
mov eax, dword [esp + 0x14]
test al, 4
je 0x1001e768
test byte [esp + 0x30], 8
jne 0x1001e778
mov eax, dword [esp + 0x14]
cmp ecx, 0x36
jne 0x1001e7eb
test al, 8
je 0x1001e7eb
test byte [esp + 0x30], 4
je 0x1001e7e7
mov ecx, dword [esp + 0x3ec]
test ecx, ecx
mov eax, dword [esp + 0x30]
mov dword [ebp + 0x10], eax
je 0x1001e7a2
mov edx, dword [esp + 0x3f0]
push edx
lea ecx, [esp + 0x70]
push ecx
push eax
push ebp
push edi
call fcn.10040980
add esp, 0x14
mov edx, dword [ebp + 0x24]
mov esi, dword [esp + 0x10]
push 1
push 1
push edx
lea ebx, [esp + 0x78]
mov eax, esi
call fcn.1001acb0
mov eax, dword [ebp + 0x24]
push 1
push 2
push eax
or edi, 0xffffffff
lea ebx, [esp + 0x38]
mov eax, esi
mov dword [esp + 0x48], edi
call fcn.1001acb0
add esp, 0x18
mov dword [esp + 0x14], edi
mov dword [esp + 0x3c], 1
jmp 0x1001ea9b
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x1001e844
mov ecx, dword [esp + 0x3ec]
test ecx, ecx
mov dword [ebp + 0x10], eax
je 0x1001e81b
mov ecx, dword [esp + 0x3f0]
push ecx
lea edx, [esp + 0x24]
push edx
push eax
push ebp
push edi
call fcn.10040980
add esp, 0x14
jmp 0x1001e81f
mov eax, dword [esp + 0x7c]
cmp eax, 2
je 0x1001e83c
mov eax, dword [ebp + 0x24]
push 1
push 1
push eax
mov eax, dword [esp + 0x1c]
lea ebx, [esp + 0x2c]
call fcn.1001acb0
add esp, 0xc
mov dword [esp + 0x14], 0xffffffff
mov ecx, dword [ebp + 0x24]
mov eax, dword [esp + 0x10]
push 1
push 2
push ecx
lea ebx, [esp + 0x78]
call fcn.1001acb0
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x48], 1
jmp 0x1001ea98
test al, al
jns 0x1001e98a
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x1001ea9b
test esi, esi
mov ecx, dword [esp + 0x3ec]
je 0x1001e915
test ecx, ecx
mov eax, dword [esp + 0x30]
mov dword [ebp + 0x10], eax
je 0x1001e8b4
mov edx, dword [esp + 0x3f0]
push edx
lea ecx, [esp + 0x70]
push ecx
push eax
push ebp
push edi
call fcn.10040980
add esp, 0x14
mov edx, dword [ebp + 0x24]
mov esi, dword [esp + 0x10]
push 1
push 2
push edx
lea ebx, [esp + 0x78]
mov eax, esi
call fcn.1001acb0
mov eax, dword [esp + 0x44]
mov dword [esp + 0x3c], 0xffffffff
mov ecx, dword [eax + 0x10]
add esp, 0xc
test ch, 4
mov dword [esp + 0x3c], 1
je 0x1001ea9b
mov eax, dword [esp + 0x8c]
test eax, eax
jne 0x1001ea9b
mov ecx, dword [ebp + 0x24]
push 1
push 0x10
push ecx
lea ebx, [esp + 0x2c]
mov eax, esi
call fcn.1001acb0
jmp 0x1001ea98
test ecx, ecx
mov eax, dword [esp + 0x14]
mov dword [ebp + 0x10], eax
je 0x1001e938
mov edx, dword [esp + 0x3f0]
push edx
lea ecx, [esp + 0x24]
push ecx
push eax
push ebp
push edi
call fcn.10040980
add esp, 0x14
mov edx, dword [ebp + 0x24]
mov esi, dword [esp + 0x10]
push 1
push 2
push edx
lea ebx, [esp + 0x2c]
mov eax, esi
call fcn.1001acb0
mov eax, dword [esp + 0x44]
mov dword [esp + 0x20], 0xffffffff
mov ecx, dword [eax + 0x10]
add esp, 0xc
test ch, 4
mov dword [esp + 0x3c], 1
je 0x1001ea9b
mov ecx, dword [ebp + 0x24]
push 1
push 0x10
push ecx
lea ebx, [esp + 0x78]
mov eax, esi
call fcn.1001acb0
jmp 0x1001ea98
test ah, 1
je 0x1001e9d5
test esi, esi
jne 0x1001e9d9
mov eax, dword [esp + 0x88]
test eax, eax
je 0x1001e9cd
mov eax, dword [ecx + 8]
lea edx, [eax + eax*2]
mov eax, dword [edi + 0x24]
mov ecx, dword [eax]
mov eax, dword [0x100bbcac]
shl edx, 4
mov edx, dword [edx + ecx + 4]
cmp edx, eax
je 0x1001e9d9
push 3
lea eax, [esp + 0x70]
push eax
push edi
call fcn.1001afe0
add esp, 0xc
test eax, eax
jmp 0x1001e9d7
mov eax, dword [esp + 0x3c]
test eax, eax
jmp 0x1001e9d7
test esi, esi
je 0x1001ea49
mov ecx, dword [esp + 0x3ec]
test ecx, ecx
mov eax, dword [esp + 0x30]
mov dword [ebp + 0x10], eax
je 0x1001ea03
mov ecx, dword [esp + 0x3f0]
push ecx
lea edx, [esp + 0x70]
push edx
push eax
push ebp
push edi
call fcn.10040980
add esp, 0x14
mov eax, dword [ebp + 0x24]
mov esi, dword [esp + 0x10]
push 1
push 1
push eax
lea ebx, [esp + 0x78]
mov eax, esi
call fcn.1001acb0
mov ecx, dword [esp + 0x44]
or edi, 0xffffffff
mov dword [esp + 0x3c], edi
mov eax, dword [ecx + 0x10]
add esp, 0xc
test ah, 1
je 0x1001ea9b
mov edx, dword [ebp + 0x24]
push 1
push 2
push edx
lea ebx, [esp + 0x2c]
mov eax, esi
call fcn.1001acb0
mov dword [esp + 0x20], edi
jmp 0x1001ea98
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x1001ea9b
mov ecx, dword [esp + 0x3ec]
test ecx, ecx
mov eax, dword [esp + 0x14]
mov dword [ebp + 0x10], eax
je 0x1001ea7b
mov ecx, dword [esp + 0x3f0]
push ecx
lea edx, [esp + 0x24]
push edx
push eax
push ebp
push edi
call fcn.10040980
add esp, 0x14
mov eax, dword [ebp + 0x24]
push 1
push 1
push eax
lea ebx, [esp + 0x2c]
mov eax, dword [esp + 0x1c]
call fcn.1001acb0
mov dword [esp + 0x20], 0xffffffff
add esp, 0xc
mov eax, dword [esp + 0x38]
cmp dword [eax + 0xc], 8
jne 0x1001f087
mov eax, dword [eax + 0x10]
test ah, 1
mov dword [esp + 0x34], eax
je 0x1001ee7d
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x1001ee7d
mov ebx, dword [esp + 0x30]
cmp ebx, 0xffffffff
je 0x1001ecbf
mov ecx, dword [esp + 0x34]
and ecx, 0xc00
cmp ecx, 0xc00
jne 0x1001eaf3
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x1001ee7d
mov eax, dword [esp + 0x34]
test ah, 0x10
mov esi, dword [esp + 0x10]
je 0x1001eba3
mov ecx, dword [esi + 8]
mov eax, dword [esi]
xor edx, edx
test ecx, ecx
je 0x1001eb2a
add eax, 4
cmp dword [eax + 4], 1
jne 0x1001eb20
mov edi, dword [eax]
cmp edi, dword [ebp + 0x24]
jne 0x1001eb20
inc edx
add eax, 0x14
dec ecx
jne 0x1001eb12
test edx, edx
jne 0x1001eba3
cmp dword [ebp + 0xc], 0x10404
jne 0x1001eb56
push 1
push 0x10
lea ebx, [esp + 0x74]
mov eax, esi
mov edx, dword [ebp + 0x24]
push edx
call fcn.1001acb0
add esp, 0xc
mov dword [esp + 0x30], 0xffffffff
jmp 0x1001ee7d
mov eax, dword [esp + 0x3ec]
test eax, eax
je 0x1001eb80
mov eax, dword [esp + 0x3f0]
mov edx, dword [esp + 0x3dc]
push eax
lea ecx, [esp + 0x70]
push ecx
push ebx
push ebp
push edx
call fcn.10040980
add esp, 0x14
mov eax, dword [ebp + 0x24]
push 1
push 1
push eax
lea ebx, [esp + 0x78]
mov eax, esi
call fcn.1001acb0
add esp, 0xc
mov dword [esp + 0x30], 0xffffffff
jmp 0x1001ee7d
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x1001ec7d
mov eax, dword [esp + 0x3e4]
test eax, eax
je 0x1001ec7d
mov ecx, dword [ebp + 8]
mov edi, 0x36
cmp ecx, edi
jne 0x1001ec7d
test bl, 4
je 0x1001ec7d
dec eax
test eax, eax
jle 0x1001ec06
mov edx, dword [esp + 0x3e0]
mov ecx, eax
imul ecx, ecx, 0x4c
lea edx, [ecx + edx + 0x14]
jmp 0x1001ebf0
mov ecx, dword [edx]
cmp ecx, 2
je 0x1001ebfc
cmp ecx, 0xb
jne 0x1001ec04
dec eax
sub edx, 0x4c
test eax, eax
jg 0x1001ebf0
test eax, eax
jl 0x1001ec4b
mov ecx, dword [esp + 0x3e0]
imul eax, eax, 0x4c
cmp dword [eax + ecx + 8], edi
je 0x1001ec4b
mov eax, dword [esp + 0x3ec]
test eax, eax
je 0x1001ec42
mov edx, dword [esp + 0x3f0]
mov ecx, dword [esp + 0x3dc]
push edx
lea eax, [esp + 0x70]
push eax
push ebx
push ebp
push ecx
call fcn.10040980
add esp, 0x14
push 1
push 1
jmp 0x1001eb37
test dword [ebp + 0xc], 0x20000
jne 0x1001ee7d
mov eax, dword [ebp + 0x24]
push 1
push 2
push eax
mov eax, dword [esp + 0x1c]
lea ebx, [esp + 0x78]
call fcn.1001acb0
add esp, 0xc
mov dword [esp + 0x30], 0xffffffff
jmp 0x1001ee75
test dword [ebp + 0xc], 0x20000
jne 0x1001ee7d
mov eax, dword [esp + 0x34]
test ah, 4
mov eax, dword [esp + 0x10]
lea ebx, [esp + 0x6c]
push 1
jne 0x1001ecb8
mov ecx, dword [ebp + 0x24]
push 2
push ecx
call fcn.1001acb0
add esp, 0xc
mov dword [esp + 0x30], 0xffffffff
jmp 0x1001ee75
push 0x10
jmp 0x1001eb3d
mov edi, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
lea esi, [edi + 1]
cmp esi, eax
jge 0x1001ee7d
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, esi
shl edx, 5
mov dword [esp + 0x8c], ecx
lea eax, [edx + ecx + 0xc]
cmp dword [eax], 0xb
jne 0x1001ecfb
mov edx, dword [ebp + 0x20]
inc esi
add eax, 0x20
cmp esi, edx
jl 0x1001ece6
jmp 0x1001ee7d
mov eax, esi
shl eax, 5
lea ebx, [eax + ecx]
cmp dword [ebx + 0xc], 3
jne 0x1001ee7d
mov ecx, dword [ebx + 0x10]
and ecx, 0x200080
cmp ecx, 0x200080
jne 0x1001ee7d
cmp dword [ebp + 0x14], 2
jne 0x1001ed59
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov eax, dword [eax]
xor edx, edx
test ecx, ecx
je 0x1001ed59
add eax, 4
lea ebx, [ebx]
cmp dword [eax + 4], 1
jne 0x1001ed4b
cmp dword [eax], edi
jne 0x1001ed4b
inc edx
add eax, 0x14
dec ecx
jne 0x1001ed40
test edx, edx
jne 0x1001ee7d
mov eax, dword [ebp + 0x48]
cmp eax, 0xffffffff
je 0x1001ed87
mov edx, dword [esp + 0x3e0]
imul eax, eax, 0x4c
mov ecx, dword [ebp + 8]
add eax, edx
cmp ecx, dword [eax + 8]
jne 0x1001ed87
mov dl, byte [ebp + 1]
cmp dl, byte [eax + 1]
jne 0x1001ed87
cmp dword [ebp + 0x18], 1
je 0x1001ee7d
mov eax, dword [esp + 0x34]
test ah, 0x10
je 0x1001edec
mov eax, dword [esp + 0x10]
push 1
push edi
push eax
call fcn.1001bd10
add esp, 0xc
test eax, eax
jne 0x1001ee7d
mov eax, dword [esp + 0x3ec]
test eax, eax
je 0x1001edd2
mov ecx, dword [esp + 0x3f0]
mov edx, dword [ebx + 0x1c]
mov eax, dword [esp + 0x3dc]
push ecx
push 0
push edx
push ebp
push eax
call fcn.10040980
add esp, 0x14
mov ecx, dword [ebp + 0x24]
push 1
push 1
push ecx
push esi
mov esi, dword [esp + 0x20]
call fcn.1001ac00
add esp, 0x10
jmp 0x1001ee7d
cmp dword [ebx + 0x2c], 5
lea eax, [esi + 1]
jne 0x1001ee09
mov edx, dword [ebx + 0x50]
and edx, 0x200080
cmp edx, 0x200080
jne 0x1001ee09
lea eax, [esi + 3]
mov edx, dword [esp + 0x8c]
mov ecx, eax
shl ecx, 5
mov ebx, dword [ecx + edx + 0xc]
cmp ebx, 0xb
lea ecx, [ecx + edx + 0xc]
jne 0x1001ee2e
mov ebx, dword [ecx + 0x20]
add ecx, 0x20
inc eax
cmp ebx, 0xb
je 0x1001ee22
mov ecx, eax
shl ecx, 5
add ecx, edx
cmp dword [ecx + 0xc], 1
jne 0x1001ee63
cmp word [ecx + 0x14], 0
jne 0x1001ee63
mov ecx, dword [ecx + 0x2c]
cmp ecx, 8
je 0x1001ee63
cmp ecx, 9
je 0x1001ee63
mov esi, dword [esp + 0x10]
push 1
push 2
push edi
push eax
call fcn.1001ac00
add esp, 0x10
jmp 0x1001ee7d
push 1
push 2
push edi
push esi
mov esi, dword [esp + 0x20]
call fcn.1001ac00
add esp, 0x10
mov dword [esp + 0x3c], 1
mov edi, dword [esp + 0x38]
mov al, byte [edi + 0x10]
test al, al
jns 0x1001eea5
mov eax, dword [esp + 0x68]
test eax, eax
jl 0x1001eea5
mov edx, dword [ebp + 0x24]
mov esi, dword [esp + 0x10]
push 1
push 1
push edx
push eax
call fcn.1001ac00
add esp, 0x10
mov eax, dword [edi + 0x10]
test ah, 1
je 0x1001f18c
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x1001f02a
mov ecx, dword [ebp + 0x38]
test ecx, ecx
je 0x1001efbc
cmp eax, 0x6d
jne 0x1001eee0
mov eax, dword [ebp + 0x24]
mov esi, dword [esp + 0x10]
push 1
push 3
push eax
push 0xffffffffffffffcf
jmp 0x1001f184
cmp eax, 0x74
jne 0x1001eef8
mov ecx, dword [ebp + 0x24]
mov esi, dword [esp + 0x10]
push 1
push 3
push ecx
push 0xffffffffffffffce
jmp 0x1001f184
cmp eax, 0x67
jne 0x1001ef88
mov esi, dword [ebp + 0x1c]
dec esi
js 0x1001f18c
mov ebx, dword [esp + 0x3dc]
mov edi, esi
shl edi, 5
jmp 0x1001ef20
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov eax, dword [edi + eax + 0xc]
cmp eax, 1
je 0x1001ef34
cmp eax, 3
jne 0x1001ef7b
push 0
lea edx, [esp + 0xcc]
mov eax, 2
push edx
lea ecx, [esp + 0x84]
push ebx
mov dword [esp + 0xd8], eax
mov word [esp + 0xe0], ax
mov dword [esp + 0xd4], ecx
mov dword [esp + 0x88], esi
mov dword [esp + 0xdc], 1
call fcn.1001afe0
add esp, 0xc
dec esi
sub edi, 0x20
test esi, esi
jge 0x1001ef20
jmp 0x1001f18c
cmp eax, 0x63
jne 0x1001efa0
mov eax, dword [ebp + 0x24]
mov esi, dword [esp + 0x10]
push 1
push 3
push eax
push 0xffffffffffffffcc
jmp 0x1001f184
cmp eax, 0x76
jne 0x1001f02a
mov ecx, dword [ebp + 0x24]
mov esi, dword [esp + 0x10]
push 1
push 3
push ecx
push 0xffffffffffffffcb
jmp 0x1001f184
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jne 0x1001f02a
cmp eax, 0x6d
jne 0x1001efdb
cmp dword [ebp + 8], 0x31
je 0x1001f02a
mov edx, dword [ebp + 0x24]
push 1
push 2
push edx
push 0xffffffffffffffcf
jmp 0x1001f01e
cmp eax, 0x74
jne 0x1001eff2
cmp dword [ebp + 8], 0x32
je 0x1001f02a
mov eax, dword [ebp + 0x24]
push 1
push 2
push eax
push 0xffffffffffffffce
jmp 0x1001f01e
cmp eax, 0x63
jne 0x1001f009
cmp dword [ebp + 8], 0x34
je 0x1001f02a
mov ecx, dword [ebp + 0x24]
push 1
push 2
push ecx
push 0xffffffffffffffcc
jmp 0x1001f01e
cmp eax, 0x76
jne 0x1001f02a
cmp dword [ebp + 8], 0x35
je 0x1001f02a
mov edx, dword [ebp + 0x24]
push 1
push 2
push edx
push 0xffffffffffffffcb
mov esi, dword [esp + 0x20]
call fcn.1001ac00
add esp, 0x10
cmp dword [esp + 0x84], 0xffffffff
je 0x1001f18c
mov eax, dword [esp + 0x10]
test eax, eax
mov ebx, dword [ebp + 0x24]
je 0x1001f18c
mov edi, dword [esp + 0xa0]
test edi, edi
je 0x1001f18c
jmp 0x1001f060
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + edi*4 - 4]
mov esi, dword [esp + 0x10]
push 1
push 3
dec edi
push ebx
push ecx
call fcn.1001ac00
add esp, 0x10
test edi, edi
jne 0x1001f060
jmp 0x1001f18c
mov eax, dword [esp + 0x38]
mov esi, dword [eax + 4]
mov ebx, dword [ebp + 0x24]
xor ecx, ecx
test esi, esi
lea edi, [ebx + 1]
jle 0x1001f0bc
mov eax, dword [eax]
mov edx, dword [esp + 0x54]
lea eax, [eax + eax*2]
shl eax, 4
add eax, edx
mov dl, byte [eax]
cmp dl, 3
je 0x1001f0bc
cmp dl, 8
je 0x1001f0bc
inc ecx
add eax, 0x30
cmp ecx, esi
jl 0x1001f0a8
cmp ecx, esi
jne 0x1001f18c
cmp edi, dword [ebp + 0x20]
jge 0x1001f18c
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx]
mov eax, edi
shl eax, 5
lea eax, [eax + ecx + 0xc]
lea esp, [esp]
cmp dword [eax], 0xb
jne 0x1001f0f5
mov edx, dword [ebp + 0x20]
inc edi
add eax, 0x20
cmp edi, edx
jl 0x1001f0e0
jmp 0x1001f18c
mov edx, edi
shl edx, 5
lea eax, [edx + ecx]
cmp dword [eax + 0xc], 3
jne 0x1001f18c
mov ecx, dword [eax + 0x10]
and ecx, 0x200080
cmp ecx, 0x200080
jne 0x1001f18c
mov eax, dword [eax + 0x1c]
test al, 4
mov dword [esp + 0x7c], eax
je 0x1001f18c
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 8]
mov eax, dword [esi]
xor edx, edx
test ecx, ecx
je 0x1001f14a
add eax, 4
cmp dword [eax + 4], 1
jne 0x1001f140
cmp dword [eax], ebx
jne 0x1001f140
inc edx
add eax, 0x14
dec ecx
jne 0x1001f135
test edx, edx
jne 0x1001f18c
cmp dword [ebp + 0x14], 2
je 0x1001f18c
mov eax, dword [esp + 0x3ec]
test eax, eax
je 0x1001f17b
mov edx, dword [esp + 0x3f0]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x3dc]
push edx
push 0
push eax
push ebp
push ecx
call fcn.10040980
add esp, 0x14
mov edx, dword [ebp + 0x24]
push 1
push 1
push edx
push edi
call fcn.1001ac00
add esp, 0x10
cmp dword [ebp + 0x18], 1
jne 0x1001f375
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x10]
mov esi, dword [esp + 0x10]
and eax, 0x80
mov dword [esp + 0x7c], eax
je 0x1001f1dc
mov ecx, dword [esi + 8]
mov eax, dword [esi]
xor edx, edx
test ecx, ecx
je 0x1001f20e
mov ebx, dword [esp + 0x18]
add eax, 4
mov edi, 2
cmp dword [eax + 4], edi
jne 0x1001f1d0
mov ebp, dword [eax]
cmp ebp, dword [ebx + 0x24]
jne 0x1001f1d0
inc edx
add eax, 0x14
dec ecx
jne 0x1001f1c3
test edx, edx
je 0x1001f212
jmp 0x1001f1e0
mov ebx, dword [esp + 0x18]
mov ecx, dword [esi + 8]
mov eax, dword [esi]
xor edx, edx
test ecx, ecx
je 0x1001f212
add eax, 4
mov esi, 1
cmp dword [eax + 4], esi
jne 0x1001f200
mov edi, dword [eax]
cmp edi, dword [ebx + 0x24]
jne 0x1001f200
inc edx
add eax, 0x14
dec ecx
jne 0x1001f1f3
test edx, edx
jne 0x1001f375
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 8]
cmp eax, 0x33
je 0x1001f26d
cmp eax, 0x36
je 0x1001f26d
cmp eax, 0x37
je 0x1001f26d
test eax, eax
je 0x1001f26d
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x1001f375
mov ecx, dword [esp + 0x7c]
mov esi, dword [esp + 0x10]
neg eax
test ecx, ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x24]
push 1
je 0x1001f25c
push 2
push edx
push eax
call fcn.1001ac00
add esp, 0x10
jmp 0x1001f375
push 1
push edx
push eax
call fcn.1001ac00
add esp, 0x10
jmp 0x1001f375
mov edi, dword [ebx + 0x48]
cmp edi, 0xffffffff
je 0x1001f375
mov ecx, dword [esp + 0x18]
mov bl, byte [ecx + 1]
cmp bl, 0x46
jne 0x1001f2e3
test eax, eax
jne 0x1001f2e3
mov ecx, dword [esp + 0x3e0]
mov esi, dword [esp + 0x54]
mov edx, edi
imul edx, edx, 0x4c
mov ecx, dword [edx + ecx + 0x28]
lea edx, [ecx + ecx*2]
shl edx, 4
add esi, edx
mov edx, dword [esi + 0x28]
cmp byte [edx + 8], bl
je 0x1001f2e3
mov dl, byte [esi + 0x30]
cmp dl, 5
jne 0x1001f2c1
mov ebp, dword [esi + 0x58]
cmp byte [ebp + 8], bl
je 0x1001f341
cmp dl, 7
jne 0x1001f2e3
mov edx, dword [esp + 0x54]
lea ecx, [ecx + ecx*2 + 6]
shl ecx, 4
cmp byte [ecx + edx], 5
jne 0x1001f2e3
mov ecx, dword [esi + 0x88]
cmp byte [ecx + 8], 0x46
je 0x1001f341
mov ecx, dword [esp + 0x3e0]
mov edx, edi
imul edx, edx, 0x4c
add ecx, edx
cmp byte [ecx + 1], bl
jne 0x1001f2fb
cmp dword [ecx + 8], eax
je 0x1001f341
mov esi, dword [ecx + 0x48]
cmp esi, 0xffffffff
je 0x1001f341
mov ecx, dword [esp + 0x3e0]
mov edx, esi
imul edx, edx, 0x4c
add ecx, edx
cmp byte [ecx + 1], bl
jne 0x1001f31f
cmp dword [ecx + 8], eax
jne 0x1001f31f
mov edi, esi
jmp 0x1001f341
mov ecx, dword [ecx + 0x48]
cmp ecx, 0xffffffff
je 0x1001f341
mov esi, dword [esp + 0x3e0]
mov edx, ecx
imul edx, edx, 0x4c
add esi, edx
cmp byte [esi + 1], bl
jne 0x1001f341
cmp dword [esi + 8], eax
jne 0x1001f341
mov edi, ecx
mov ecx, dword [esp + 0x3e0]
mov edx, edi
imul edx, edx, 0x4c
cmp dword [edx + ecx + 8], eax
je 0x1001f357
test eax, eax
jne 0x1001f375
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x1c]
push edi
push ecx
mov ecx, dword [esp + 0x28]
push ecx
push edx
push eax
call fcn.1001c1f0
add esp, 0x18
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0x14]
mov dword [esp + 0x8c], eax
add eax, 0xfffffffe
cmp eax, 9
ja case.0x1001f396.3
movzx ecx, byte [eax + 0x100214c0]
jmp dword [ecx*4 + 0x100214ac]
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 8]
mov eax, dword [eax]
xor esi, esi
test edx, edx
mov dword [esp + 0x68], eax
je 0x1001f3df
add eax, 4
mov ecx, edx
mov ebx, 1
lea ebx, [ebx]
cmp dword [eax + 4], ebx
jne 0x1001f3cd
mov ebp, dword [eax]
cmp ebp, dword [edi + 0x24]
jne 0x1001f3cd
inc esi
add eax, 0x14
dec ecx
jne 0x1001f3c0
test esi, esi
jne 0x10020efe
mov edi, dword [esp + 0x18]
mov esi, dword [edi + 0x48]
cmp esi, 0xffffffff
je 0x10020efe
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edi, dword [ebx + 0x24]
mov eax, edi
shl eax, 5
lea ebp, [eax + ecx]
mov eax, dword [ebp + 0x18]
test al, al
mov dword [esp + 0x7c], ebp
jns 0x1001f4e6
cmp dword [ebx + 0x18], 1
je 0x10020efe
test edx, edx
mov dword [esp + 0x84], 0
je 0x1001f487
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x3e0]
add eax, 4
cmp dword [eax + 4], 3
jne 0x1001f454
mov ebp, dword [eax]
mov ebx, esi
imul ebx, ebx, 0x4c
cmp ebp, dword [ebx + ecx + 0x24]
mov ebp, dword [esp + 0x7c]
jne 0x1001f454
inc dword [esp + 0x84]
add eax, 0x14
dec edx
jne 0x1001f436
mov eax, dword [esp + 0x84]
test eax, eax
je 0x1001f487
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 4]
test eax, eax
jne 0x1001f487
imul esi, esi, 0x4c
mov eax, dword [esi + ecx + 0x24]
mov ecx, dword [esp + 0x10]
push 3
push 1
push eax
push edi
push ecx
jmp 0x10020ef6
lea ebx, [edi - 1]
test ebx, ebx
je 0x1001f6db
mov eax, dword [ebp - 0x14]
cmp eax, 3
je 0x1001f4a3
cmp eax, 1
jne 0x1001f6db
cmp word [ebp - 0xc], 0
jne 0x1001f6db
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
push ebx
push edx
push eax
call fcn.1001c1a0
mov al, byte [eax]
add esp, 0xc
cmp al, 4
je 0x1001f4cf
cmp al, 7
jne 0x1001f6db
mov esi, dword [esp + 0x10]
push 1
push 1
push edi
push ebx
call fcn.1001ac00
add esp, 0x10
jmp 0x10020efe
test ah, 0x20
je 0x1001f500
cmp dword [ebx + 0x18], 1
je 0x10020efe
mov ecx, dword [esp + 0x10]
push ecx
push esi
jmp 0x1001f7a1
test eax, eax
jne 0x1001f52c
cmp dword [ebx + 0x18], 1
je 0x10020efe
mov eax, dword [esp + 0x3e0]
imul esi, esi, 0x4c
mov ecx, dword [esi + eax + 0x24]
mov edx, dword [esp + 0x10]
push 1
push 1
push ecx
push edi
push edx
jmp 0x10020ef6
test ah, 1
je 0x1001f63c
mov eax, dword [esp + 0x3e0]
imul esi, esi, 0x4c
mov edx, dword [eax + esi + 0x14]
add eax, esi
cmp edx, 2
jne 0x1001f5b6
mov edx, dword [eax + 0x24]
mov esi, edx
shl esi, 5
mov ecx, dword [esi + ecx + 0x10]
and ecx, 0x300
cmp ecx, 0x200
jne 0x1001f5b6
mov ecx, dword [ebp + 0x10]
test ch, 1
je 0x1001f5b6
cmp dword [eax + 0x3c], 0xffffffff
je 0x1001f5b6
cmp dword [ebx + 0x18], 1
je 0x1001f58b
push 1
push 1
push edx
mov edx, dword [esp + 0x1c]
push edi
push edx
call fcn.1001bd90
add esp, 0x14
mov ecx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x24]
imul ecx, ecx, 0x4c
mov edx, dword [esp + 0x3e0]
mov esi, dword [esp + 0x10]
push 1
push 2
push eax
mov eax, dword [ecx + edx + 0x3c]
push eax
call fcn.1001ac00
add esp, 0x10
jmp 0x10020efe
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
je 0x1001f603
mov edx, dword [esp + 0x54]
lea ecx, [ecx + ecx*2]
shl ecx, 4
cmp byte [ecx + edx - 0x30], 4
jne 0x1001f603
cmp dword [ebx + 0x18], 1
je 0x10020efe
mov esi, dword [eax + 0x24]
mov eax, dword [esp + 0x10]
push 1
push esi
push eax
call fcn.1001bd10
add esp, 0xc
test eax, eax
je 0x10020efe
mov ecx, dword [esp + 0x10]
push 1
push 1
push esi
push edi
push ecx
jmp 0x10020ef6
cmp dword [ebx + 0x18], 1
je 0x10020efe
mov esi, dword [eax + 0x24]
mov ebx, dword [esp + 0x10]
push 2
push esi
push ebx
call fcn.1001bd10
add esp, 0xc
test eax, eax
je 0x1001f630
push 2
push 1
push esi
push edi
push ebx
jmp 0x10020ef6
push 1
push 1
push esi
push edi
push ebx
jmp 0x10020ef6
test ah, 2
je 0x1001f6d1
cmp word [ebp + 0x14], 0
jne 0x1001f6d1
mov edx, dword [esp + 0x10]
push 2
push edi
push edx
call fcn.1001bd10
add esp, 0xc
test eax, eax
jne 0x10020efe
mov eax, dword [ebp + 0x10]
test ah, 1
je 0x10020efe
mov ebp, dword [esp + 0x3e0]
imul esi, esi, 0x4c
mov esi, dword [esi + ebp + 0x24]
mov ebx, dword [esp + 0x10]
push 2
push esi
push ebx
call fcn.1001bd10
add esp, 0xc
test eax, eax
push 1
je 0x1001f6c7
push 1
push esi
push edi
push ebx
call fcn.1001bd90
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x48]
mov eax, dword [eax + 0x24]
imul ecx, ecx, 0x4c
mov edx, dword [ecx + ebp + 0x24]
push 2
push 2
push edx
push eax
push ebx
call fcn.1001bd90
add esp, 0x28
jmp 0x10020efe
push 2
push esi
push edi
push ebx
jmp 0x10020ef6
cmp dword [ebx + 0x18], 1
je 0x10020efe
mov ecx, dword [esp + 0x3e0]
imul esi, esi, 0x4c
mov edx, dword [esi + ecx + 0x24]
push 1
push 1
push edx
push edi
jmp 0x10020ef1
cmp dword [edi + 0x18], 1
je 0x10020efe
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov eax, dword [eax]
xor edx, edx
test ecx, ecx
je 0x1001f73b
mov esi, dword [esp + 0x18]
add eax, 4
mov edi, 1
lea esp, [esp]
cmp dword [eax + 4], edi
jne 0x1001f72d
mov ebx, dword [eax]
cmp ebx, dword [esi + 0x24]
jne 0x1001f72d
inc edx
add eax, 0x14
dec ecx
jne 0x1001f720
test edx, edx
jne 0x10020efe
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x48]
cmp eax, 0xffffffff
je 0x10020efe
mov edi, dword [esp + 0x3e0]
mov ebx, dword [esp + 0x18]
mov esi, dword [ebx + 8]
mov edx, eax
imul edx, edx, 0x4c
lea ecx, [edx + edi]
mov edx, dword [ecx + 8]
cmp edx, esi
je 0x1001f7c5
cmp edx, 0x37
jne 0x1001f772
cmp esi, 0x33
je 0x1001f7c5
mov eax, dword [ecx + 0x48]
cmp eax, 0xffffffff
je 0x10020efe
cmp dword [ecx + 0x14], 7
jne 0x10020efe
mov edx, dword [esp + 0x18]
mov ecx, eax
imul ecx, ecx, 0x4c
cmp dword [ecx + edx + 8], esi
jne 0x10020efe
mov ecx, dword [esp + 0x10]
push ecx
push eax
mov edx, dword [esp + 0x3e8]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x24]
push eax
push ecx
push edx
call fcn.1001c1f0
add esp, 0x18
jmp 0x10020efe
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
push ecx
push eax
mov eax, dword [esp + 0x40]
push edi
push edx
push eax
push ebx
call fcn.1001c1f0
add esp, 0x18
jmp 0x10020efe
mov eax, dword [edi + 0x48]
cmp eax, 0xffffffff
je 0x10020efe
mov edi, dword [esp + 0x18]
imul eax, eax, 0x4c
mov ecx, dword [edi + 8]
cmp ecx, 0x37
mov ebx, dword [esp + 0x3e0]
jne 0x1001f818
mov edx, dword [eax + ebx + 8]
mov ecx, 0x33
cmp edx, ecx
jne 0x1001f82c
mov dword [edi + 8], ecx
jmp 0x1001f82c
mov edx, dword [eax + ebx + 8]
cmp edx, 0x37
lea eax, [eax + ebx + 8]
jne 0x1001f82c
cmp ecx, 0x33
jne 0x1001f82c
mov dword [eax], ecx
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 8]
mov eax, dword [esi]
xor edx, edx
test ecx, ecx
je 0x1001f858
add eax, 4
mov edi, edi
cmp dword [eax + 4], 1
jne 0x1001f84e
mov ebp, dword [eax]
cmp ebp, dword [edi + 0x24]
jne 0x1001f84e
inc edx
add eax, 0x14
dec ecx
jne 0x1001f840
test edx, edx
jne 0x1001f88f
mov eax, dword [edi + 0x48]
mov edx, dword [edi + 8]
mov ecx, eax
imul ecx, ecx, 0x4c
cmp edx, dword [ecx + ebx + 8]
jne 0x1001f88f
mov ecx, dword [esp + 0x38]
push esi
push eax
mov eax, dword [esp + 0x24]
push ebx
push eax
push ecx
push edi
call fcn.1001c1f0
add esp, 0x18
jmp 0x10020efe
mov ebx, dword [esp + 0x3e0]
mov esi, dword [esp + 0x10]
cmp dword [edi + 8], 0x32
jne 0x1001f8ba
cmp byte [edi + 1], 0x49
jne 0x1001f8ba
mov eax, dword [edi + 0x48]
cmp eax, 0xffffffff
je 0x1001f8ba
imul eax, eax, 0x4c
mov edx, dword [eax + ebx + 8]
mov ecx, 0x33
cmp edx, ecx
jne 0x1001f8ba
mov dword [edi + 8], ecx
mov byte [edi + 1], 0x43
mov ebx, dword [edi + 8]
cmp ebx, 0x33
mov dword [esp + 0x7c], ebx
je 0x1001fad5
cmp ebx, 0x36
je 0x1001fad5
test ebx, ebx
je 0x1001fad5
mov ecx, dword [esi + 8]
mov eax, dword [esi]
xor edx, edx
test ecx, ecx
je 0x1001f90c
add eax, 4
lea esp, [esp]
cmp dword [eax + 4], 2
jne 0x1001f8fe
mov esi, dword [eax]
cmp esi, dword [edi + 0x24]
jne 0x1001f8fe
inc edx
add eax, 0x14
dec ecx
jne 0x1001f8f0
test edx, edx
jne 0x1001fad5
mov esi, dword [edi + 0x1c]
dec esi
test esi, esi
jle 0x1001f932
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, esi
shl edx, 5
lea eax, [edx + ecx]
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x1001f930
cmp dword [eax + 0x10], 0x2c
jne 0x1001f930
dec esi
test esi, esi
jl 0x1001fa7c
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, esi
shl edx, 5
lea eax, [edx + ecx]
mov ecx, dword [eax + 0xc]
cmp ecx, 1
jne 0x1001f955
cmp word [eax + 0x14], 0
je 0x1001f96a
cmp ecx, 3
jne 0x1001fa7c
mov ecx, dword [eax + 0x10]
test ch, 0x1d
je 0x1001fa7c
mov eax, dword [esp + 0x24]
xor ecx, ecx
cmp eax, 1
mov dword [esp + 0x28], ecx
jg 0x1001f9bc
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov eax, 1
cmp eax, edx
jl 0x1001f99a
movzx ecx, word [esp + 0x2c]
nop
add edx, ecx
cmp eax, edx
jge 0x1001f990
mov dword [esp + 0x24], edx
shl edx, 2
push edx
push edi
call fcn.10083ee0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov edi, eax
lea eax, [ecx + 1]
add esp, 8
cmp eax, edx
mov dword [esp + 0x20], edi
jge 0x1001f98a
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4], esi
mov ebp, dword [esp + 0x28]
mov eax, dword [edi + 0x24]
inc ebp
mov dword [esp + 0x28], ebp
mov edx, dword [edx]
mov ecx, eax
shl ecx, 5
test dword [ecx + edx + 0x10], 0x100
je 0x1001fa2e
mov ebp, dword [esp + 0x10]
push 1
push 2
push eax
lea ebx, [esp + 0x2c]
mov eax, ebp
call fcn.1001acb0
mov esi, dword [edi + 0x24]
push 1
push esi
push ebp
mov dword [esp + 0x2c], 0xffffffff
call fcn.1001bd10
add esp, 0x18
test eax, eax
jne 0x1001fa7c
mov eax, dword [edi + 8]
push 1
push 1
push esi
neg eax
push eax
mov esi, ebp
call fcn.1001ac00
add esp, 0x10
jmp 0x1001fa7c
mov eax, dword [esp + 0x3ec]
test eax, eax
je 0x1001fa5c
mov ecx, dword [esp + 0x3f0]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x3e0]
lea edx, [esp + 0x24]
push edx
push eax
push edi
push ecx
call fcn.10040980
add esp, 0x14
mov edx, dword [edi + 0x24]
mov eax, dword [esp + 0x10]
push 1
push 1
push edx
lea ebx, [esp + 0x2c]
call fcn.1001acb0
add esp, 0xc
mov dword [esp + 0x14], 0xffffffff
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 8]
mov eax, dword [esi]
xor edx, edx
test ecx, ecx
je 0x1001fab6
mov esi, dword [esp + 0x18]
add eax, 4
mov edi, 1
cmp dword [eax + 4], edi
jne 0x1001faa4
mov ebx, dword [eax]
cmp ebx, dword [esi + 0x24]
jne 0x1001faa4
inc edx
add eax, 0x14
dec ecx
jne 0x1001fa97
test edx, edx
jne 0x10020efe
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x24]
mov edx, dword [eax + 8]
push 1
push 1
push ecx
neg edx
push edx
call fcn.1001ac00
add esp, 0x10
jmp 0x10020efe
mov eax, dword [edi + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov esi, dword [esp + 0x54]
lea ebp, [eax - 1]
shl eax, 5
lea ecx, [eax + edx]
mov eax, dword [ecx]
lea eax, [eax + eax*2]
shl eax, 4
add eax, esi
cmp byte [eax], 1
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x48], 0
jne 0x1001fb7e
mov ecx, dword [ecx]
lea ecx, [ecx + ecx*2]
shl ecx, 4
movzx ebx, byte [ecx + esi + 1]
add ecx, esi
mov dword [esp + 0x48], ebx
cmp byte [ecx + 0x30], 8
jne 0x1001fb3e
mov esi, dword [eax + 0x4c]
mov edi, 0x100a6dec
mov ecx, 4
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10020efe
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x54]
mov ebx, dword [esp + 0x7c]
test ebp, ebp
jle 0x1001fc10
mov ecx, ebp
shl ecx, 5
lea eax, [ecx + edx]
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x1001fc10
cmp dword [eax + 0x10], 0x2c
jne 0x1001fbda
dec ebp
mov eax, ebp
shl eax, 5
mov ecx, dword [eax + edx + 0xc]
add eax, edx
cmp ecx, 4
mov dword [esp + 0x3c], ebp
jne 0x1001fb93
dec ebp
jmp 0x1001fc0c
mov ecx, dword [eax + 4]
cmp ecx, dword [0x100bbe98]
jne 0x1001fb42
movzx eax, byte [eax + 1]
mov dword [esp + 0x48], eax
jmp 0x1001fb42
cmp ebp, 1
jle 0x1001fbba
cmp dword [eax - 0x14], 0
jne 0x1001fbba
cmp dword [eax - 0x10], 0x2c
jne 0x1001fbba
cmp ecx, 3
je 0x1001fbb5
cmp ecx, 0xb
je 0x1001fbb5
cmp word [eax + 0x14], 0
je 0x1001fbba
sub ebp, 2
jmp 0x1001fc0c
cmp ebp, 2
jle 0x1001fc10
cmp dword [eax - 0x34], 0
jne 0x1001fc10
cmp dword [eax - 0x30], 0x2c
jne 0x1001fc10
cmp ecx, 9
je 0x1001fc10
cmp ecx, 1
je 0x1001fc10
sub ebp, 3
jmp 0x1001fc0c
test ecx, ecx
jne 0x1001fc10
cmp dword [eax + 0x10], 0x29
jne 0x1001fc10
lea eax, [ebp - 1]
test eax, eax
jle 0x1001fc10
mov ecx, eax
shl ecx, 5
lea ecx, [ecx + edx + 0x10]
cmp dword [ecx - 4], 0
jne 0x1001fbff
cmp dword [ecx], 0x28
je 0x1001fc09
dec eax
sub ecx, 0x20
test eax, eax
jg 0x1001fbf4
jmp 0x1001fc10
lea ebp, [eax - 1]
mov dword [esp + 0x3c], ebp
mov eax, dword [esp + 0x48]
test eax, eax
je 0x1001fc1c
mov ecx, eax
jmp 0x1001fc88
mov eax, dword [edi + 0x2c]
cmp eax, 0xffffffff
je 0x1001fc50
mov ecx, dword [edi + 0x28]
lea ecx, [ecx + ecx*2]
shl ecx, 4
mov ecx, dword [ecx + esi + 4]
cmp ecx, dword [0x100bbde0]
jne 0x1001fc50
mov ecx, dword [edi + 0x30]
cmp ecx, 0xffffffff
je 0x1001fc43
mov eax, ecx
lea eax, [eax + eax*2]
shl eax, 4
movzx ecx, byte [eax + esi + 1]
jmp 0x1001fc88
test ebx, ebx
jne 0x1001fc6a
cmp byte [edi + 1], 0x50
jne 0x1001fc6a
mov eax, dword [edi + 0x28]
lea ecx, [eax + eax*2]
shl ecx, 4
movzx ecx, byte [ecx + esi + 1]
jmp 0x1001fc88
cmp ebx, 0x31
je 0x1001fc83
cmp ebx, 0x32
je 0x1001fc83
cmp ebx, 0x33
je 0x1001fc83
cmp ebx, 0x36
mov ecx, 4
jle 0x1001fc88
mov ecx, 8
test ebp, ebp
mov dword [esp + 0x58], ecx
jl 0x10020efe
mov esi, ebp
shl esi, 5
mov eax, dword [esi + edx + 0xc]
cmp eax, 1
mov dword [esp + 0x60], esi
je 0x100206d1
cmp eax, 3
jne 0x1001fccf
mov eax, dword [esi + edx + 0x10]
test ah, 0x18
je 0x1001fccf
movzx edx, byte [esi + edx + 0x1c]
push edx
push ecx
call fcn.1005b880
add esp, 8
test eax, eax
jne 0x100206d1
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [esi + ecx + 0xc]
add esi, ecx
cmp eax, 3
jne 0x10020485
test ebp, ebp
je 0x1001fcfe
mov eax, dword [esi - 0x14]
cmp eax, 3
je 0x1001fcfa
cmp eax, 1
je 0x1001fcfa
cmp eax, 9
jne 0x1001fcfe
xor eax, eax
jmp 0x1001fd03
mov eax, 1
cmp ebp, 2
jle 0x1001fd20
cmp dword [esi - 0x14], 5
jne 0x1001fd20
mov ecx, dword [esi - 0x10]
test ch, 1
je 0x1001fd20
cmp dword [esi - 0x34], 3
je 0x1001fec7
test eax, eax
je 0x1001fec7
mov ebp, dword [esp + 0x18]
mov eax, dword [ebp + 0x48]
cmp eax, 0xffffffff
je 0x1001fd97
cmp byte [ebp + 1], 0x50
jne 0x1001fd97
mov edx, dword [esp + 0x3e0]
imul eax, eax, 0x4c
mov cl, byte [eax + edx + 1]
add eax, edx
cmp cl, 0x50
jne 0x1001fd97
cmp dword [eax + 0x14], 2
jne 0x1001fd97
mov edi, dword [eax + 0x24]
mov ebx, dword [esp + 0x10]
push 2
push edi
push ebx
call fcn.1001bd10
add esp, 0xc
test eax, eax
je 0x1001fd9b
mov esi, dword [ebp + 0x24]
push 2
push esi
push ebx
call fcn.1001bd10
add esp, 0xc
test eax, eax
jne 0x100203ea
push 2
push 2
push edi
push esi
push ebx
call fcn.1001bd90
add esp, 0x14
jmp 0x100203ea
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x58]
xor ecx, ecx
mov cl, byte [esi + 0x1c]
push eax
push ecx
call fcn.1005b880
add esp, 8
test eax, eax
je 0x100203ea
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
xor esi, esi
cmp ecx, 1
mov dword [esp + 0x28], esi
jg 0x1001fe05
mov edx, 1
cmp edx, ecx
jl 0x1001fde1
movzx esi, word [esp + 0x2c]
add ecx, esi
cmp edx, ecx
jge 0x1001fdd7
mov dword [esp + 0x24], ecx
lea edx, [ecx*4]
push edx
push eax
call fcn.10083ee0
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
lea edx, [esi + 1]
add esp, 8
cmp edx, ecx
mov dword [esp + 0x20], eax
jge 0x1001fdd2
mov ecx, dword [esp + 0x3c]
mov dword [eax + esi*4], ecx
mov edx, dword [esp + 0x28]
mov esi, dword [ebp + 0x24]
push 1
inc edx
push esi
push ebx
mov dword [esp + 0x34], edx
call fcn.1001bd10
add esp, 0xc
test eax, eax
jne 0x1001fe96
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx + eax + 0x1c]
mov ecx, dword [esp + 0x3ec]
test ecx, ecx
mov dword [ebp + 0x10], eax
mov dword [esp + 0x14], eax
je 0x1001fe67
mov edx, dword [esp + 0x3f0]
push edx
mov edx, dword [esp + 0x3e0]
lea ecx, [esp + 0x24]
push ecx
push eax
push ebp
push edx
call fcn.10040980
add esp, 0x14
mov eax, dword [esp + 0x38]
mov cl, byte [eax + 0x10]
test cl, cl
lea ebx, [esp + 0x20]
push 1
jns 0x1001fe87
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x24]
push 2
push edx
jmp 0x100203cc
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x24]
push 1
push ecx
jmp 0x100203cc
push 2
push esi
push ebx
call fcn.1001bd10
add esp, 0xc
test eax, eax
jne 0x100203dc
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, esi
shl edx, 5
mov eax, dword [edx + ecx + 0x10]
test ah, 1
je 0x100203dc
jmp 0x100203c3
test ebp, ebp
je 0x100203e6
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0x2c]
or eax, 0xffffffff
cmp ecx, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x28], 0
je 0x100200f2
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x60]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x84], eax
mov dword [esp + 0x5c], 0
mov ebx, eax
mov dword [esp + 0x48], eax
mov edi, edi
mov eax, dword [ebp]
cmp word [edi + eax + 0x14], 4
lea ecx, [edi + eax]
je 0x1001ffb2
mov eax, dword [ecx + 0xc]
cmp eax, 3
je 0x1001ff47
cmp eax, 1
je 0x1001ff47
cmp eax, 2
je 0x1001ffb2
cmp eax, 5
jne 0x1001ffbe
mov eax, dword [ecx + 0x10]
test ah, 1
je 0x1001ffbe
jmp 0x1001ffb2
mov edx, dword [esp + 0x58]
xor eax, eax
mov al, byte [ecx + 0x1c]
push edx
push eax
call fcn.1005b880
add esp, 8
test eax, eax
je 0x1001ff83
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x64]
inc ecx
cmp eax, esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x5c], ecx
jne 0x1001ff78
mov ebx, esi
cmp dword [esp + 0x34], 0xffffffff
jne 0x1001ff83
mov dword [esp + 0x34], esi
mov ecx, dword [ebp]
lea eax, [edi + ecx]
cmp dword [eax + 0xc], 1
jne 0x1001ff98
cmp ebx, 0xffffffff
jne 0x1001ffb2
mov ebx, esi
jmp 0x1001ffb2
mov ecx, dword [eax + 0x10]
test ch, 1
je 0x1001ffa7
cmp ebx, 0xffffffff
jne 0x1001ffa7
mov ebx, esi
cmp dword [esp + 0x48], 0xffffffff
jne 0x1001ffb2
mov dword [esp + 0x48], esi
dec esi
sub edi, 0x20
test esi, esi
jge 0x1001ff10
test esi, esi
jle 0x1002004b
mov eax, dword [ebp]
mov edx, esi
shl edx, 5
mov ecx, dword [edx + eax + 0xc]
test ecx, ecx
jne 0x1002004b
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + eax + 0x2c]
test edx, edx
jne 0x1002004b
mov edx, dword [esp + 0x58]
dec esi
mov edi, esi
shl edi, 5
movzx eax, byte [edi + eax + 0x1c]
push edx
push eax
call fcn.1005b880
add esp, 8
test eax, eax
je 0x1002001c
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x34]
inc ecx
cmp eax, 0xffffffff
mov dword [esp + 0x84], esi
mov dword [esp + 0x5c], ecx
jne 0x1002001c
mov dword [esp + 0x34], esi
mov ecx, dword [ebp]
lea eax, [edi + ecx]
cmp dword [eax + 0xc], 1
jne 0x10020031
cmp ebx, 0xffffffff
jne 0x1002004b
mov ebx, esi
jmp 0x1002004b
mov ecx, dword [eax + 0x10]
test ch, 1
je 0x10020040
cmp ebx, 0xffffffff
jne 0x10020040
mov ebx, esi
cmp dword [esp + 0x48], 0xffffffff
jne 0x1002004b
mov dword [esp + 0x48], esi
cmp dword [esp + 0x5c], 1
jne 0x1002005e
mov edi, dword [esp + 0x84]
cmp edi, 0xffffffff
jne 0x1002007d
cmp ebx, 0xffffffff
je 0x10020067
mov edi, ebx
jmp 0x10020074
mov edi, dword [esp + 0x48]
cmp edi, 0xffffffff
je 0x100202ba
cmp edi, 0xffffffff
je 0x100202ba
mov edx, dword [esp + 0x58]
mov ecx, dword [ebp]
push edx
mov eax, edi
shl eax, 5
xor edx, edx
mov dl, byte [eax + ecx + 0x1c]
push edx
call fcn.1005b880
add esp, 8
test eax, eax
jne 0x100200a7
mov eax, dword [esp + 0x34]
cmp eax, edi
jle 0x100200a7
mov edi, eax
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
lea edx, [esi + 1]
cmp edx, ecx
jl 0x100200ea
movzx esi, word [esp + 0x2c]
nop
add ecx, esi
cmp edx, ecx
jge 0x100200c0
mov dword [esp + 0x24], ecx
shl ecx, 2
push ecx
push eax
call fcn.10083ee0
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
lea edx, [esi + 1]
add esp, 8
cmp edx, ecx
mov dword [esp + 0x20], eax
jge 0x100200ba
mov dword [eax + esi*4], edi
jmp 0x100202b6
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x3c]
or ebp, 0xffffffff
test eax, eax
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x64], 0
mov dword [esp + 0x5c], ebp
je 0x10020117
mov dword [esp + 0x68], eax
jmp 0x10020164
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 8]
test eax, eax
jne 0x10020140
cmp byte [ecx + 1], 0x50
jne 0x10020140
mov eax, dword [ecx + 0x28]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x54]
shl edx, 4
movzx ecx, byte [edx + eax + 1]
mov dword [esp + 0x68], ecx
jmp 0x10020164
cmp eax, 0x31
je 0x1002015c
cmp eax, 0x32
je 0x1002015c
cmp eax, 0x33
je 0x1002015c
cmp eax, 0x36
mov dword [esp + 0x68], 4
jle 0x10020164
mov dword [esp + 0x68], 8
mov ebx, dword [esp + 0x60]
jmp 0x10020170
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [eax + ebx + 0xc]
add eax, ebx
cmp ecx, 3
je 0x100201a7
cmp ecx, 1
jne 0x1002018d
cmp word [eax + 0x14], 0
je 0x100201a7
cmp ecx, 5
jne 0x1002023c
mov ecx, dword [eax + 0x10]
test ch, 1
je 0x1002023c
jmp 0x10020230
mov ecx, dword [esp + 0x68]
xor edx, edx
mov dl, byte [eax + 0x1c]
push ecx
xor esi, esi
push edx
call fcn.1005b880
add esp, 8
test eax, eax
je 0x100201d2
mov eax, dword [esp + 0x64]
inc eax
mov esi, 1
mov dword [esp + 0x7c], edi
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ecx + ebx + 0xc]
add ecx, ebx
cmp eax, 1
jne 0x100201f0
cmp ebp, 0xffffffff
jne 0x1002021d
test esi, esi
je 0x1002021d
mov ebp, edi
jmp 0x1002021d
mov eax, dword [ecx + 0x10]
test ah, 3
jne 0x10020203
cmp edi, dword [esp + 0x3c]
jne 0x1002020e
test ah, 0x20
je 0x1002020e
cmp ebp, 0xffffffff
jne 0x1002020e
test esi, esi
je 0x1002020e
mov ebp, edi
cmp dword [esp + 0x5c], 0xffffffff
jne 0x1002021d
test esi, esi
je 0x1002021d
mov dword [esp + 0x5c], edi
mov eax, dword [ecx + 0x10]
test ah, 0x54
je 0x10020230
cmp ebp, 0xffffffff
jne 0x1002023c
cmp dword [esp + 0x5c], ebp
jne 0x1002023c
dec edi
sub ebx, 0x20
test edi, edi
jge 0x10020170
cmp dword [esp + 0x64], 1
jne 0x1002024c
mov edi, dword [esp + 0x7c]
cmp edi, 0xffffffff
jne 0x10020265
cmp ebp, 0xffffffff
je 0x10020255
mov edi, ebp
jmp 0x10020260
mov eax, dword [esp + 0x5c]
cmp eax, 0xffffffff
je 0x100202ba
mov edi, eax
cmp edi, 0xffffffff
je 0x100202ba
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
inc eax
cmp eax, ecx
jl 0x100202ab
mov esi, dword [esp + 0x20]
mov edx, ecx
cmp eax, edx
jl 0x1002028b
movzx ecx, word [esp + 0x2c]
add edx, ecx
cmp eax, edx
jge 0x10020281
mov dword [esp + 0x24], edx
shl edx, 2
push edx
push esi
call fcn.10083ee0
mov edx, dword [esp + 0x2c]
mov esi, eax
mov eax, dword [esp + 0x30]
add esp, 8
inc eax
cmp eax, edx
mov dword [esp + 0x20], esi
jge 0x1002027c
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov dword [eax + ecx*4], edi
inc dword [esp + 0x28]
mov eax, dword [esp + 0x28]
test eax, eax
je 0x100203e6
mov ebx, dword [esp + 0x38]
mov esi, dword [ebx + 0x10]
and esi, 0x80
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
jne 0x100202f0
mov edx, dword [ebp + 0x24]
push 1
push edx
push edi
call fcn.1001bd10
add esp, 0xc
test eax, eax
je 0x1002030f
test esi, esi
je 0x1002039d
mov eax, dword [ebp + 0x24]
push 2
push eax
push edi
call fcn.1001bd10
add esp, 0xc
test eax, eax
jne 0x1002039d
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
shl edx, 5
mov eax, dword [edx + ecx + 0x1c]
cmp dword [ebp + 0x14], 2
mov dword [ebp + 0x10], eax
mov dword [esp + 0x14], eax
jne 0x1002034e
cmp byte [ebp + 1], 0x49
jne 0x1002034e
cmp dword [ebp + 8], 0x32
jne 0x1002034e
test al, 2
jne 0x1002034e
test al, 8
je 0x1002034e
mov dword [ebp + 8], 0x33
mov byte [ebp + 1], 0x43
mov ecx, dword [esp + 0x3ec]
test ecx, ecx
je 0x10020378
mov edx, dword [esp + 0x3f0]
push edx
mov edx, dword [esp + 0x3e0]
lea ecx, [esp + 0x24]
push ecx
push eax
push ebp
push edx
call fcn.10040980
add esp, 0x14
mov al, byte [ebx + 0x10]
test al, al
lea ebx, [esp + 0x20]
push 1
jns 0x10020391
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x24]
push 2
push ecx
jmp 0x100203cc
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x24]
push 1
push eax
jmp 0x100203cc
mov esi, dword [ebp + 0x24]
push 2
push esi
push edi
call fcn.1001bd10
add esp, 0xc
test eax, eax
jne 0x100203dc
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, esi
shl ecx, 5
mov dl, byte [ecx + eax + 0x10]
test dl, dl
jns 0x100203dc
push 1
push 2
push esi
lea ebx, [esp + 0x2c]
mov eax, dword [esp + 0x1c]
call fcn.1001acb0
mov ebp, dword [esp + 0x24]
add esp, 0xc
mov dword [esp + 0x14], 0xffffffff
jmp 0x100203ea
mov ebp, dword [esp + 0x18]
cmp byte [ebp + 1], 0x50
jne 0x10020efe
mov ecx, dword [esp + 0x38]
mov al, byte [ecx + 0x10]
test al, al
jns 0x10020efe
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov eax, dword [eax]
xor edx, edx
test ecx, ecx
je 0x1002043b
mov esi, dword [esp + 0x18]
add eax, 4
mov edi, 1
mov edi, edi
cmp dword [eax + 4], edi
jne 0x1002042d
mov ebx, dword [eax]
cmp ebx, dword [esi + 0x24]
jne 0x1002042d
inc edx
add eax, 0x14
dec ecx
jne 0x10020420
test edx, edx
jne 0x10020efe
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x48]
cmp eax, 0xffffffff
je 0x10020efe
mov ecx, dword [esp + 0x3e0]
imul eax, eax, 0x4c
mov eax, dword [eax + ecx + 0x24]
mov ecx, dword [esp + 0x3c]
cmp ecx, eax
je 0x100206ba
lea edx, [eax + 1]
cmp ecx, edx
jne 0x10020efe
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x60]
mov esi, dword [ecx + edx + 0x2c]
test esi, esi
jmp 0x100206b4
cmp eax, 9
jne 0x10020efe
mov edx, dword [esp + 0x38]
mov ebx, dword [edx + 0x10]
test bl, bl
js 0x100205cc
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov eax, dword [eax]
xor edx, edx
test ecx, ecx
mov edi, 1
je 0x100204d3
mov esi, dword [esp + 0x18]
add eax, 4
cmp dword [eax + 4], edi
jne 0x100204c5
mov ebp, dword [eax]
cmp ebp, dword [esi + 0x24]
jne 0x100204c5
inc edx
add eax, 0x14
dec ecx
jne 0x100204b8
test edx, edx
jne 0x100205cc
mov eax, dword [esp + 0x24]
xor ecx, ecx
cmp eax, edi
mov dword [esp + 0x28], ecx
jg 0x10020527
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov eax, 1
cmp eax, edx
jl 0x10020501
movzx ecx, word [esp + 0x2c]
add edx, ecx
cmp eax, edx
jge 0x100204f7
mov dword [esp + 0x24], edx
lea eax, [edx*4]
push eax
push esi
call fcn.10083ee0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov esi, eax
lea eax, [ecx + 1]
add esp, 8
cmp eax, edx
mov dword [esp + 0x20], esi
jge 0x100204f2
mov edx, dword [esp + 0x20]
mov ebp, dword [esp + 0x3c]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov dword [edx + ecx*4], ebp
inc dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [esp + 0x60]
mov eax, dword [edx + ecx + 0x1c]
mov ecx, dword [esp + 0x3ec]
test ecx, ecx
mov dword [esi + 0x10], eax
mov dword [esp + 0x14], eax
je 0x10020579
mov ecx, dword [esp + 0x3f0]
push ecx
lea edx, [esp + 0x24]
push edx
push eax
mov eax, dword [esp + 0x3e8]
push esi
push eax
call fcn.10040980
add esp, 0x14
mov ecx, dword [esi + 0x24]
mov edi, dword [esp + 0x10]
push 1
push 1
push ecx
lea ebx, [esp + 0x2c]
mov eax, edi
call fcn.1001acb0
mov eax, dword [esi + 0x48]
add esp, 0xc
cmp eax, 0xffffffff
mov dword [esp + 0x14], 0xffffffff
je 0x10020efe
mov edx, dword [esp + 0x3e0]
imul eax, eax, 0x4c
mov eax, dword [eax + edx + 0x24]
cmp ebp, eax
jne 0x10020efe
push 1
push 1
push eax
mov eax, dword [esi + 0x24]
push eax
push edi
jmp 0x10020ef6
test bh, 1
je 0x10020efe
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov eax, dword [eax]
xor edx, edx
test ecx, ecx
je 0x1002060b
mov esi, dword [esp + 0x18]
add eax, 4
mov edi, 2
cmp dword [eax + 4], edi
jne 0x100205fd
mov ebx, dword [eax]
cmp ebx, dword [esi + 0x24]
jne 0x100205fd
inc edx
add eax, 0x14
dec ecx
jne 0x100205f0
test edx, edx
jne 0x10020efe
mov eax, dword [esp + 0x24]
xor ecx, ecx
cmp eax, 1
mov dword [esp + 0x28], ecx
jg 0x10020660
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov eax, 1
cmp eax, edx
jl 0x1002063a
movzx ecx, word [esp + 0x2c]
add edx, ecx
cmp eax, edx
jge 0x10020630
mov dword [esp + 0x24], edx
lea ecx, [edx*4]
push ecx
push esi
call fcn.10083ee0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov esi, eax
lea eax, [ecx + 1]
add esp, 8
cmp eax, edx
mov dword [esp + 0x20], esi
jge 0x1002062b
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x18]
mov dword [edx + ecx*4], edi
mov ecx, dword [esp + 0x28]
mov eax, dword [esi + 0x24]
push 1
push 2
inc ecx
push eax
mov eax, dword [esp + 0x1c]
lea ebx, [esp + 0x2c]
mov dword [esp + 0x34], ecx
call fcn.1001acb0
mov eax, dword [esi + 0x48]
add esp, 0xc
cmp eax, 0xffffffff
mov dword [esp + 0x14], 0xffffffff
je 0x10020efe
mov ecx, dword [esp + 0x3e0]
imul eax, eax, 0x4c
mov eax, dword [eax + ecx + 0x24]
cmp edi, eax
jne 0x10020efe
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
push 1
push 2
push eax
mov eax, dword [edx + 0x24]
push eax
push ecx
jmp 0x10020ef6
mov eax, dword [esp + 0x24]
xor ecx, ecx
cmp eax, 1
mov dword [esp + 0x28], ecx
jg 0x10020722
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov eax, 1
cmp eax, edx
jl 0x10020700
movzx ecx, word [esp + 0x2c]
add edx, ecx
cmp eax, edx
jge 0x100206f6
mov dword [esp + 0x24], edx
shl edx, 2
push edx
push esi
call fcn.10083ee0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov esi, eax
lea eax, [ecx + 1]
add esp, 8
cmp eax, edx
mov dword [esp + 0x20], esi
jge 0x100206f1
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov dword [eax + ecx*4], edi
inc dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
mov esi, dword [ecx + 0x10]
and esi, 0x80
je 0x1002075b
mov edx, dword [ebx + 0x24]
push 2
push edx
push ebp
call fcn.1001bd10
add esp, 0xc
test eax, eax
je 0x1002077a
test esi, esi
jne 0x10020911
mov eax, dword [ebx + 0x24]
push 1
push eax
push ebp
call fcn.1001bd10
add esp, 0xc
test eax, eax
jne 0x10020911
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov eax, dword [esp + 0x60]
xor ecx, ecx
mov cl, byte [eax + edx + 0x1c]
mov edx, dword [esp + 0x58]
mov edi, 1
push ecx
push edx
call fcn.1005b880
add esp, 8
test eax, eax
jne 0x1002083a
mov eax, dword [ebx + 0x48]
cmp eax, 0xffffffff
je 0x10020826
mov ecx, dword [esp + 0x3e0]
imul eax, eax, 0x4c
add eax, ecx
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x10020826
mov esi, dword [eax + 0x24]
push edi
push esi
push ebp
call fcn.1001bd10
add esp, 0xc
test eax, eax
je 0x10020826
mov edx, dword [esp + 0x38]
mov al, byte [edx + 0x10]
test al, al
js 0x10020826
mov eax, dword [esp + 0x3dc]
push edi
push esi
push ebp
push eax
call fcn.1001bbf0
mov ecx, dword [esp + 0x68]
push eax
push ecx
call fcn.1005b880
add esp, 0x18
test eax, eax
je 0x10020826
mov edx, dword [ebx + 0x48]
mov eax, dword [esp + 0x3e0]
imul edx, edx, 0x4c
mov ecx, dword [edx + eax + 0x24]
mov edx, dword [ebx + 0x24]
push edi
push edi
push ecx
push edx
push ebp
call fcn.1001bd90
add esp, 0x14
xor edi, edi
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x1002095b
test edi, edi
je 0x1002095b
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [esp + 0x60]
mov eax, dword [edx + ecx + 0x1c]
mov esi, eax
mov dword [ebx + 0x10], eax
and eax, 8
mov dword [esp + 0x14], esi
je 0x10020874
cmp dword [ebx + 8], 0x32
jne 0x10020874
cmp byte [ebx + 1], 0x49
jne 0x10020874
mov ecx, dword [ebx + 4]
test ecx, ecx
jne 0x10020874
mov dword [ebx + 8], 0x33
mov byte [ebx + 1], 0x43
mov ecx, dword [esp + 0x3ec]
test ecx, ecx
je 0x100208c2
cmp eax, 8
jne 0x100208a3
cmp dword [ebx + 8], 0x36
jne 0x100208a3
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x3dc]
push eax
push ecx
call fcn.1001c2d0
add esp, 8
test eax, eax
jne 0x100208c2
mov edx, dword [esp + 0x3f0]
mov ecx, dword [esp + 0x3dc]
push edx
lea eax, [esp + 0x24]
push eax
push esi
push ebx
push ecx
call fcn.10040980
add esp, 0x14
mov edx, dword [esp + 0x38]
mov al, byte [edx + 0x10]
test al, al
push 1
jns 0x100208f0
mov eax, dword [ebx + 0x24]
push 2
push eax
lea ebx, [esp + 0x2c]
mov eax, ebp
call fcn.1001acb0
add esp, 0xc
mov dword [esp + 0x14], 0xffffffff
jmp 0x10020efe
mov ecx, dword [ebx + 0x24]
push 1
push ecx
lea ebx, [esp + 0x2c]
mov eax, ebp
call fcn.1001acb0
add esp, 0xc
mov dword [esp + 0x14], 0xffffffff
jmp 0x10020efe
mov esi, dword [ebx + 0x24]
push 2
push esi
push ebp
call fcn.1001bd10
add esp, 0xc
test eax, eax
jne 0x10020958
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, esi
shl edx, 5
mov eax, dword [edx + ecx + 0x10]
test ah, 1
je 0x10020958
push 1
push 2
push esi
lea ebx, [esp + 0x2c]
mov eax, ebp
call fcn.1001acb0
add esp, 0xc
mov dword [esp + 0x14], 0xffffffff
jmp 0x10020efe
mov dword [ebx + 0x3c], edi
mov dword [esp + 0x14], 0xffffffff
jmp 0x10020efe
cmp dword [edi + 0x18], 1
je 0x10020efe
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov eax, dword [eax]
xor edx, edx
test ecx, ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x68], eax
je 0x100209b0
mov esi, dword [esp + 0x18]
add eax, 4
mov edi, 1
cmp dword [eax + 4], edi
jne 0x100209a2
mov ebx, dword [eax]
cmp ebx, dword [esi + 0x24]
jne 0x100209a2
inc edx
add eax, 0x14
dec ecx
jne 0x10020995
test edx, edx
jne 0x10020efe
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x10]
test ah, 0x10
mov dword [esp + 0x34], eax
jne 0x10020efe
mov ebx, dword [esp + 0x18]
mov ecx, dword [ebx + 8]
cmp ecx, 0x33
je 0x10020a03
cmp ecx, 0x36
je 0x10020a03
test ecx, ecx
je 0x10020a03
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x10020efe
mov esi, dword [esp + 0x10]
push 1
mov eax, ebx
mov edx, dword [eax + 0x24]
push 1
push edx
neg ecx
push ecx
call fcn.1001ac00
add esp, 0x10
jmp 0x10020efe
mov eax, dword [ebx + 0x48]
cmp eax, 0xffffffff
mov ebp, dword [esp + 0x3e0]
je 0x10020efe
mov edx, eax
imul edx, edx, 0x4c
lea esi, [edx + ebp]
mov edx, dword [esi + 0x14]
cmp edx, 2
je 0x10020a2f
cmp edx, 0xb
jne 0x10020bc2
mov eax, dword [esi + 0x48]
cmp eax, 0xffffffff
je 0x10020a7d
imul eax, eax, 0x4c
lea edx, [eax + ebp]
mov eax, dword [edx + 0x14]
cmp eax, 0xc
je 0x10020a4a
cmp eax, 3
jne 0x10020a7d
cmp ecx, 0x33
jne 0x10020a7d
mov cl, byte [esp + 0x34]
test cl, cl
mov eax, 1
jns 0x10020a61
mov eax, 2
mov ecx, dword [edx + 0x24]
mov esi, dword [esp + 0x10]
push 1
push eax
mov eax, dword [ebx + 0x24]
push eax
push ecx
call fcn.1001ac00
add esp, 0x10
jmp 0x10020efe
mov esi, dword [esi + 0x1c]
test esi, esi
je 0x10020efe
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, esi
shl ecx, 5
mov edx, dword [ecx + eax - 0x14]
test edx, edx
jne 0x10020a9c
dec esi
test esi, esi
je 0x10020efe
mov edx, esi
shl edx, 5
cmp dword [edx + eax - 0x14], 1
jne 0x10020efe
mov al, byte [esp + 0x34]
test al, al
mov ebx, 1
jns 0x10020ac6
mov ebx, 2
mov ecx, dword [esp + 0x7c]
xor edx, edx
test ecx, ecx
je 0x10020afb
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x18]
add eax, 4
jmp 0x10020ae0
cmp dword [eax + 4], ebx
jne 0x10020aed
mov ebp, dword [eax]
cmp ebp, dword [edi + 0x24]
jne 0x10020aed
inc edx
add eax, 0x14
dec ecx
jne 0x10020ae0
test edx, edx
jne 0x10020efe
mov eax, dword [esp + 0x24]
xor ecx, ecx
dec esi
cmp eax, 1
mov dword [esp + 0x28], ecx
jg 0x10020b51
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov eax, 1
cmp eax, edx
jl 0x10020b2b
movzx ecx, word [esp + 0x2c]
add edx, ecx
cmp eax, edx
jge 0x10020b21
mov dword [esp + 0x24], edx
lea eax, [edx*4]
push eax
push edi
call fcn.10083ee0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov edi, eax
lea eax, [ecx + 1]
add esp, 8
cmp eax, edx
mov dword [esp + 0x20], edi
jge 0x10020b1c
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov dword [edx + ecx*4], esi
inc dword [esp + 0x28]
mov ecx, dword [eax]
shl esi, 5
mov eax, dword [esi + ecx + 0x1c]
mov ecx, dword [esp + 0x3ec]
test ecx, ecx
mov esi, dword [esp + 0x18]
mov dword [esi + 0x10], eax
mov dword [esp + 0x14], eax
je 0x10020b9e
mov edx, dword [esp + 0x3f0]
push edx
mov edx, dword [esp + 0x3e0]
lea ecx, [esp + 0x24]
push ecx
push eax
push esi
push edx
call fcn.10040980
add esp, 0x14
mov eax, dword [esi + 0x24]
push 1
push ebx
lea ebx, [esp + 0x28]
push eax
mov eax, dword [esp + 0x1c]
call fcn.1001acb0
add esp, 0xc
mov dword [esp + 0x14], 0xffffffff
jmp 0x10020efe
cmp eax, 0xffffffff
je 0x10020efe
mov edx, eax
imul edx, edx, 0x4c
lea edi, [edx + ebp]
mov edx, dword [edi + 0x14]
test edx, edx
je 0x10020be3
cmp edx, 6
jne 0x10020cc6
cmp dword [edi + 8], ecx
je 0x10020bf0
test ecx, ecx
jne 0x10020cc6
mov esi, dword [ebx + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x5c]
mov ecx, dword [ecx + 8]
mov eax, esi
shl eax, 5
mov eax, dword [eax + edx]
dec eax
xor edx, edx
test eax, eax
setl dl
dec edx
and edx, eax
dec ecx
cmp edx, ecx
jge 0x10020c22
xor ecx, ecx
test eax, eax
setl cl
dec ecx
and ecx, eax
test esi, esi
je 0x10020cb2
mov eax, dword [esp + 0x54]
lea edx, [ecx + ecx*2]
shl edx, 4
mov cl, byte [eax + edx]
add eax, edx
cmp cl, 9
jne 0x10020cb2
mov ecx, dword [eax + 0x1c]
cmp byte [ecx], 0x3a
jne 0x10020cb2
mov ecx, dword [esp + 0x7c]
xor edx, edx
test ecx, ecx
je 0x10020c8c
mov eax, dword [esp + 0x68]
add eax, 4
mov esi, 2
lea esp, [esp]
cmp dword [eax + 4], esi
jne 0x10020c6d
mov ebp, dword [eax]
cmp ebp, dword [edi + 0x24]
jne 0x10020c6d
inc edx
add eax, 0x14
dec ecx
jne 0x10020c60
test edx, edx
je 0x10020c8c
mov edx, dword [edi + 0x24]
mov eax, dword [ebx + 0x24]
mov ecx, dword [esp + 0x10]
push esi
push 1
push edx
push eax
push ecx
jmp 0x10020ef6
mov al, byte [esp + 0x34]
test al, al
js 0x10020efe
mov edx, dword [edi + 0x24]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x24]
push 1
push 1
push edx
mov edx, dword [esp + 0x1c]
push ecx
push edx
jmp 0x10020ef6
mov al, byte [esp + 0x34]
test al, al
js 0x10020efe
mov eax, dword [edi + 0x24]
jmp 0x10020ee4
cmp eax, 0xffffffff
je 0x10020efe
mov ecx, eax
imul ecx, ecx, 0x4c
lea edx, [ecx + ebp]
mov ecx, dword [edx + 0x48]
cmp ecx, 0xffffffff
je 0x10020e04
cmp dword [edx + 0x14], 6
jne 0x10020e04
imul ecx, ecx, 0x4c
mov edx, dword [ecx + ebp + 0x14]
add ecx, ebp
cmp edx, 2
je 0x10020d04
cmp edx, 0xb
jne 0x10020e04
mov esi, dword [ecx + 0x1c]
test esi, esi
je 0x10020efe
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, esi
shl ecx, 5
mov edx, dword [ecx + eax - 0x14]
test edx, edx
jne 0x10020d23
dec esi
test esi, esi
je 0x10020efe
mov edx, esi
shl edx, 5
cmp dword [edx + eax - 0x14], 1
jne 0x10020efe
mov eax, dword [esp + 0x24]
xor ecx, ecx
dec esi
cmp eax, 1
mov dword [esp + 0x28], ecx
jg 0x10020d91
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov eax, 1
cmp eax, edx
jl 0x10020d6b
movzx ecx, word [esp + 0x2c]
add edx, ecx
cmp eax, edx
jge 0x10020d61
mov dword [esp + 0x24], edx
lea eax, [edx*4]
push eax
push edi
call fcn.10083ee0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov edi, eax
lea eax, [ecx + 1]
add esp, 8
cmp eax, edx
mov dword [esp + 0x20], edi
jge 0x10020d5c
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov dword [edx + ecx*4], esi
inc dword [esp + 0x28]
mov ecx, dword [eax]
mov eax, dword [esp + 0x3ec]
shl esi, 5
test eax, eax
mov esi, dword [esi + ecx + 0x1c]
mov dword [edi + 0x10], esi
mov dword [esp + 0x14], esi
je 0x10020dde
mov edx, dword [esp + 0x3f0]
mov ecx, dword [esp + 0x3dc]
push edx
lea eax, [esp + 0x24]
push eax
push esi
push edi
push ecx
call fcn.10040980
add esp, 0x14
mov edx, dword [esp + 0x38]
mov al, byte [edx + 0x10]
test al, al
lea ebx, [esp + 0x20]
push 1
jns 0x10020df9
mov eax, dword [edi + 0x24]
push 2
jmp 0x10020ba8
mov ecx, dword [edi + 0x24]
push 1
push ecx
jmp 0x10020ba9
cmp eax, 0xffffffff
je 0x10020efe
mov edx, eax
imul edx, edx, 0x4c
mov esi, dword [edx + ebp + 0x14]
lea ecx, [edx + ebp]
mov edx, 0xc
cmp esi, edx
jne 0x10020eab
mov eax, dword [esp + 0x3ec]
test eax, eax
je 0x10020efe
mov eax, dword [esp + 0x8c]
test eax, eax
jne 0x10020efe
mov dword [esp + 0x28], 0
mov eax, dword [ecx + 0x48]
cmp eax, 0xffffffff
je 0x10020e6f
cmp dword [ecx + 0x18], 1
jne 0x10020e6f
mov ecx, dword [esp + 0x3e0]
imul eax, eax, 0x4c
cmp dword [eax + ecx + 0x14], edx
mov eax, 0x84
je 0x10020e74
mov eax, 0x88
mov edx, dword [esp + 0x18]
test dword [edx + 0xc], 0x20000
mov dword [esp + 0x14], eax
jne 0x10020efe
mov ecx, dword [esp + 0x3f0]
push ecx
mov ecx, dword [esp + 0x3e0]
lea edx, [esp + 0x24]
push edx
push eax
mov eax, dword [esp + 0x24]
push eax
push ecx
call fcn.10040980
jmp 0x10020efb
cmp eax, 0xffffffff
je 0x10020efe
mov edx, dword [esp + 0x3e0]
imul eax, eax, 0x4c
lea ecx, [eax + edx]
mov eax, dword [ecx + 0x48]
cmp eax, 0xffffffff
je 0x10020efe
imul eax, eax, 0x4c
mov esi, dword [eax + edx + 0x14]
test esi, esi
jne 0x10020efe
mov eax, dword [esp + 0x8c]
test eax, eax
jne 0x10020efe
cmp dword [ecx + 0x14], 7
jne 0x10020efe
mov eax, dword [ecx + 0x24]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x24]
push 1
push 1
push eax
push edx
mov eax, dword [esp + 0x20]
push eax
call fcn.1001bd90
add esp, 0x14
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 8]
mov ecx, dword [eax]
mov ebp, dword [esp + 0x18]
xor edi, edi
test edx, edx
je 0x10020f32
lea eax, [ecx + 4]
mov esi, edx
cmp dword [eax + 4], 2
jne 0x10020f24
mov ebx, dword [eax]
cmp ebx, dword [ebp + 0x24]
jne 0x10020f24
inc edi
add eax, 0x14
dec esi
jne 0x10020f16
test edi, edi
jne 0x10021236
test dword [ebp + 0xc], 0x20000
je 0x1002133b
mov esi, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x48]
xor ebx, ebx
dec esi
cmp eax, 0xffffffff
mov dword [esp + 0x7c], ebx
je 0x10020fc2
cmp dword [ebp + 0x14], 7
jne 0x10020fc2
test edx, edx
mov dword [esp + 0x64], ebx
je 0x10020fc2
mov edi, dword [esp + 0x3e0]
add ecx, 4
lea esp, [esp]
cmp dword [ecx + 4], 2
jne 0x10020f8f
mov ebp, dword [ecx]
mov ebx, eax
imul ebx, ebx, 0x4c
cmp ebp, dword [ebx + edi + 0x24]
mov ebp, dword [esp + 0x18]
jne 0x10020f8b
inc dword [esp + 0x64]
mov ebx, dword [esp + 0x7c]
add ecx, 0x14
dec edx
jne 0x10020f70
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x10020fc2
mov edx, dword [ebp + 0x24]
imul eax, eax, 0x4c
mov ecx, dword [eax + edi + 0x24]
mov eax, dword [esp + 0x10]
push 2
push 2
push ecx
push edx
push eax
call fcn.1001be90
add esp, 0x14
test eax, eax
jne 0x1002133b
test esi, esi
jle 0x10020ffe
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
mov edx, esi
shl edx, 5
lea eax, [edx + ecx]
mov edx, dword [eax + 0xc]
test edx, edx
jne 0x10020fe2
cmp dword [eax + 0x10], 0x2c
jne 0x10020fe2
dec esi
test esi, esi
jle 0x10020ffe
mov eax, esi
shl eax, 5
add eax, ecx
cmp dword [eax + 0xc], 5
jne 0x10020ffc
mov ecx, dword [eax + 0x10]
test ch, 1
je 0x10020ffc
dec esi
test esi, esi
jl 0x1002109d
mov edi, esi
shl edi, 5
lea esp, [esp]
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov ecx, dword [edi + edx + 0xc]
cmp ecx, 1
lea eax, [edi + edx]
jne 0x10021040
cmp word [eax + 0x14], 0
jne 0x10021040
movzx eax, byte [eax + 0x1c]
xor ecx, ecx
mov cl, byte [ebp + 0xc]
push eax
push ecx
call fcn.1005b880
add esp, 8
test eax, eax
jne 0x10021071
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [eax + edi + 0xc]
add eax, edi
cmp ecx, 3
jne 0x1002108b
mov ecx, dword [eax + 0x10]
test ch, 1
je 0x1002108b
xor ecx, ecx
mov cl, byte [eax + 0x1c]
xor edx, edx
mov dl, byte [ebp + 0xc]
push ecx
push edx
call fcn.1005b880
add esp, 8
test eax, eax
je 0x1002108b
mov eax, dword [ebp + 0x24]
mov ecx, dword [esp + 0x10]
push esi
push eax
push ecx
call fcn.1001bd50
add esp, 0xc
test eax, eax
je 0x10021108
sub edi, 0x20
dec esi
inc ebx
cmp ebx, 5
jg 0x1002109d
test esi, esi
jge 0x10021010
mov esi, dword [ebp + 0x1c]
cmp esi, dword [ebp + 0x24]
jge 0x1002133b
mov ebx, dword [esp + 0x1c]
mov edi, esi
shl edi, 5
mov edx, dword [ebx]
mov ecx, dword [edi + edx + 0xc]
cmp ecx, 1
lea eax, [edi + edx]
jne 0x100210de
cmp word [eax + 0x14], 0
jne 0x100210de
movzx eax, byte [eax + 0x1c]
xor ecx, ecx
mov cl, byte [ebp + 0xc]
push eax
push ecx
call fcn.1005b880
add esp, 8
test eax, eax
jne 0x100210ee
mov eax, dword [ebp + 0x24]
inc esi
add edi, 0x20
cmp esi, eax
jl 0x100210b2
jmp 0x1002133b
mov edx, dword [ebp + 0x24]
mov eax, dword [esp + 0x10]
push esi
push edx
push eax
call fcn.1001bd50
add esp, 0xc
test eax, eax
jne 0x1002133b
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
xor edi, edi
cmp ecx, 1
mov dword [esp + 0x28], edi
jg 0x1002115a
mov edx, 1
cmp edx, ecx
jl 0x1002113a
movzx edi, word [esp + 0x2c]
lea esp, [esp]
add ecx, edi
cmp edx, ecx
jge 0x10021130
mov dword [esp + 0x24], ecx
shl ecx, 2
push ecx
push eax
call fcn.10083ee0
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
lea edx, [edi + 1]
add esp, 8
cmp edx, ecx
mov dword [esp + 0x20], eax
jge 0x10021124
mov dword [eax + edi*4], esi
mov ecx, dword [esp + 0x28]
mov edx, dword [ebp + 0x24]
mov eax, dword [esp + 0x10]
push 1
inc ecx
push 2
push edx
lea ebx, [esp + 0x2c]
mov dword [esp + 0x34], ecx
call fcn.1001acb0
mov eax, dword [ebp + 0x14]
add esp, 0xc
cmp eax, 7
mov dword [esp + 0x14], 0xffffffff
je 0x100211d0
cmp eax, 6
je 0x100211d0
mov esi, dword [ebp + 8]
test esi, esi
je 0x1002133b
mov edi, dword [ebp + 0x24]
mov ebx, dword [esp + 0x10]
push 1
push edi
push ebx
call fcn.1001bd10
add esp, 0xc
test eax, eax
jne 0x1002133b
push 1
push 1
neg esi
push edi
push esi
mov esi, ebx
call fcn.1001ac00
add esp, 0x10
jmp 0x1002133b
mov eax, dword [ebp + 0x48]
cmp eax, 0xffffffff
je 0x1002133b
mov ecx, dword [esp + 0x3e0]
imul eax, eax, 0x4c
mov ebx, dword [eax + ecx + 0x24]
mov edx, dword [esp + 0x10]
push 1
push ebx
push edx
call fcn.1001bd10
add esp, 0xc
test eax, eax
je 0x1002133b
mov edi, dword [ebp + 0x24]
mov eax, dword [esp + 0x10]
push 1
push edi
push eax
call fcn.1001bd10
add esp, 0xc
test eax, eax
jne 0x1002133b
mov ecx, dword [esp + 0x10]
push esi
push 1
push 1
push ebx
push edi
push ecx
call fcn.1001bf10
add esp, 0x18
jmp 0x1002133b
test dword [ebp + 0xc], 0x40000
je 0x1002133b
mov eax, dword [ebp + 0x48]
cmp eax, 0xffffffff
je 0x1002133b
xor esi, esi
test edx, edx
je 0x1002127b
add ecx, 4
mov edi, 3
lea ecx, [ecx]
cmp dword [ecx + 4], edi
jne 0x1002126d
mov ebx, dword [ecx]
cmp ebx, dword [ebp + 0x24]
jne 0x1002126d
inc esi
add ecx, 0x14
dec edx
jne 0x10021260
test esi, esi
jne 0x1002133b
mov ebx, dword [esp + 0x3e0]
imul eax, eax, 0x4c
mov edx, dword [eax + ebx + 0x24]
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x3dc]
push 1
push edx
push eax
push edi
call fcn.1001bbf0
mov ecx, dword [ebp + 0x48]
imul ecx, ecx, 0x4c
mov edx, dword [ecx + ebx + 0x24]
push 2
mov esi, eax
mov eax, dword [esp + 0x24]
push edx
push eax
push edi
call fcn.1001bbf0
xor ecx, ecx
mov cl, byte [ebp + 0xc]
push esi
mov edi, eax
push ecx
call fcn.1005b880
xor edx, edx
mov dl, byte [ebp + 0xc]
push edi
mov esi, eax
push edx
call fcn.1005b880
add esp, 0x30
test esi, esi
je 0x100212f9
test eax, eax
jne 0x10021317
mov eax, dword [ebp + 0x48]
mov edx, dword [ebp + 0x24]
imul eax, eax, 0x4c
mov ecx, dword [eax + ebx + 0x24]
mov eax, dword [esp + 0x10]
push 1
push 3
push ecx
push edx
push eax
jmp 0x1002132f
test eax, eax
je 0x10021317
mov ecx, dword [ebp + 0x48]
mov eax, dword [ebp + 0x24]
imul ecx, ecx, 0x4c
mov edx, dword [ecx + ebx + 0x24]
mov ecx, dword [esp + 0x10]
push 2
push 3
push edx
push eax
push ecx
jmp 0x1002132f
mov edx, dword [ebp + 0x48]
mov ecx, dword [ebp + 0x24]
imul edx, edx, 0x4c
mov eax, dword [edx + ebx + 0x24]
mov edx, dword [esp + 0x10]
push 1
push 3
push eax
push ecx
push edx
call fcn.1001bd90
add esp, 0x14
mov byte [ebp + 0xc], 0
mov eax, dword [esp + 0x3f4]
test eax, eax
mov esi, dword [esp + 0x10]
je 0x100213b4
mov ebx, dword [esp + 0x94]
test bl, 1
je 0x1002137d
mov ecx, dword [esi + 8]
mov eax, dword [esi]
xor edx, edx
test ecx, ecx
je 0x1002137d
add eax, 4
cmp dword [eax + 4], 1
jne 0x10021372
mov edi, dword [eax]
cmp edi, dword [ebp + 0x24]
jne 0x10021372
inc edx
add eax, 0x14
dec ecx
jne 0x10021364
test edx, edx
je 0x1002137d
dec ebx
test bl, 2
je 0x100213ab
mov ecx, dword [esi + 8]
mov eax, dword [esi]
xor edx, edx
test ecx, ecx
je 0x100213ab
add eax, 4
cmp dword [eax + 4], 2
jne 0x1002139e
mov edi, dword [eax]
cmp edi, dword [ebp + 0x24]
jne 0x1002139e
inc edx
add eax, 0x14
dec ecx
jne 0x10021390
test edx, edx
je 0x100213ab
sub ebx, 2
mov eax, dword [esp + 0x3f4]
mov dword [eax], ebx
mov ecx, dword [esi + 8]
mov esi, dword [esi]
xor ebx, ebx
test ecx, ecx
mov dword [esp + 0x64], ebx
je 0x100213e0
lea eax, [esi + 4]
mov edx, ecx
cmp dword [eax + 4], 1
jne 0x100213d6
mov edi, dword [eax]
cmp edi, dword [ebp + 0x24]
jne 0x100213d6
inc ebx
add eax, 0x14
dec edx
jne 0x100213c8
mov dword [esp + 0x64], ebx
xor edi, edi
test ecx, ecx
je 0x10021408
lea eax, [esi + 4]
mov edx, ecx
jmp 0x100213f0
cmp dword [eax + 4], 2
jne 0x100213fe
mov ebx, dword [eax]
cmp ebx, dword [ebp + 0x24]
jne 0x100213fe
inc edi
add eax, 0x14
dec edx
jne 0x100213f0
mov ebx, dword [esp + 0x64]
xor edx, edx
test ecx, ecx
je 0x1002142d
lea eax, [esi + 4]
mov esi, 3
cmp dword [eax + 4], esi
jne 0x10021423
mov ebx, dword [eax]
cmp ebx, dword [ebp + 0x24]
jne 0x10021423
inc edx
add eax, 0x14
dec ecx
jne 0x10021416
mov ebx, dword [esp + 0x64]
lea ecx, [edi + edx*2]
lea eax, [ebx + ecx*2]
test al, 1
mov dword [ebp + 0x44], eax
jne 0x1002149d
mov edx, dword [esp + 0x38]
mov al, byte [edx + 0x10]
test al, al
js 0x1002149d
mov edx, dword [ebp + 8]
cmp edx, 0x31
je 0x1002145c
cmp edx, 0x32
je 0x1002145c
cmp edx, 0x34
je 0x1002145c
cmp edx, 0x35
jne 0x1002149d
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 8]
mov eax, dword [edi]
xor esi, esi
test ecx, ecx
je 0x10021488
add eax, 4
mov edi, edi
cmp dword [eax + 4], 1
jne 0x1002147e
mov ebx, dword [eax]
cmp ebx, dword [ebp + 0x24]
jne 0x1002147e
inc esi
add eax, 0x14
dec ecx
jne 0x10021470
test esi, esi
jne 0x1002149d
mov eax, dword [ebp + 0x24]
push 1
push 1
push eax
neg edx
push edx
mov esi, edi
call fcn.1001ac00
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x3c8
ret