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

Disassembly:
sub esp, 0x48c
mov eax, dword [0x100b4368]
push ebx
xor edx, edx
push ebp
push esi
or ebx, 0xffffffff
mov ecx, 3
mov dword [esp + 0x494], eax
push edi
mov dword [esp + 0x4c], edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x54], edx
lea eax, [esp + 0x1c8]
mov dword [esp + 0x3c], ecx
nop
mov byte [eax - 0x20], 0
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov byte [eax + 0xc], 0
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x1c], edx
mov dword [eax + 0x20], ebx
mov dword [eax + 0x24], edx
mov dword [eax + 0x28], edx
mov dword [eax + 0x2c], edx
add eax, 0x50
dec ecx
jne 0x10067b30
mov esi, dword [esp + 0x4a4]
mov eax, esi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10067b70
sub eax, edx
cmp eax, 0x20
jbe 0x10067b99
mov ecx, 7
lea edi, [esp + 0xa8]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov byte [esp + 0xc8], 0
jmp 0x10067bab
push esi
lea eax, [esp + 0xac]
push ebx
push eax
call fcn.100839e0
add esp, 0xc
mov ebp, dword [esp + 0x4a0]
mov ecx, dword [ebp]
mov dword [ebp + 0x38], ebx
xor ebx, ebx
lea eax, [esp + 0xa8]
mov dword [ebp + 0x30], ebx
mov byte [ecx], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10067bd0
sub eax, edx
mov edx, eax
cmp edx, ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jle 0x1006a81c
jmp 0x10067bf0
mov al, byte [esp + ebx + 0xa8]
cmp al, 0x41
lea edi, [esp + ebx + 0xa8]
jb 0x10067c06
cmp al, 0x5a
jbe 0x10067c27
cmp al, 0x61
jb 0x10067c0e
cmp al, 0x7a
jbe 0x10067c27
movzx edx, al
push edx
push 0x100aa51c
call fcn.1009e010
mov edx, dword [esp + 0x24]
add esp, 8
test eax, eax
je 0x10067c47
cmp ebx, 0x1e
je 0x10067c47
cmp byte [edi], 0x27
jne 0x10067c65
test ebx, ebx
je 0x10067c3d
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x10067c6c
mov dword [esp + 0x14], 1
jmp 0x10067c65
cmp byte [edi], 0x2d
jne 0x10067c6c
mov ecx, edx
sub ecx, ebx
mov eax, ecx
shr ecx, 2
lea esi, [esp + ebx + 0xa9]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
inc ebx
cmp ebx, edx
jl 0x10067bf0
jmp 0x10067c74
mov byte [esp + ebx + 0xa8], 0
test ebx, ebx
je 0x1006a81c
xor ebx, ebx
lea ecx, [edx + 1]
xor esi, esi
xor edi, edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x48], ecx
jmp 0x10067c93
mov edx, dword [esp + 0x1c]
mov eax, dword [ebp + 0x48]
mov word [ebx + eax], si
mov ecx, dword [ebp + 4]
mov eax, dword [esp + 0x14]
mov byte [edi + ecx], dl
mov edx, dword [ebp + 4]
lea ecx, [esp + 0xa8]
push ecx
mov dword [edx + edi + 0xc], eax
mov edx, dword [ebp]
push 0xffffffffffffffff
push edx
call fcn.10083990
add esp, 0xc
cmp si, 0xc
jae 0x10067cd4
mov eax, dword [ebp]
push 0x100a6508
push 0xffffffffffffffff
push eax
jmp 0x10067cdf
mov ecx, dword [ebp]
push 0x100aa518
push 0xffffffffffffffff
push ecx
call fcn.10083990
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x54]
add esi, 2
add eax, edx
add esp, 0xc
add ebx, 2
add edi, 0x14
cmp si, 0xe
mov dword [esp + 0x14], eax
jb 0x10067c8f
xor ebx, ebx
push ebx
push ebp
call fcn.10046830
push ebp
call fcn.10046840
lea eax, [esp + 0xa8]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x10], ebx
mov dword [ebp + 0xf8], ebx
lea ecx, [eax + 1]
jmp 0x10067d30
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10067d30
sub eax, ecx
mov ecx, dword [ebp + 0x2f8]
mov dl, byte [esp + eax + 0xa7]
push 0xffffffffffffffff
lea eax, [esp + 0xac]
mov byte [ecx + 0x324], dl
mov ecx, dword [ebp + 0x2f8]
push eax
push ecx
call fcn.100583c0
mov edi, eax
add esp, 0xc
cmp edi, 0xf42400
mov dword [esp + 0x28], edi
je 0x10067fca
mov esi, 1
lea eax, [esp + 0xa8]
mov dword [esp + 0x54], esi
mov dword [esp + 0x6c], esi
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10067d90
sub eax, edx
cmp byte [esp + eax + 0xa7], 0x27
jne 0x10067dd1
mov ecx, dword [ebp + 0x2f8]
push 0xffffffffffffffff
lea edx, [esp + 0xac]
push edx
lea eax, [esp + 0x30]
push eax
push ecx
call fcn.1005d820
mov edi, dword [esp + 0x38]
movzx edx, ax
mov eax, dword [ebp + 0x40]
add esp, 0x10
add edi, edx
mov dword [eax], edi
jmp 0x10067ddc
mov ecx, dword [ebp + 0x40]
add edi, 0xfbf4
mov dword [ecx], edi
mov eax, dword [ebp + 0x2f8]
movzx ecx, byte [eax + 0x10]
add ecx, 0xffffff9f
cmp ecx, 0x19
mov dword [esp + 0x28], edi
ja case.0x10067dfd.98
movzx edx, byte [ecx + 0x1006a86c]
jmp dword [edx*4 + 0x1006a848]
mov eax, dword [ebp + 0x44]
mov byte [eax], 1
mov eax, dword [ebp + 0x2f8]
cmp byte [eax + 0x12], 0x73
mov byte [ebp + 0xf4], 1
jne case.0x10067dfd.98
mov ecx, dword [ebp + 0x48]
xor edx, edx
mov dx, word [ecx]
push 0
add eax, 0x10
push edx
push 0xffffffffffffffff
push eax
push ebp
call fcn.10066f30
mov ebx, dword [ebp + 0xf8]
movzx ecx, ax
mov eax, dword [ebp + 0x48]
movzx eax, word [eax]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov dword [eax + edx*4 + 8], ebx
mov ebx, dword [ebp + 0xf8]
add ebx, ecx
mov ecx, dword [ebp + 0x40]
mov dword [ebp + 0xf8], ebx
mov dword [ecx + 4], edi
mov edx, dword [ebp + 0x44]
mov byte [edx + 1], 8
mov byte [ebp + 0xf4], 8
mov ecx, dword [0x100bba90]
mov edx, dword [ecx + 0xdc]
xor eax, eax
add esp, 0x14
cmp edi, edx
sete al
mov ebx, esi
mov dword [esp + 0x4a8], eax
jmp case.0x10067dfd.98
mov edx, dword [ebp + 0x44]
mov byte [edx], 6
mov eax, dword [ebp + 0x2f8]
mov byte [ebp + 0xf4], 6
cmp byte [eax + 0x12], 0x73
jne case.0x10067dfd.98
mov ecx, dword [ebp + 0x48]
xor edx, edx
mov dx, word [ecx]
push 0
add eax, 0x10
push edx
push 0xffffffffffffffff
push eax
push ebp
call fcn.10066f30
mov ebx, dword [ebp + 0xf8]
movzx ecx, ax
mov eax, dword [ebp + 0x48]
movzx eax, word [eax]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov dword [eax + edx*4 + 8], ebx
mov eax, dword [ebp + 0xf8]
add esp, 0x14
add eax, ecx
mov ecx, dword [ebp + 0x40]
mov dword [ebp + 0xf8], eax
mov dword [ecx + 4], edi
mov edx, dword [ebp + 0x44]
mov byte [edx + 1], 7
mov ebx, esi
mov byte [ebp + 0xf4], 7
mov dword [esp + 0x4a8], 0
jmp case.0x10067dfd.98
mov eax, dword [ebp + 0x44]
mov byte [eax], 2
jmp case.0x10067dfd.98
mov ecx, dword [ebp + 0x44]
mov byte [ecx], 8
jmp case.0x10067dfd.98
mov edx, dword [ebp + 0x44]
mov byte [edx], 7
jmp case.0x10067dfd.98
mov eax, dword [ebp + 0x44]
mov byte [eax], 5
jmp case.0x10067dfd.98
cmp byte [eax + 0x11], 0x6f
jne 0x10067f4d
mov ecx, dword [ebp + 0x44]
mov byte [ebp + 0xf4], 2
mov byte [ecx], 2
jmp case.0x10067dfd.98
mov edx, dword [ebp + 0x44]
mov byte [ebp + 0xf4], 6
mov byte [edx], 6
jmp case.0x10067dfd.98
mov eax, dword [ebp + 0x44]
mov byte [eax], 3
mov ecx, dword [ebp + 0x48]
mov eax, dword [ebp + 0x2f8]
movzx esi, bx
xor edx, edx
shl esi, 1
mov dx, word [esi + ecx]
push ebx
add eax, 0x10
push edx
push 0xffffffffffffffff
push eax
push ebp
call fcn.10066f30
mov edx, dword [ebp + 0x48]
movzx ecx, ax
movzx eax, word [esi + edx]
mov esi, dword [ebp + 0xf8]
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov dword [edx + eax*4 + 8], esi
mov esi, dword [ebp + 0xf8]
mov eax, dword [ebp + 0x2f8]
add esi, ecx
add esp, 0x14
mov dword [ebp + 0xf8], esi
mov cl, byte [eax + 0x10]
inc ebx
cmp cl, 0x7a
mov dword [esp + 0x10], ebx
jne 0x10067fca
mov dword [esp + 0x30], 1
mov eax, dword [esp + 0x4a8]
test eax, eax
jne 0x10067fe9
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x10067fe9
cmp edi, 0xf42400
jne 0x100688ee
mov edx, dword [ebp + 0x2f8]
lea ecx, [esp + 0xa8]
push ecx
push edx
mov dword [esp + 0x38], 0xf42400
call fcn.100a4448
mov esi, eax
mov eax, dword [ebp + 0x2f8]
mov cl, byte [eax + 2]
add esp, 8
test cl, cl
mov dword [esp + 0x28], esi
je 0x10068024
push eax
call fcn.1005bcf0
add esp, 4
cmp esi, 0xf42400
jne 0x10068043
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x1006a275
xor ebx, ebx
mov dword [esp + 0x10], ebx
jmp 0x1006a275
mov eax, dword [ebp + 0x2f8]
mov ecx, dword [eax + 0xc]
test ecx, ecx
mov dword [esp + 0x44], 0
jle 0x100688ee
lea esp, [esp]
movzx ebx, word [esp + 0x10]
mov ecx, dword [ebp + 0x40]
mov edx, dword [esp + 0x28]
mov dword [ecx + ebx*4], edx
mov eax, dword [ebp + 0x44]
mov byte [ebx + eax], 0xa
mov esi, dword [ebp + 0x2f8]
mov eax, dword [esp + 0x44]
mov dl, byte [esi + eax + 0x10]
xor ecx, ecx
mov cl, dl
xor edi, edi
mov dword [esp + 0x34], edi
and ecx, 0xe0
add ecx, 0xffffffe0
cmp ecx, 0xc0
ja case.0x100680aa.33
movzx ecx, byte [ecx + 0x1006a8a4]
jmp dword [ecx*4 + 0x1006a888]
mov edx, dword [ebp + 0x44]
mov byte [ebx + edx], 4
mov ecx, dword [ebp + 0x2f8]
lea ecx, [ecx + eax + 0x10]
mov dword [esp + 0x50], ecx
mov cl, byte [ecx]
test cl, 2
mov dword [esp + 0x4c], 1
je 0x100680d9
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x20], 0xffffffff
jne 0x10068100
and cl, 0x1c
cmp cl, 4
jne 0x10068100
mov edx, dword [ebp + 0x2f8]
movzx ecx, byte [edx + eax + 0x14]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x40], ecx
jmp case.0x100680aa.33
mov edi, 0x100aa510
lea esi, [esp + 0xa8]
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10068145
mov edi, str.qualche
lea esi, [esp + 0xa8]
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10068145
mov edi, 0x100a6d94
lea esi, [esp + 0xa8]
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10068153
mov esi, dword [esp + 0x50]
mov cl, byte [esi]
and cl, 0xe3
add cl, 0x14
mov byte [esi], cl
mov edx, dword [ebp + 0x2f8]
movzx ecx, byte [edx + eax + 0x14]
mov dword [esp + 0x40], ecx
jmp case.0x100680aa.33
mov cl, dl
and cl, 1
dec cl
neg cl
sbb ecx, ecx
inc ecx
lea ecx, [ecx + ecx + 5]
cmp ecx, 5
jne 0x10068190
lea ecx, [eax + 0xa]
cmp dword [esi + 0xc], ecx
jl 0x10068190
mov cl, byte [esi + eax + 0x15]
and cl, 0xe0
cmp cl, 0xc0
je 0x10068195
mov edi, 1
mov al, byte [esi + eax + 0x12]
and al, 0x1c
cmp al, 0x1c
jne 0x10068207
test edi, edi
je 0x10068207
test dl, 0x10
jne 0x10068207
mov eax, dword [esp + 0x28]
mov ecx, dword [0x100bb5bc]
lea edx, [ecx + eax*2]
add edx, eax
mov eax, dword [0x100bb6c4]
push 0
push edx
push eax
call fcn.10083e20
mov edx, dword [0x100bb6c4]
push 3
lea ecx, [esp + 0x68]
push ecx
push edx
call fcn.10083dc0
movzx eax, byte [esp + 0x72]
mov ecx, dword [esp + 0x70]
movzx edx, ch
shl eax, 8
add esp, 0x18
add eax, edx
mov dword [esp + 0x30], eax
je 0x100681ff
cmp cl, 0x6d
jne 0x100681ff
mov ecx, dword [ebp + 0x40]
mov dword [ecx + ebx*4], eax
jmp 0x10068207
mov dword [esp + 0x30], 0
mov edx, dword [ebp + 0x2f8]
mov ecx, dword [esp + 0x44]
lea eax, [edx + ecx]
test byte [eax + 0x13], 0x10
je 0x10068238
test byte [eax + 0x10], 0x10
jne 0x10068238
mov eax, dword [ebp + 0x44]
mov byte [ebx + eax], 4
mov byte [ebp + 0xf4], 4
mov dword [esp + 0x4c], 1
jmp 0x10068246
mov edx, dword [ebp + 0x44]
mov byte [ebx + edx], 3
mov byte [ebp + 0xf4], 3
mov eax, dword [ebp + 0x2f8]
movzx ecx, byte [eax + ecx + 0x14]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x34], 1
mov dword [esp + 0x40], ecx
jmp case.0x100680aa.33
mov edx, dword [ebp + 0x44]
mov byte [ebx + edx], 8
mov ecx, dword [ebp + 0x2f8]
movzx edx, byte [ecx + eax + 0x12]
mov dword [esp + 0x40], edx
jmp case.0x100680aa.33
mov ecx, dword [ebp + 0x44]
mov byte [ebx + ecx], 7
mov edx, dword [ebp + 0x2f8]
movzx ecx, byte [edx + eax + 0x11]
mov dword [esp + 0x40], ecx
jmp case.0x100680aa.33
mov edx, dword [ebp + 0x44]
mov byte [ebx + edx], 5
mov ecx, dword [ebp + 0x2f8]
movzx edx, byte [ecx + eax + 0x14]
mov dword [esp + 0x40], edx
cmp eax, edi
jmp 0x100682cf
cmp eax, edi
mov ecx, dword [ebp + 0x44]
mov byte [ebx + ecx], 5
mov ecx, dword [ebp + 0x2f8]
movzx edx, byte [ecx + eax + 0x12]
mov dword [esp + 0x40], edx
je case.0x100680aa.33
mov edx, dword [ebp + 0x44]
cmp byte [ebx + edx - 1], 5
je case.0x100680aa.33
mov byte [ecx], 0
mov ecx, dword [esp + 0x10]
test cx, cx
je 0x10068304
cmp cx, 1
jne 0x100687a1
mov ecx, dword [ebp + 0x40]
mov ecx, dword [ecx]
cmp ecx, 0xfbf4
jb 0x100687a1
cmp ecx, 0x10000
jae 0x100687a1
mov ecx, dword [ebp + 0x2f8]
mov dl, byte [ecx + eax + 0x10]
and dl, 0xe0
cmp dl, 0x20
jne 0x100687a1
mov al, byte [ecx]
test al, al
je 0x100687a1
mov byte [ecx], 0xfa
mov ecx, dword [ebp + 0x44]
mov dl, byte [ebx + ecx]
mov ecx, dword [esp + 0x44]
mov byte [esp + 0x1b], al
mov eax, dword [ebp + 0x2f8]
mov byte [ebp + 0xf4], dl
mov edx, dword [esp + 0x10]
push edx
lea eax, [eax + ecx + 0x10]
mov ecx, dword [ebp + 0x48]
xor edx, edx
mov dx, word [ecx + ebx*2]
push 0
push edx
push 0xffffffffffffffff
push eax
movzx eax, byte [eax]
and eax, 0xffffffe0
push eax
push ebp
call fcn.100658c0
movzx ecx, ax
movzx eax, byte [esp + 0x37]
add esp, 0x1c
dec eax
mov dword [esp + 0x14], ecx
je 0x1006866c
dec eax
je 0x100684ef
dec eax
jne 0x10068852
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xf8]
mov byte [edx + eax + 3], 0x31
mov ecx, dword [ebp + 0x2f8]
mov al, byte [ecx + 1]
xor edx, edx
mov dl, al
mov byte [esp + 0x1b], 0
and edx, 0xf0
lea ecx, [edx - 0x10]
cmp ecx, 0x70
ja case.0x100683bf.17
movzx ecx, byte [ecx + 0x1006a980]
jmp dword [ecx*4 + 0x1006a968]
lea edx, [esp + 0x60]
push 0xffffffffffffffff
push edx
mov byte [esp + 0x2f], 0x49
mov byte [esp + 0x68], al
call fcn.100597d0
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0xf8]
mov dl, byte [esp + 0x69]
add esp, 8
mov byte [eax + ecx + 3], dl
jmp case.0x100683bf.17
mov byte [esp + 0x60], al
lea eax, [esp + 0x60]
push 0xffffffffffffffff
push eax
mov byte [esp + 0x2f], 0x4d
call fcn.100597d0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov al, byte [esp + 0x69]
add esp, 8
mov byte [ecx + edx + 3], al
jmp case.0x100683bf.17
mov byte [esp + 0x27], 0x47
jmp case.0x100683bf.17
mov byte [esp + 0x27], 0x50
mov byte [esp + 0x1b], 1
jmp case.0x100683bf.17
mov byte [esp + 0x27], 0x46
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov al, byte [esp + 0x27]
mov byte [ecx + edx + 8], al
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov al, byte [esp + 0x1b]
mov byte [ecx + edx + 9], al
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov byte [ecx + edx + 0xa], 0x53
mov eax, dword [ebp + 0x2f8]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
add eax, 0x110
push eax
lea eax, [ecx + edx + 0xb]
push 0xffffffffffffffff
push eax
call fcn.100839e0
mov edi, dword [ebp + 0x2f8]
lea eax, [edi + 0x110]
add esp, 0xc
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10068497
mov ecx, dword [esp + 0x14]
sub eax, esi
lea esi, [ecx + eax + 1]
mov eax, dword [ebp + 4]
movzx ecx, byte [edi + 2]
lea edx, [ebx + ebx*4]
lea eax, [eax + edx*4]
mov edx, dword [eax + 0x10]
movzx eax, byte [eax]
sub edx, ecx
mov ecx, dword [ebp + 0x14]
add edx, eax
push edx
add ecx, dword [ebp + 0xf8]
lea edx, [ecx + esi + 0xb]
push 0xffffffffffffffff
push edx
call fcn.100839e0
mov eax, dword [ebp + 0x2f8]
movzx ecx, byte [eax + 2]
lea edx, [esi + ecx + 0xc]
add esp, 0xc
mov dword [esp + 0x14], edx
jmp 0x10068852
mov ecx, dword [ebp + 4]
lea eax, [ebx + ebx*4]
shl eax, 2
movzx edx, byte [eax + ecx]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x5c], edx
mov edx, dword [ebp + 0xf8]
mov byte [ecx + edx + 3], 0x31
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov byte [ecx + edx + 8], 0x46
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov byte [ecx + edx + 9], 0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov byte [ecx + edx + 0xa], 0x53
mov ecx, dword [ebp + 0x2f8]
movzx esi, byte [ecx + 2]
mov edx, dword [ebp + 4]
movzx ecx, byte [edx + eax]
mov edi, dword [ebp + 0xf8]
sub ecx, esi
add edx, eax
mov dword [esp + 0x50], esi
mov esi, dword [edx + 0x10]
mov edx, dword [ebp + 0x14]
lea edi, [edx + edi + 0xb]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x50]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp + 0x14]
mov ecx, dword [esp + 0x5c]
mov edi, dword [ebp + 0xf8]
sub esi, edx
add esi, ecx
mov byte [esi + edi + 0xb], 0x65
mov esi, dword [ebp + 0x14]
sub esi, edx
add esi, ecx
mov ecx, dword [ebp + 0xf8]
mov byte [esi + ecx + 0xc], 0
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0xf8]
mov esi, dword [str.avere]
add ecx, edx
mov dword [esp + 0x1c], ecx
lea edi, [ecx + 0xb]
mov dl, byte [esi]
mov cl, dl
cmp dl, byte [edi]
jne 0x100685d7
test cl, cl
je 0x100685d3
mov dl, byte [esi + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x100685d7
add esi, 2
add edi, 2
test cl, cl
jne 0x100685b3
xor ecx, ecx
jmp 0x100685dc
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x1006861d
mov edi, dword [esp + 0x1c]
mov esi, dword [0x100b2080]
add edi, 0xb
lea ecx, [ecx]
mov dl, byte [esi]
mov cl, dl
cmp dl, byte [edi]
jne 0x10068614
test cl, cl
je 0x10068610
mov dl, byte [esi + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x10068614
add esi, 2
add edi, 2
test cl, cl
jne 0x100685f0
xor ecx, ecx
jmp 0x10068619
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x10068625
mov ecx, dword [esp + 0x1c]
mov byte [ecx + 7], 0x41
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x14]
mov edx, ecx
sub edx, edi
lea esi, [esi + edx + 2]
mov edx, dword [ebp + 4]
mov eax, dword [eax + edx + 0x10]
mov edx, dword [ebp + 0xf8]
sub eax, edi
add eax, ecx
mov ecx, dword [ebp + 0x14]
push eax
add ecx, edx
lea edx, [ecx + esi + 0xb]
push 0xffffffffffffffff
push edx
call fcn.100839e0
lea eax, [esi + edi + 0xc]
add esp, 0xc
mov dword [esp + 0x14], eax
jmp 0x10068852
mov ecx, dword [ebp + 0x2f8]
mov dl, byte [ecx + 1]
lea eax, [esp + 0x60]
push 0xffffffffffffffff
push eax
mov byte [esp + 0x68], dl
call fcn.100597d0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov al, byte [esp + 0x69]
mov byte [ecx + edx + 3], al
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov al, byte [esp + 0x68]
mov byte [ecx + edx + 8], al
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov al, byte [esp + 0x6a]
mov byte [ecx + edx + 9], al
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov byte [ecx + edx + 0xa], 0x4e
mov eax, dword [ebp + 0x2f8]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
add eax, 0x110
push eax
lea eax, [ecx + edx + 0xb]
push 0xffffffffffffffff
push eax
call fcn.100839e0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov esi, dword [str.avere]
add ecx, edx
add esp, 0x14
mov dword [esp + 0x1c], ecx
add ecx, 0xb
mov edi, ecx
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x10068728
test al, al
je 0x10068724
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x10068728
add esi, 2
add edi, 2
test al, al
jne 0x10068704
xor eax, eax
jmp 0x1006872d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10068771
mov esi, dword [0x100b2080]
mov edi, ecx
lea esp, [esp]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x10068768
test al, al
je 0x10068764
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x10068768
add esi, 2
add edi, 2
test al, al
jne 0x10068740
xor eax, eax
jmp 0x1006876d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10068779
mov eax, dword [esp + 0x1c]
mov byte [eax + 7], 0x41
mov eax, dword [ebp + 0x2f8]
add eax, 0x110
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10068787
mov ecx, dword [esp + 0x14]
sub eax, edx
lea edx, [ecx + eax + 0xc]
mov dword [esp + 0x14], edx
jmp 0x10068852
mov eax, dword [ebp + 0x44]
mov cl, byte [ebx + eax]
mov eax, dword [ebp + 0x2f8]
mov esi, dword [esp + 0x44]
mov byte [ebp + 0xf4], cl
mov dl, byte [eax]
mov ecx, dword [esp + 0x10]
push ecx
mov byte [esp + 0x1f], dl
mov edx, dword [ebp + 0x48]
xor ecx, ecx
mov cx, word [edx + ebx*2]
lea eax, [eax + esi + 0x10]
xor edx, edx
mov dl, byte [eax]
push 0
push ecx
push 0xffffffffffffffff
push eax
and edx, 0xffffffe0
push edx
push ebp
call fcn.100658c0
mov ecx, dword [ebp + 0x2f8]
mov dl, byte [esp + 0x37]
movzx eax, ax
mov byte [ecx], dl
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x2f8]
mov cl, byte [eax + esi + 0x10]
and cl, 0xe0
add esp, 0x1c
cmp cl, 0x40
jne 0x10068852
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xf8]
cmp byte [edx + eax + 8], 0x50
jne 0x10068852
lea ecx, [esp + 0x48]
push ecx
call fcn.10051cf0
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xf8]
lea ecx, [edx + eax + 0xb]
mov edx, dword [esp + 0x48]
push 0xffffffffffffffff
push ecx
push edx
call fcn.100a4448
mov ecx, dword [ebp + 0x40]
mov dword [ecx + ebx*4], eax
mov edx, dword [esp + 0x54]
add esp, 0xc
push edx
call fcn.10051d40
mov eax, dword [ebp + 0x44]
cmp byte [ebx + eax], 5
jne 0x1006887f
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
lea eax, [ecx + edx + 0xb]
push 1
push eax
lea ecx, [esp + 0x1b0]
push ecx
call fcn.1005bba0
add esp, 0xc
mov dword [esp + 0x3c], eax
cmp word [esp + 0x10], 0
jbe 0x1006898a
cmp dword [esp + 0x54], 1
jne 0x1006898a
mov edi, dword [ebp + 0x14]
mov esi, dword [ebp + 0xf8]
mov ecx, dword [esp + 0x14]
add esi, edi
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x1006898a
add dword [esp + 0x10], 0xffff
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x44]
mov eax, dword [ebp + 0x2f8]
push edx
add eax, 0x10
push eax
call fcn.1005b900
mov ecx, dword [ebp + 0x2f8]
mov edx, dword [ecx + 0xc]
add esp, 8
inc edi
cmp eax, edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x10], edi
jl 0x10068060
mov ebx, edi
lea eax, [esp + 0xa8]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100688f8
sub eax, edx
mov edi, eax
cmp edi, 4
mov dword [esp + 0x1c], edi
jl 0x10068f00
mov al, byte [esp + edi + 0xa5]
cmp al, 0x6e
lea esi, [esp + edi + 0xa8]
jne 0x10068f00
cmp byte [esi - 2], 0x74
jne 0x10068f00
mov al, byte [esi - 4]
cmp al, 0x61
je 0x1006893f
cmp al, 0x65
jne 0x10068f00
lea edx, [esp + 0xa8]
push edx
lea eax, [esp + 0x29c]
push 0xffffffffffffffff
push eax
mov dword [esp + 0x58], 0
call fcn.100839e0
mov al, byte [esi - 4]
add esp, 0xc
cmp al, 0x61
mov byte [esp + edi + 0x294], 0
jne 0x10068b4e
mov ecx, dword [0x100b2078]
push ecx
push 0xffffffffffffffff
lea edx, [esp + 0x2a0]
push edx
jmp 0x10068b5e
mov eax, dword [ebp + 0x48]
mov edx, dword [ebp + 4]
lea esi, [ebx + ebx]
movzx eax, word [esi + eax]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0xf8]
mov dword [edx + ecx*4 + 8], eax
mov ecx, dword [esp + 0x40]
push ecx
push ebx
push ebp
call fcn.1005ba50
mov edi, dword [ebp + 0xf8]
mov edx, dword [esp + 0x20]
add edi, edx
mov dword [esp + ebx*8 + 0x78], eax
mov eax, dword [ebp + 0x44]
mov dword [ebp + 0xf8], edi
mov cl, byte [ebx + eax]
add esp, 0xc
cmp cl, 5
jne 0x10068a0d
mov ecx, dword [ebp + 0x48]
movzx eax, word [esi + ecx]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov ecx, dword [eax + edx*4 + 8]
mov edx, dword [ebp + 0x14]
lea eax, [ecx + edx]
cmp byte [eax + 8], 0x50
jne 0x10068a0d
mov cl, byte [eax + 9]
test cl, cl
jne 0x10068a0d
mov eax, dword [esp + 0x3c]
lea eax, [eax + eax*4]
shl eax, 4
mov dword [esp + eax + 0x1f4], 1
mov eax, dword [esp + 0x34]
test eax, eax
je 0x100688b7
mov ecx, dword [ebp + 0x2f8]
mov edx, dword [esp + 0x44]
lea eax, [ecx + edx]
mov cl, byte [eax + 0x10]
test cl, 2
je 0x100688b7
mov edx, dword [esp + 0x4c]
test edx, edx
jne 0x100688b7
mov al, byte [eax + 0x12]
mov edi, dword [esp + 0x10]
and al, 0x1c
inc edi
cmp al, 0x1c
jne 0x10068a7a
test cl, 0x10
jne 0x10068a7a
mov eax, dword [esp + 0x30]
cmp eax, 0xf42400
je 0x10068a6b
test eax, eax
je 0x10068a6b
mov ecx, dword [ebp + 0x40]
movzx esi, di
mov dword [ecx + esi*4], eax
jmp 0x10068a87
mov edx, dword [ebp + 0x40]
mov eax, dword [esp + 0x28]
movzx esi, di
mov dword [edx + esi*4], eax
jmp 0x10068a87
mov ecx, dword [ebp + 0x40]
mov edx, dword [esp + 0x28]
movzx esi, di
mov dword [ecx + esi*4], edx
mov eax, dword [ebp + 0x44]
mov byte [esi + eax], 4
mov ecx, dword [ebp + 0x2f8]
mov byte [ebp + 0xf4], 4
cmp dword [ecx + 0xc], 0xa
jb 0x10068ada
mov dl, byte [ecx + 0x10]
mov al, dl
and al, 0xe0
cmp al, 0xc0
jne 0x10068ada
mov al, dl
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea eax, [eax + eax + 5]
mov al, byte [ecx + eax + 0x10]
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x10068ada
and dl, 0xc
and al, 0xc
cmp dl, al
jne 0x10068ada
cmp dl, 8
je 0x10068ada
mov byte [ecx], 0x80
mov ecx, dword [ebp + 0x48]
mov eax, dword [ebp + 0x2f8]
xor edx, edx
mov dx, word [ecx + esi*2]
mov ecx, dword [esp + 0x44]
push edi
push 0
push edx
push 0xffffffffffffffff
lea edx, [eax + ecx + 0x10]
push edx
push 0xc0
push ebp
call fcn.100658c0
mov edx, dword [ebp + 4]
movzx ebx, ax
mov eax, dword [ebp + 0x48]
movzx eax, word [eax + esi*2]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0xf8]
mov dword [edx + ecx*4 + 8], eax
mov ecx, dword [esp + 0x5c]
push ecx
push esi
push ebp
call fcn.1005ba50
mov dword [esp + esi*8 + 0x94], eax
mov eax, dword [ebp + 0xf8]
add esp, 0x28
add eax, ebx
mov dword [ebp + 0xf8], eax
mov dword [esp + 0x4c], 1
jmp 0x100688bb
mov eax, dword [0x100b2074]
push eax
push 0xffffffffffffffff
lea ecx, [esp + 0x2a0]
push ecx
call fcn.10083990
add esp, 0xc
lea edx, [esp + 0x14]
push edx
call fcn.10051cf0
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x298]
push eax
push ecx
call fcn.100a4448
mov ebx, eax
mov edi, 0xf42400
add esp, 8
cmp ebx, edi
mov dword [esp + 0x28], ebx
je 0x10068ba1
mov edx, dword [esp + 0x14]
mov al, byte [edx + 0x10]
and al, 0xe0
cmp al, 0x20
je 0x10068bf1
lea eax, [esp + 0x298]
lea edx, [eax + 1]
jmp 0x10068bb0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10068bb0
sub eax, edx
mov byte [esp + eax + 0x295], cl
mov ecx, dword [0x100b2070]
push ecx
lea edx, [esp + 0x29c]
push 0xffffffffffffffff
push edx
call fcn.10083990
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x2a4]
push eax
push ecx
call fcn.100a4448
mov ebx, eax
add esp, 0x14
mov dword [esp + 0x28], ebx
cmp ebx, edi
je 0x10068c06
mov edx, dword [esp + 0x14]
mov al, byte [edx + 0x10]
and al, 0xe0
cmp al, 0x20
je 0x10068cb6
lea eax, [esp + 0x298]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10068c10
mov esi, dword [0x100b2074]
sub eax, edx
lea eax, [esp + eax + 0x295]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x10068c4e
test cl, cl
je 0x10068c4a
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x10068c4e
add eax, 2
add esi, 2
test cl, cl
jne 0x10068c26
xor eax, eax
jmp 0x10068c53
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10068cad
lea eax, [esp + 0x298]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10068c61
sub eax, edx
push 0x100aa3a4
mov byte [esp + eax + 0x298], cl
lea eax, [esp + 0x29c]
push 0xffffffffffffffff
push eax
call fcn.10083990
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x2a4]
push ecx
push edx
call fcn.100a4448
mov ebx, eax
mov eax, dword [esp + 0x28]
mov al, byte [eax + 0x10]
and al, 0xe0
add esp, 0x14
cmp al, 0x20
mov dword [esp + 0x28], ebx
je 0x10068cb6
mov dword [esp + 0x28], edi
jmp 0x10068ef2
cmp ebx, edi
je 0x10068ef2
cmp al, 0x20
je 0x10068ccb
mov dword [esp + 0x28], edi
jmp 0x10068ef2
push 1
lea ecx, [esp + 0x29c]
push ecx
lea edx, [esp + 0x1b0]
push edx
call fcn.1005bba0
lea eax, [eax + eax*4]
shl eax, 4
mov ecx, dword [esp + eax + 0x200]
add esp, 0xc
test ecx, ecx
jne 0x10068ef2
push 1
lea ecx, [esp + 0x29c]
push ecx
lea edx, [esp + 0x1b0]
push edx
call fcn.1005bba0
lea eax, [eax + eax*4]
shl eax, 4
mov ecx, dword [esp + eax + 0x1fc]
add esp, 0xc
test ecx, ecx
mov dword [esp + 0x48], eax
jne 0x10068ef2
mov eax, dword [ebp + 0x2f8]
push eax
call fcn.1005bcf0
add esp, 4
push 0
push 1
push 0
push 5
push 0xffffffffffffffff
lea ecx, [esp + 0x3ac]
push ecx
lea edx, [esp + 0x2b0]
push edx
call fcn.10082100
lea ecx, [esp + 0x398]
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x10068d65
sub ecx, esi
cmp eax, 1
mov edx, ecx
jne 0x10068ef2
lea ecx, [edx - 1]
lea edi, [esp + 0xa8]
lea esi, [esp + 0x398]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10068ef2
lea eax, [esp + 0xa8]
lea esi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10068da0
sub eax, esi
cmp edx, eax
jne 0x10068ef2
mov al, byte [esp + edx + 0xa7]
cmp al, 0x61
je 0x10068dcc
cmp al, 0x65
je 0x10068dcc
cmp al, 0x6f
je 0x10068dcc
cmp al, 0x69
jne 0x10068ef2
mov eax, dword [esp + 0x14]
mov cl, byte [eax + 0x10]
and cl, 0xe0
cmp cl, 0x80
jne 0x10068de6
mov esi, 5
mov dword [esp + 0x4c], esi
jmp 0x10068dea
mov esi, dword [esp + 0x4c]
mov al, byte [eax + esi + 0x10]
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne 0x10068e09
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea eax, [esi + eax*2 + 5]
mov dword [esp + 0x4c], eax
mov edi, dword [esp + 0x10]
mov ecx, dword [ebp + 0x44]
movzx esi, di
mov byte [esi + ecx], 5
mov edx, dword [ebp + 0x40]
mov dword [edx + esi*4], ebx
mov eax, dword [ebp + 0x2f8]
lea ecx, [esp + 0x298]
mov byte [eax], 0xc8
mov edx, dword [ebp + 0x2f8]
push ecx
add edx, 0x110
push 0xffffffffffffffff
push edx
call fcn.100839e0
mov eax, dword [ebp + 0x44]
mov cl, byte [esi + eax]
mov edx, dword [ebp + 0x48]
xor eax, eax
mov byte [ebp + 0xf4], cl
mov ax, word [edx + esi*2]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x58]
push edi
push 0
push eax
push 0xffffffffffffffff
lea eax, [ecx + edx + 0x10]
push eax
push 0x20
push ebp
call fcn.100658c0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov byte [ecx + edx + 3], 0x31
mov ecx, dword [ebp + 0xf8]
movzx edi, ax
mov eax, dword [ebp + 0x14]
mov byte [eax + ecx + 8], 0x50
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xf8]
mov byte [edx + eax + 9], 0
mov ecx, dword [ebp + 0x48]
movzx eax, word [ecx + esi*2]
mov ecx, dword [ebp + 0xf8]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov dword [eax + edx*4 + 8], ecx
mov edx, dword [esp + 0x68]
push edx
push esi
push ebp
call fcn.1005ba50
mov ecx, dword [ebp + 0xf8]
mov dword [esp + esi*8 + 0xa0], eax
mov eax, dword [esp + 0x44]
add ecx, edi
add esp, 0x34
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
mov dword [ebp + 0xf8], ecx
mov dword [esp + eax + 0x1f4], 1
mov ecx, dword [esp + 0x14]
push ecx
call fcn.10051d40
mov ebx, dword [esp + 0x10]
movzx ecx, bx
xor eax, eax
test ecx, ecx
mov dword [esp + 0x34], eax
jle 0x10069343
mov ecx, dword [ebp + 0x44]
mov al, byte [ecx + eax]
cmp al, 5
mov edx, 1
jne 0x10069157
mov edx, dword [ebp + 0x48]
mov eax, dword [esp + 0x34]
mov ebx, dword [ebp + 4]
mov ecx, dword [ebp + 0x14]
lea edi, [edx + eax*2]
movzx eax, word [edi]
lea edx, [eax + eax*4]
mov eax, dword [ebx + edx*4 + 8]
add eax, ecx
lea esi, [esp + 0x1a8]
mov dword [esp + 0x50], eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x48], esi
cmp byte [esi], 0
je 0x10068fad
mov eax, dword [esp + 0x50]
add eax, 0xb
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x10068f87
test cl, cl
je 0x10068f83
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x10068f87
add eax, 2
add esi, 2
test cl, cl
jne 0x10068f63
xor eax, eax
jmp 0x10068f8c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1006914e
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x48]
inc eax
add esi, 0x50
cmp eax, 3
mov dword [esp + 0x30], eax
mov dword [esp + 0x48], esi
jl 0x10068f57
or edx, 0xffffffff
mov eax, dword [esp + 0x50]
cmp byte [eax + 8], 0x4d
mov esi, dword [esp + 0x34]
jne 0x10068fcb
lea ecx, [edx + edx*4]
shl ecx, 4
mov dword [esp + ecx + 0x1d8], esi
movzx eax, word [edi]
mov ecx, dword [ebp + 0x14]
lea eax, [eax + eax*4]
mov eax, dword [ebx + eax*4 + 8]
add eax, ecx
cmp byte [eax + 3], 0x35
jne 0x10068ffd
cmp byte [eax + 8], 0x49
jne 0x10068ffd
cmp byte [eax + 9], 0
jne 0x10068ffd
lea eax, [edx + edx*4]
shl eax, 4
mov dword [esp + eax + 0x1cc], 1
movzx eax, word [edi]
lea eax, [eax + eax*4]
mov eax, dword [ebx + eax*4 + 8]
add eax, ecx
mov cl, byte [eax + 9]
test cl, cl
jne 0x1006905b
cmp byte [eax + 8], 0x49
jne 0x1006905b
mov al, byte [eax + 3]
cmp al, 0x32
je 0x10069025
cmp al, 0x33
je 0x10069025
cmp al, 0x35
jne 0x1006905b
mov ecx, dword [esp + 0x34]
lea eax, [edx + edx*4]
shl eax, 4
mov dword [esp + eax + 0x1d0], ecx
movzx ecx, word [edi]
lea ecx, [ecx + ecx*4]
mov esi, dword [ebx + ecx*4 + 8]
mov ecx, dword [ebp + 0x14]
cmp byte [esi + ecx + 3], 0x34
mov esi, dword [esp + 0x34]
sbb cl, cl
and cl, 0xfd
add cl, 0x35
mov byte [esp + eax + 0x1d4], cl
movzx eax, word [edi]
mov ecx, dword [ebp + 0x14]
lea eax, [eax + eax*4]
mov eax, dword [ebx + eax*4 + 8]
add eax, ecx
cmp byte [eax + 9], 0
jne 0x10069089
cmp byte [eax + 8], 0x43
jne 0x10069089
cmp byte [eax + 3], 0x35
jne 0x10069089
lea eax, [edx + edx*4]
shl eax, 4
mov dword [esp + eax + 0x1dc], esi
movzx eax, word [edi]
lea eax, [eax + eax*4]
mov eax, dword [ebx + eax*4 + 8]
add eax, ecx
cmp byte [eax + 9], 0
jne 0x100690b4
cmp byte [eax + 8], 0x49
jne 0x100690b4
cmp byte [eax + 3], 0x34
jne 0x100690b4
lea eax, [edx + edx*4]
shl eax, 4
mov dword [esp + eax + 0x1e0], esi
movzx eax, word [edi]
lea eax, [eax + eax*4]
mov eax, dword [ebx + eax*4 + 8]
cmp byte [eax + ecx + 8], 0x43
jne 0x100690d6
lea eax, [edx + edx*4]
shl eax, 4
mov dword [esp + eax + 0x1e4], 1
movzx eax, word [edi]
lea eax, [eax + eax*4]
mov eax, dword [ebx + eax*4 + 8]
add eax, ecx
cmp byte [eax + 9], 0
jne 0x10069101
cmp byte [eax + 8], 0x49
jne 0x10069101
cmp byte [eax + 3], 0x32
jne 0x10069101
lea eax, [edx + edx*4]
shl eax, 4
mov dword [esp + eax + 0x1e8], esi
movzx eax, word [edi]
lea eax, [eax + eax*4]
mov eax, dword [ebx + eax*4 + 8]
cmp byte [eax + ecx + 8], 0x43
jne 0x10069123
lea eax, [edx + edx*4]
shl eax, 4
mov dword [esp + eax + 0x1ec], 1
movzx eax, word [edi]
lea eax, [eax + eax*4]
mov eax, dword [ebx + eax*4 + 8]
add eax, ecx
cmp byte [eax + 8], 0x50
jne 0x10069173
cmp byte [eax + 9], 1
jne 0x10069173
lea ecx, [edx + edx*4]
shl ecx, 4
mov dword [esp + ecx + 0x1f0], 1
jmp 0x10069173
mov edx, dword [esp + 0x30]
jmp 0x10068fb0
mov ecx, dword [esp + 0x38]
test ecx, ecx
jne 0x1006916b
cmp al, 3
je 0x10069167
cmp al, 4
jne 0x1006916b
mov dword [esp + 0x38], edx
cmp al, 8
jne 0x10069173
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x34]
movzx edi, word [esp + 0x10]
inc eax
cmp eax, edi
mov dword [esp + 0x34], eax
jl 0x10068f11
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10069343
lea edx, [esp + 0x14]
push edx
xor esi, esi
call fcn.10051cf0
mov ecx, dword [esp + 0x1c]
push esi
lea eax, [esp + 0x2c]
push eax
mov eax, dword [ebp + 0x2f8]
push esi
push 0x1f4
push ecx
lea edx, [esp + 0xbc]
push edx
push eax
call fcn.1005ef70
add esp, 0x1c
test ax, ax
je 0x10069334
mov ecx, dword [ebp + 0x2f8]
mov edx, dword [esp + 0x14]
add ecx, 0x110
push ecx
push edx
call fcn.100a4448
add esp, 8
cmp eax, 0xf42400
mov dword [esp + 0x28], eax
je 0x10069334
mov eax, dword [ebp + 0x2f8]
push 1
add eax, 0x110
push eax
lea ecx, [esp + 0x1b0]
push ecx
call fcn.1005bba0
lea ebx, [eax + eax*4]
shl ebx, 4
mov eax, dword [esp + ebx + 0x1fc]
lea ebx, [esp + ebx + 0x1fc]
add esp, 0xc
test eax, eax
jne 0x10069334
mov edx, dword [esp + 0x14]
push edx
call fcn.1005bcf0
mov eax, dword [esp + 0x18]
mov cl, byte [eax + 0x10]
and cl, 0xe0
add esp, 4
cmp cl, 0x80
jne 0x10069256
mov esi, 5
mov al, byte [eax + esi + 0x10]
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne 0x10069271
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea esi, [esi + eax*2 + 5]
mov eax, dword [ebp + 0x44]
mov edx, dword [esp + 0x28]
mov byte [edi + eax], 5
mov ecx, dword [ebp + 0x40]
mov dword [ecx + edi*4], edx
mov eax, dword [ebp + 0x2f8]
mov ecx, dword [esp + 0x10]
mov byte [eax], 0xc8
mov edx, dword [ebp + 0x48]
push ecx
mov ecx, dword [esp + 0x18]
xor eax, eax
mov ax, word [edx + edi*2]
push 0
lea edx, [ecx + esi + 0x10]
push eax
push 0xffffffffffffffff
push edx
push 0x20
push ebp
call fcn.100658c0
mov ecx, dword [ebp + 0xf8]
movzx esi, ax
mov eax, dword [ebp + 0x14]
mov byte [eax + ecx + 3], 0x31
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xf8]
mov byte [edx + eax + 8], 0x50
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov byte [ecx + edx + 9], 1
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0xf8]
mov byte [eax + ecx + 0xa], 0x4e
mov edx, dword [ebp + 0x48]
movzx eax, word [edx + edi*2]
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 0xf8]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4 + 8], edx
mov eax, dword [esp + 0x5c]
push eax
push edi
push ebp
call fcn.1005ba50
mov ecx, dword [ebp + 0xf8]
mov dword [esp + edi*8 + 0x94], eax
mov eax, dword [esp + 0x38]
add ecx, esi
add esp, 0x28
inc eax
mov dword [ebp + 0xf8], ecx
mov dword [esp + 0x10], eax
mov dword [ebx], 1
mov ecx, dword [esp + 0x14]
push ecx
call fcn.10051d40
jmp 0x10069506
lea eax, [esp + 0x1a8]
mov dword [esp + 0x48], 0
mov dword [esp + 0x30], eax
cmp byte [eax], 0
je 0x10069506
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x100694ed
movzx ebx, word [esp + 0x10]
xor edi, edi
test ebx, ebx
jle 0x100693d2
mov eax, dword [ebp + 0x44]
cmp byte [edi + eax], 5
je 0x100693d2
mov edx, dword [ebp + 0x48]
movzx eax, word [edx + edi*2]
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
mov eax, dword [ebp + 0x14]
lea esi, [edx + eax + 0xb]
mov eax, dword [esp + 0x30]
lea ebx, [ebx]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x100693c4
test cl, cl
je 0x100693c0
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x100693c4
add eax, 2
add esi, 2
test cl, cl
jne 0x100693a0
xor eax, eax
jmp 0x100693c9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x100693d2
inc edi
cmp edi, ebx
jl 0x10069375
mov eax, dword [ebp + 0x40]
mov ecx, dword [eax + edi*4]
mov dword [eax + ebx*4], ecx
mov edx, dword [ebp + 0x40]
mov eax, dword [esp + 0x28]
cmp eax, dword [edx + edi*4]
je 0x1006940f
cmp eax, 0xf42400
jne 0x10069409
mov ecx, dword [ebp + 0x2f8]
lea eax, [esp + 0xa8]
push eax
push ecx
call fcn.100a4448
add esp, 8
mov dword [esp + 0x28], eax
mov edx, dword [ebp + 0x40]
mov dword [edx + ebx*4], eax
mov eax, dword [ebp + 0x44]
mov byte [ebx + eax], 4
mov ecx, dword [ebp + 0x48]
movzx ecx, word [ecx + edi*2]
mov eax, dword [ebp + 0x14]
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp + 4]
mov edx, dword [ecx + edx*4 + 8]
movzx ecx, byte [edx + eax]
mov edx, dword [ebp + 0xf8]
mov byte [eax + edx], cl
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov byte [eax + edx + 1], 4
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov byte [eax + edx + 2], 0x70
mov eax, dword [esp + 0x1c]
mov al, byte [esp + eax + 0xa7]
cmp al, 0x61
mov dword [esp + 0x40], ecx
je 0x1006946f
cmp al, 0x65
mov edx, 0x80
jne 0x10069474
mov edx, 0x40
cmp al, 0x69
je 0x10069481
cmp al, 0x65
mov eax, 8
jne 0x10069486
mov eax, 4
mov esi, dword [ebp + 0xf8]
add al, dl
mov edx, dword [ebp + 0x14]
push ecx
mov byte [edx + esi + 3], al
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
push ebx
push ebp
mov byte [eax + edx + 4], 0x61
call fcn.1005ba50
mov edx, dword [ebp + 4]
mov dword [esp + ebx*8 + 0x78], eax
mov eax, dword [ebp + 0x48]
movzx eax, word [eax + ebx*2]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0xf8]
mov dword [edx + ecx*4 + 8], eax
mov ecx, dword [ebp + 0xf8]
mov eax, dword [esp + 0x1c]
add ecx, 5
add esp, 0xc
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x30]
mov dword [ebp + 0xf8], ecx
mov dword [esp + 0x38], 1
mov ecx, dword [esp + 0x48]
inc ecx
add eax, 0x50
cmp ecx, 3
mov dword [esp + 0x48], ecx
mov dword [esp + 0x30], eax
jl 0x10069356
mov edx, dword [esp + 0x20]
cmp edx, 0xffffffff
jle 0x100696a4
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x100696a4
mov ecx, dword [ebp + 0x44]
movzx eax, word [esp + 0x10]
mov byte [eax + ecx], 8
mov ecx, dword [ebp + 0x40]
mov esi, dword [ecx + edx*4]
mov dword [ecx + eax*4], esi
mov ecx, dword [ebp + 0x14]
mov esi, dword [ebp + 0xf8]
mov byte [ecx + esi], 0
mov ecx, dword [ebp + 0x14]
mov esi, dword [ebp + 0xf8]
mov byte [ecx + esi + 1], 8
mov ecx, dword [ebp + 0x14]
mov esi, dword [ebp + 0xf8]
mov byte [ecx + esi + 2], 0
mov esi, dword [ebp + 4]
mov ecx, dword [ebp + 0x14]
lea edx, [edx + edx*4]
mov edx, dword [esi + edx*8 + 8]
mov dl, byte [edx + ecx + 3]
mov esi, dword [ebp + 0xf8]
mov byte [esi + ecx + 3], dl
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov byte [ecx + edx + 4], 0x33
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov byte [ecx + edx + 5], 0x75
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov byte [ecx + edx + 6], 0x6e
mov ecx, dword [ebp + 0x48]
movzx ecx, word [ecx + eax*2]
mov esi, dword [ebp + 0xf8]
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp + 4]
mov dword [ecx + edx*4 + 8], esi
mov edx, dword [ebp + 0x44]
mov cl, byte [eax + edx]
cmp cl, 1
je 0x10069683
cmp cl, 2
je 0x10069683
cmp cl, 6
je 0x10069683
movzx ecx, cl
add ecx, 0xfffffffd
cmp ecx, 5
mov edx, 4
ja case.0x100695ee.6
jmp dword [ecx*4 + 0x1006a9f4]
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0xf8]
mov dl, byte [edx + ecx + 4]
and dl, 3
sub dl, 2
neg dl
sbb edx, edx
and edx, 0xffff8100
add edx, 0x8004
jmp case.0x100695ee.6
mov edx, dword [ebp + 0xf8]
mov ecx, dword [ebp + 0x14]
add ecx, edx
cmp byte [ecx + 4], 0x63
je 0x10069632
mov edx, 0x204
jmp case.0x100695ee.6
mov dl, byte [ecx + 2]
and dl, 2
neg dl
sbb edx, edx
and edx, 0x2000
add edx, 0x2004
jmp case.0x100695ee.6
mov edx, 0x1004
jmp case.0x100695ee.6
mov ecx, dword [ebp + 0x48]
movzx ecx, word [ecx + eax*2]
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp + 4]
mov edx, dword [ecx + edx*4 + 8]
mov ecx, dword [ebp + 0x14]
xor ebx, ebx
cmp byte [edx + ecx + 8], 0x49
setne bl
dec ebx
and ebx, 0xfffffc00
add ebx, 0x800
or ebx, 4
mov edx, ebx
jmp case.0x100695ee.6
mov edx, 2
mov ecx, dword [ebp + 0xf8]
mov dword [esp + eax*8 + 0x6c], edx
mov eax, dword [esp + 0x10]
add ecx, 7
inc eax
mov dword [ebp + 0xf8], ecx
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0x1c]
cmp esi, 3
jle 0x1006990f
cmp byte [esp + esi + 0xa5], 0x61
jne 0x1006990f
cmp byte [esp + esi + 0xa6], 0x74
jne 0x1006990f
cmp byte [esp + esi + 0xa7], 0x65
jne 0x1006990f
lea edx, [esp + 0xa8]
push edx
lea eax, [esp + 0x29c]
push 0xffffffffffffffff
push eax
call fcn.100839e0
add esp, 0xc
push 0
push 5
push 0
push 0
push 0xffffffffffffffff
lea ecx, [esp + 0x3ac]
push ecx
lea edx, [esp + 0x2b0]
push edx
mov byte [esp + esi + 0x2b2], 0x72
call fcn.10082100
cmp eax, 1
jne 0x1006990f
lea esi, [esp + 0xa8]
lea eax, [esp + 0x398]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x1006975b
test cl, cl
je 0x10069757
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x1006975b
add eax, 2
add esi, 2
test cl, cl
jne 0x10069733
xor eax, eax
jmp 0x10069760
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1006990f
cmp dword [esp + 0x38], 1
jne 0x1006990f
push 1
lea eax, [esp + 0x29c]
push eax
lea ecx, [esp + 0x1b0]
xor esi, esi
push ecx
mov dword [esp + 0x3c], esi
call fcn.1005bba0
lea edi, [eax + eax*4]
shl edi, 4
mov eax, dword [esp + edi + 0x1d8]
add esp, 0xc
test eax, eax
jne 0x1006990f
lea edx, [esp + 0x38]
push edx
call fcn.10051cf0
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x298]
push eax
push ecx
call fcn.100a4448
add esp, 8
cmp eax, 0xf42400
mov dword [esp + 0x28], eax
je 0x10069905
mov edx, dword [esp + 0x38]
push edx
call fcn.1005bcf0
mov eax, dword [esp + 0x3c]
mov cl, byte [eax + 0x10]
and cl, 0xe0
add esp, 4
cmp cl, 0x80
jne 0x100697fb
mov esi, 5
mov dword [esp + 0x30], esi
mov al, byte [eax + esi + 0x10]
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne 0x1006981a
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea eax, [esi + eax*2 + 5]
mov dword [esp + 0x30], eax
mov ebx, dword [esp + 0x10]
mov ecx, dword [ebp + 0x44]
mov eax, dword [esp + 0x28]
movzx esi, bx
mov byte [esi + ecx], 5
mov edx, dword [ebp + 0x40]
mov dword [edx + esi*4], eax
mov ecx, dword [ebp + 0x2f8]
lea edx, [esp + 0x298]
mov byte [ecx], 0xc8
mov eax, dword [ebp + 0x2f8]
push edx
add eax, 0x110
push 0xffffffffffffffff
push eax
call fcn.100839e0
mov ecx, dword [ebp + 0x48]
mov eax, dword [esp + 0x44]
xor edx, edx
mov dx, word [ecx + esi*2]
mov ecx, dword [esp + 0x3c]
push ebx
push 0
push edx
push 0xffffffffffffffff
lea edx, [eax + ecx + 0x10]
push edx
push 0x20
push ebp
call fcn.100658c0
mov ecx, dword [ebp + 0xf8]
movzx ebx, ax
mov eax, dword [ebp + 0x14]
mov byte [eax + ecx + 3], 0x35
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xf8]
mov byte [edx + eax + 8], 0x49
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov byte [ecx + edx + 9], 0
mov eax, dword [ebp + 0x48]
movzx eax, word [eax + esi*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0xf8]
mov dword [edx + ecx*4 + 8], eax
mov ecx, dword [esp + 0x68]
push ecx
push esi
push ebp
call fcn.1005ba50
mov ecx, dword [ebp + 0xf8]
mov dword [esp + esi*8 + 0xa0], eax
mov eax, dword [esp + 0x44]
add ecx, ebx
add esp, 0x34
inc eax
mov dword [ebp + 0xf8], ecx
mov byte [esp + edi + 0x1d4], 0x35
mov dword [esp + edi + 0x1cc], 1
mov dword [esp + edi + 0x1d0], esi
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x38]
push edx
call fcn.10051d40
lea edi, [esp + 0x1d8]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x20], edi
mov cl, byte [edi - 0x30]
test cl, cl
lea eax, [edi - 0x30]
je 0x10069ad9
cmp dword [edi], 0xffffffff
je 0x10069ac0
cmp dword [edi - 8], 0xffffffff
jne 0x10069ac0
push eax
lea eax, [esp + 0x29c]
push 0xffffffffffffffff
push eax
call fcn.100839e0
add esp, 0xc
push 0
push 2
push 0
push 0
push 0xffffffffffffffff
lea ecx, [esp + 0x3ac]
push ecx
lea edx, [esp + 0x2b0]
push edx
call fcn.10082100
cmp eax, 1
jne 0x10069ac0
lea esi, [esp + 0xa8]
lea eax, [esp + 0x398]
lea esp, [esp]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x100699b8
test cl, cl
je 0x100699b4
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x100699b8
add eax, 2
add esi, 2
test cl, cl
jne 0x10069990
xor eax, eax
jmp 0x100699bd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10069ac0
movzx ebx, word [esp + 0x10]
mov eax, dword [ebp + 0x44]
mov ecx, dword [esp + 0x20]
mov byte [ebx + eax], 5
mov edx, dword [ecx]
mov eax, dword [ebp + 0x40]
mov edx, dword [eax + edx*4]
mov dword [eax + ebx*4], edx
mov eax, dword [ecx]
mov ecx, dword [ebp + 0x48]
movzx eax, word [ecx + eax*2]
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 0x14]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 8]
lea esi, [eax + edx]
lea eax, [esi + 0xb]
lea edi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10069a00
sub eax, edi
mov edi, eax
lea eax, [esi + edi + 0xb]
lea ecx, [eax + 1]
mov dword [esp + 0x2c], ecx
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10069a16
sub eax, dword [esp + 0x2c]
lea eax, [edi + eax + 0xc]
mov edi, dword [ebp + 0xf8]
lea ecx, [eax + 1]
add edi, edx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0xf8]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x14]
mov byte [eax + ecx + 3], 0x32
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xf8]
mov byte [edx + eax + 8], 0x49
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov byte [ecx + edx + 9], 0
mov eax, dword [ebp + 0x48]
movzx eax, word [eax + ebx*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0xf8]
mov dword [edx + ecx*4 + 8], eax
mov ecx, dword [esp + 0x40]
push ecx
push ebx
push ebp
call fcn.1005ba50
mov ecx, dword [ebp + 0xf8]
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x2c]
mov dword [esp + ebx*8 + 0x78], eax
mov eax, dword [esp + 0x2c]
mov dword [eax - 8], ebx
mov byte [eax - 4], 0x32
mov eax, dword [esp + 0x1c]
add ecx, edx
add esp, 0xc
inc eax
mov dword [ebp + 0xf8], ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
inc eax
add edi, 0x50
cmp eax, 3
mov dword [esp + 0x3c], eax
mov dword [esp + 0x20], edi
jl 0x10069922
lea edi, [esp + 0x1d0]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], edi
lea esp, [esp]
mov cl, byte [edi - 0x28]
test cl, cl
lea eax, [edi - 0x28]
je 0x10069ca9
cmp dword [edi + 8], 0xffffffff
jne 0x10069c90
cmp dword [edi], 0xffffffff
jle 0x10069c90
push eax
lea eax, [esp + 0x29c]
push 0xffffffffffffffff
push eax
call fcn.100839e0
xor ecx, ecx
mov cl, byte [edi + 4]
add esp, 0xc
sub cl, 0x30
push 0
lea edx, [esp + 0x39c]
lea eax, [esp + 0x29c]
push ecx
push 0
push 3
push 0xffffffffffffffff
push edx
push eax
call fcn.10082100
cmp eax, 1
jne 0x10069c90
lea esi, [esp + 0xa8]
lea eax, [esp + 0x398]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x10069b89
test cl, cl
je 0x10069b85
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x10069b89
add eax, 2
add esi, 2
test cl, cl
jne 0x10069b61
xor eax, eax
jmp 0x10069b8e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10069c90
movzx ebx, word [esp + 0x10]
mov eax, dword [ebp + 0x44]
mov ecx, dword [esp + 0x38]
mov byte [ebx + eax], 5
mov edx, dword [ecx]
mov eax, dword [ebp + 0x40]
mov edx, dword [eax + edx*4]
mov dword [eax + ebx*4], edx
mov eax, dword [ecx]
mov ecx, dword [ebp + 0x48]
movzx eax, word [ecx + eax*2]
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 0x14]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 8]
lea esi, [eax + edx]
lea eax, [esi + 0xb]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10069bd0
sub eax, edi
mov edi, eax
lea eax, [esi + edi + 0xb]
lea ecx, [eax + 1]
mov dword [esp + 0x2c], ecx
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10069be6
sub eax, dword [esp + 0x2c]
lea eax, [edi + eax + 0xc]
mov edi, dword [ebp + 0xf8]
add edi, edx
lea ecx, [eax + 1]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x38]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dl, byte [edx + 4]
mov ecx, dword [ebp + 0xf8]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x14]
mov byte [eax + ecx + 3], dl
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0xf8]
mov byte [eax + ecx + 8], 0x4d
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xf8]
mov byte [edx + eax + 9], 0
mov ecx, dword [ebp + 0x48]
movzx eax, word [ecx + ebx*2]
mov ecx, dword [ebp + 0xf8]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov dword [eax + edx*4 + 8], ecx
mov edx, dword [esp + 0x40]
push edx
push ebx
push ebp
call fcn.1005ba50
mov ecx, dword [ebp + 0xf8]
mov dword [esp + ebx*8 + 0x78], eax
mov eax, dword [esp + 0x40]
add ecx, eax
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov dword [ebp + 0xf8], ecx
mov ecx, dword [esp + 0x38]
inc eax
mov dword [ecx + 8], ebx
mov dword [esp + 0x10], eax
mov edi, ecx
mov eax, dword [esp + 0x3c]
inc eax
add edi, 0x50
cmp eax, 3
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], edi
jl 0x10069af0
lea edi, [esp + 0x1dc]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x20], edi
lea esp, [esp]
mov al, byte [edi - 0x34]
test al, al
lea esi, [edi - 0x34]
je 0x10069ec5
cmp dword [edi - 4], 0xffffffff
jne 0x10069eac
mov eax, dword [edi]
cmp eax, 0xffffffff
jle 0x10069eac
mov edx, dword [ebp + 0x48]
movzx eax, word [edx + eax*2]
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 8]
mov eax, dword [ebp + 0x14]
lea ecx, [edx + eax + 0xb]
push ecx
lea edx, [esp + 0x29c]
push 0xffffffffffffffff
push edx
call fcn.100839e0
add esp, 0xc
lea eax, [esp + 0x298]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x10069d3d
test cl, cl
je 0x10069d39
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x10069d3d
add eax, 2
add esi, 2
test cl, cl
jne 0x10069d15
xor eax, eax
jmp 0x10069d42
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10069eac
push eax
push 5
push eax
push 3
push 0xffffffffffffffff
lea eax, [esp + 0x3ac]
push eax
lea ecx, [esp + 0x2b0]
push ecx
call fcn.10082100
cmp eax, 1
jne 0x10069eac
lea esi, [esp + 0xa8]
lea eax, [esp + 0x398]
mov edi, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x10069da8
test cl, cl
je 0x10069da4
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x10069da8
add eax, 2
add esi, 2
test cl, cl
jne 0x10069d80
xor eax, eax
jmp 0x10069dad
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10069eac
movzx ebx, word [esp + 0x10]
mov eax, dword [ebp + 0x44]
mov ecx, dword [esp + 0x20]
mov byte [ebx + eax], 5
mov edx, dword [ecx]
mov eax, dword [ebp + 0x40]
mov edx, dword [eax + edx*4]
mov dword [eax + ebx*4], edx
mov eax, dword [ecx]
mov ecx, dword [ebp + 0x48]
movzx eax, word [ecx + eax*2]
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 0x14]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 8]
lea esi, [eax + edx]
lea eax, [esi + 0xb]
lea edi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10069df0
sub eax, edi
mov edi, eax
lea eax, [esi + edi + 0xb]
lea ecx, [eax + 1]
mov dword [esp + 0x2c], ecx
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10069e06
sub eax, dword [esp + 0x2c]
lea eax, [edi + eax + 0xc]
mov edi, dword [ebp + 0xf8]
lea ecx, [eax + 1]
add edi, edx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0xf8]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x14]
mov byte [eax + ecx + 3], 0x35
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xf8]
mov byte [edx + eax + 8], 0x4d
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov byte [ecx + edx + 9], 0
mov eax, dword [ebp + 0x48]
movzx eax, word [eax + ebx*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0xf8]
mov dword [edx + ecx*4 + 8], eax
mov ecx, dword [esp + 0x40]
push ecx
push ebx
push ebp
call fcn.1005ba50
mov ecx, dword [ebp + 0xf8]
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x2c]
mov dword [esp + ebx*8 + 0x78], eax
mov eax, dword [esp + 0x2c]
mov dword [eax - 4], ebx
mov eax, dword [esp + 0x1c]
add ecx, edx
add esp, 0xc
inc eax
mov dword [ebp + 0xf8], ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
inc eax
add edi, 0x50
cmp eax, 3
mov dword [esp + 0x3c], eax
mov dword [esp + 0x20], edi
jl 0x10069cc0
lea edi, [esp + 0x1e0]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x20], edi
jmp 0x10069ee0
mov al, byte [edi - 0x38]
test al, al
je 0x1006a0c1
mov eax, dword [edi + 4]
test eax, eax
jne 0x1006a0a8
mov eax, dword [edi]
cmp eax, 0xffffffff
jle 0x1006a0a8
mov ecx, dword [ebp + 0x48]
movzx eax, word [ecx + eax*2]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov ecx, dword [eax + edx*4 + 8]
mov edx, dword [ebp + 0x14]
lea eax, [ecx + edx + 0xb]
push eax
lea ecx, [esp + 0x29c]
push 0xffffffffffffffff
push ecx
call fcn.100839e0
mov ecx, dword [ebp + 0x48]
mov eax, dword [edi]
movzx eax, word [ecx + eax*2]
add esp, 0xc
push 0
push 4
push 0
push 1
push 0xffffffffffffffff
lea edx, [esp + 0x3ac]
push edx
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov ecx, dword [eax + edx*4 + 8]
mov edx, dword [ebp + 0x14]
lea eax, [ecx + edx + 0xb]
push eax
call fcn.10082100
cmp eax, 1
jne 0x1006a0a8
lea esi, [esp + 0xa8]
lea eax, [esp + 0x398]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x10069f9d
test cl, cl
je 0x10069f99
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x10069f9d
add eax, 2
add esi, 2
test cl, cl
jne 0x10069f75
xor eax, eax
jmp 0x10069fa2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1006a0a8
movzx ebx, word [esp + 0x10]
mov eax, dword [ebp + 0x44]
mov ecx, dword [esp + 0x20]
mov byte [ebx + eax], 5
mov edx, dword [ecx]
mov eax, dword [ebp + 0x40]
mov edx, dword [eax + edx*4]
mov dword [eax + ebx*4], edx
mov eax, dword [ecx]
mov ecx, dword [ebp + 0x48]
movzx eax, word [ecx + eax*2]
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 0x14]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 8]
lea esi, [eax + edx]
lea eax, [esi + 0xb]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10069fe4
sub eax, edi
mov edi, eax
lea eax, [esi + edi + 0xb]
lea ecx, [eax + 1]
mov dword [esp + 0x2c], ecx
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1006a000
sub eax, dword [esp + 0x2c]
lea eax, [edi + eax + 0xc]
mov edi, dword [ebp + 0xf8]
lea ecx, [eax + 1]
add edi, edx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0xf8]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x14]
mov byte [eax + ecx + 3], 0x34
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xf8]
mov byte [edx + eax + 8], 0x43
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov byte [ecx + edx + 9], 0
mov eax, dword [ebp + 0x48]
movzx eax, word [eax + ebx*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0xf8]
mov dword [edx + ecx*4 + 8], eax
mov ecx, dword [esp + 0x40]
push ecx
push ebx
push ebp
call fcn.1005ba50
mov ecx, dword [ebp + 0xf8]
mov edx, dword [esp + 0x40]
mov dword [esp + ebx*8 + 0x78], eax
mov eax, dword [esp + 0x1c]
add ecx, edx
add esp, 0xc
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
mov dword [ebp + 0xf8], ecx
mov dword [eax + 4], 1
mov edi, eax
mov eax, dword [esp + 0x3c]
inc eax
add edi, 0x50
cmp eax, 3
mov dword [esp + 0x3c], eax
mov dword [esp + 0x20], edi
jl 0x10069ee0
lea edi, [esp + 0x1e8]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x20], edi
mov cl, byte [edi - 0x40]
test cl, cl
lea eax, [edi - 0x40]
je 0x1006a271
mov ecx, dword [edi + 4]
test ecx, ecx
jne 0x1006a258
cmp dword [edi], 0xffffffff
jle 0x1006a258
push 0
push 7
push 0
push 1
push 0xffffffffffffffff
lea ecx, [esp + 0x3ac]
push ecx
push eax
call fcn.10082100
cmp eax, 1
jne 0x1006a258
lea esi, [esp + 0xa8]
lea eax, [esp + 0x398]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x1006a14d
test cl, cl
je 0x1006a149
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x1006a14d
add eax, 2
add esi, 2
test cl, cl
jne 0x1006a125
xor eax, eax
jmp 0x1006a152
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1006a258
movzx ebx, word [esp + 0x10]
mov eax, dword [ebp + 0x44]
mov ecx, dword [esp + 0x20]
mov byte [ebx + eax], 5
mov edx, dword [ecx]
mov eax, dword [ebp + 0x40]
mov edx, dword [eax + edx*4]
mov dword [eax + ebx*4], edx
mov eax, dword [ecx]
mov ecx, dword [ebp + 0x48]
movzx eax, word [ecx + eax*2]
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 0x14]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 8]
lea esi, [eax + edx]
lea eax, [esi + 0xb]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1006a194
sub eax, edi
mov edi, eax
lea eax, [esi + edi + 0xb]
lea ecx, [eax + 1]
mov dword [esp + 0x2c], ecx
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1006a1b0
sub eax, dword [esp + 0x2c]
lea eax, [edi + eax + 0xc]
mov edi, dword [ebp + 0xf8]
lea ecx, [eax + 1]
add edi, edx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0xf8]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x14]
mov byte [eax + ecx + 3], 0x37
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xf8]
mov byte [edx + eax + 8], 0x43
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov byte [ecx + edx + 9], 0
mov eax, dword [ebp + 0x48]
movzx eax, word [eax + ebx*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp + 0xf8]
mov dword [edx + ecx*4 + 8], eax
mov ecx, dword [esp + 0x40]
push ecx
push ebx
push ebp
call fcn.1005ba50
mov ecx, dword [ebp + 0xf8]
mov edx, dword [esp + 0x40]
mov dword [esp + ebx*8 + 0x78], eax
mov eax, dword [esp + 0x1c]
add ecx, edx
add esp, 0xc
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
mov dword [ebp + 0xf8], ecx
mov dword [eax + 4], 1
mov edi, eax
mov eax, dword [esp + 0x3c]
inc eax
add edi, 0x50
cmp eax, 3
mov dword [esp + 0x3c], eax
mov dword [esp + 0x20], edi
jl 0x1006a0d4
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x4a8]
test eax, eax
je 0x1006a57c
lea ecx, [esp + 0xa8]
push 1
push ecx
call fcn.10039d50
add esp, 8
test al, al
jne 0x1006a3f8
mov edx, dword [ebp + 0x44]
movzx eax, bx
mov byte [eax + edx], 3
mov ecx, dword [ebp + 0x40]
mov dword [ecx + eax*4], 0x989680
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0xf8]
mov byte [edx + ecx], 0
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0xf8]
mov byte [edx + ecx + 1], 0xc0
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0xf8]
mov byte [edx + ecx + 2], 0x80
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0xf8]
mov byte [edx + ecx + 3], 1
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0xf8]
mov byte [edx + ecx + 4], 2
mov edx, dword [ebp + 0x48]
movzx ecx, word [edx + eax*2]
mov edx, dword [ebp + 4]
mov esi, dword [ebp + 0xf8]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], esi
mov edx, dword [ebp + 0x44]
mov dl, byte [eax + edx]
xor ecx, ecx
cmp dl, 1
je 0x1006a3db
cmp dl, 2
je 0x1006a3db
cmp dl, 6
je 0x1006a3db
movzx edx, dl
add edx, 0xfffffffd
cmp edx, 5
ja case.0x1006a340.6
jmp dword [edx*4 + 0x1006aa0c]
mov ecx, dword [ebp + 0xf8]
mov edx, dword [ebp + 0x14]
mov cl, byte [edx + ecx + 4]
and cl, 3
sub cl, 2
neg cl
sbb ecx, ecx
and ecx, 0xffff8100
add ecx, 0x8000
jmp case.0x1006a340.6
mov edx, dword [ebp + 0xf8]
mov ecx, dword [ebp + 0x14]
add ecx, edx
cmp byte [ecx + 4], 0x63
je 0x1006a387
mov ecx, 0x200
jmp case.0x1006a340.6
mov cl, byte [ecx + 2]
and cl, 2
neg cl
sbb ecx, ecx
and ecx, 0x2000
add ecx, 0x2000
jmp case.0x1006a340.6
mov ecx, 0x1000
jmp case.0x1006a340.6
mov ecx, dword [ebp + 0x48]
movzx ecx, word [ecx + eax*2]
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp + 4]
mov edx, dword [ecx + edx*4 + 8]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x2c], eax
xor eax, eax
cmp byte [edx + ecx + 8], 0x49
setne al
dec eax
and eax, 0xfffffc00
add eax, 0x800
mov ecx, eax
mov eax, dword [esp + 0x2c]
jmp case.0x1006a340.6
mov ecx, 2
mov dword [esp + eax*8 + 0x6c], ecx
mov ecx, dword [ebp + 0xf8]
add ecx, 5
inc ebx
mov dword [ebp + 0xf8], ecx
mov dword [esp + 0x10], ebx
mov edi, dword [esp + 0x1c]
xor esi, esi
test edi, edi
jle 0x1006a425
movzx edx, byte [esp + esi + 0xa8]
push edx
push str.0123456789._
call fcn.1009e010
add esp, 8
test eax, eax
je 0x1006a57c
inc esi
cmp esi, edi
jl 0x1006a402
mov ecx, dword [ebp + 0x44]
movzx eax, bx
mov byte [eax + ecx], 4
mov edx, dword [ebp + 0x40]
mov dword [edx + eax*4], 0x989680
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov byte [ecx + edx], 0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov byte [ecx + edx + 1], 0x80
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov byte [ecx + edx + 2], 0x82
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov byte [ecx + edx + 3], 2
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xf8]
mov byte [ecx + edx + 4], 0x63
mov ecx, dword [ebp + 0x48]
movzx ecx, word [ecx + eax*2]
mov esi, dword [ebp + 0xf8]
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp + 4]
mov dword [ecx + edx*4 + 8], esi
mov edx, dword [ebp + 0x44]
mov dl, byte [eax + edx]
xor ecx, ecx
cmp dl, 1
je 0x1006a55f
cmp dl, 2
je 0x1006a55f
cmp dl, 6
je 0x1006a55f
movzx edx, dl
add edx, 0xfffffffd
cmp edx, 5
ja case.0x1006a4c7.6
jmp dword [edx*4 + 0x1006aa24]
mov ecx, dword [ebp + 0xf8]
mov edx, dword [ebp + 0x14]
mov cl, byte [edx + ecx + 4]
and cl, 3
sub cl, 2
neg cl
sbb ecx, ecx
and ecx, 0xffff8100
add ecx, 0x8000
jmp case.0x1006a4c7.6
mov edx, dword [ebp + 0xf8]
mov ecx, dword [ebp + 0x14]
add ecx, edx
cmp byte [ecx + 4], 0x63
je 0x1006a50b
mov ecx, 0x200
jmp case.0x1006a4c7.6
mov cl, byte [ecx + 2]
and cl, 2
neg cl
sbb ecx, ecx
and ecx, 0x2000
add ecx, 0x2000
jmp case.0x1006a4c7.6
mov ecx, 0x1000
jmp case.0x1006a4c7.6
mov ecx, dword [ebp + 0x48]
movzx ecx, word [ecx + eax*2]
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp + 4]
mov edx, dword [ecx + edx*4 + 8]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x2c], eax
xor eax, eax
cmp byte [edx + ecx + 8], 0x49
setne al
dec eax
and eax, 0xfffffc00
add eax, 0x800
mov ecx, eax
mov eax, dword [esp + 0x2c]
jmp case.0x1006a4c7.6
mov ecx, 2
mov dword [esp + eax*8 + 0x6c], ecx
mov ecx, dword [ebp + 0xf8]
add ecx, 5
inc ebx
mov dword [ebp + 0xf8], ecx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x4ac]
test eax, eax
je 0x1006a807
cmp word [esp + 0x10], 1
jbe 0x1006a807
movzx ecx, word [esp + 0x10]
xor ebx, ebx
xor eax, eax
test ecx, ecx
jle 0x1006a5ad
mov dword [esp + eax*8 + 0x68], eax
inc eax
cmp eax, ecx
jl 0x1006a5a4
dec ecx
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x2c]
xor edx, edx
test eax, eax
mov edi, 1
jle 0x1006a604
mov esi, dword [esp + edx*8 + 0x74]
mov eax, 1
mov dword [esp + 0x1c], eax
mov edi, edi
mov ecx, esi
and ecx, eax
jbe 0x1006a5e0
test dword [esp + edx*8 + 0x6c], eax
je 0x1006a680
test ecx, ecx
jne 0x1006a5ea
test dword [esp + edx*8 + 0x6c], eax
ja 0x1006a5f3
shl eax, 1
cmp eax, 0x8000
jle 0x1006a5d0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2c]
inc edx
cmp edx, eax
jl 0x1006a5c1
test edi, edi
je 0x1006a5b2
test ebx, ebx
je 0x1006a807
mov ecx, dword [ebp + 0xf8]
mov esi, dword [ebp + 0x14]
lea edx, [esi + ecx]
mov eax, ecx
shr ecx, 2
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
movzx esi, word [esp + 0x10]
xor eax, eax
test esi, esi
mov dword [esp + 0x2c], edx
jle 0x1006a66c
xor edi, edi
lea esp, [esp]
mov ecx, dword [ebp + 0x44]
mov bl, byte [ecx + eax]
add ecx, eax
mov byte [ecx + 7], bl
mov ecx, dword [ebp + 0x40]
mov ebx, dword [ecx + eax*4]
mov dword [ecx + eax*4 + 0x1c], ebx
mov ecx, dword [ebp + 4]
mov ebx, dword [ecx + edi + 8]
add ecx, edi
inc eax
add edi, 0x28
cmp eax, esi
mov dword [ecx + 0x120], ebx
jl 0x1006a640
xor ebx, ebx
cmp esi, ebx
mov dword [esp + 0x44], ebx
jle 0x1006a807
mov dword [esp + 0x30], ebx
jmp 0x1006a6d0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + edx*8 + 0x68]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + edx*8 + 0x6c]
mov dword [esp + 0xa4], ecx
mov eax, dword [esp + edx*8 + 0x70]
mov ecx, dword [esp + edx*8 + 0x74]
mov dword [esp + edx*8 + 0x68], eax
mov dword [esp + edx*8 + 0x6c], ecx
mov eax, dword [esp + 0xa0]
mov dword [esp + edx*8 + 0x70], eax
mov ecx, dword [esp + 0xa4]
mov dword [esp + edx*8 + 0x74], ecx
xor edi, edi
mov ebx, 1
jmp 0x1006a5f7
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + ebx*8 + 0x68]
mov ecx, dword [ebp + 0x44]
movzx ecx, byte [eax + ecx + 7]
dec ecx
cmp ecx, 7
mov esi, 5
ja case.default.0x1006a6eb
jmp dword [ecx*4 + 0x1006aa3c]
mov dword [esp + 0x1c], 4
jmp case.default.0x1006a6eb
mov dword [esp + 0x1c], esi
jmp case.default.0x1006a6eb
mov dword [esp + 0x1c], 7
jmp case.default.0x1006a6eb
mov ecx, dword [esp + 0x44]
cmp byte [edx + ecx + 4], 0x61
mov dword [esp + 0x1c], esi
jne case.default.0x1006a6eb
mov esi, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov ecx, dword [esi + ecx*8 + 8]
lea esi, [ecx + edx]
lea ecx, [esi + 5]
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x1006a737
sub ecx, edi
mov edi, ecx
lea edx, [esi + edi + 6]
lea esi, [edx + 1]
lea esp, [esp]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x1006a750
sub edx, esi
lea edx, [edi + edx + 7]
jmp 0x1006a791
mov esi, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov ecx, dword [esi + ecx*8 + 8]
lea esi, [ecx + edx]
lea ecx, [esi + 0xb]
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x1006a772
sub ecx, edi
mov edi, ecx
lea edx, [esi + edi + 0xc]
lea esi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x1006a784
sub edx, esi
lea edx, [edi + edx + 0xd]
mov dword [esp + 0x1c], edx
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x30]
mov dword [esi + ecx + 8], edx
mov edi, dword [ebp + 4]
mov ecx, dword [esp + 0x1c]
lea esi, [eax + eax*4]
mov esi, dword [edi + esi*8 + 0x120]
add esi, dword [esp + 0x2c]
mov edi, dword [ebp + 0x14]
add edi, edx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x44]
mov dl, byte [ecx + eax + 7]
mov edi, dword [esp + 0x44]
mov byte [ecx + ebx], dl
mov ecx, dword [ebp + 0x40]
mov eax, dword [ecx + eax*4 + 0x1c]
mov edx, dword [esp + 0x30]
mov dword [ecx + ebx*4], eax
mov ecx, dword [esp + 0x1c]
movzx eax, word [esp + 0x10]
add edi, ecx
inc ebx
add edx, 0x28
cmp ebx, eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x30], edx
jl 0x1006a6cc
mov eax, dword [esp + 0x10]
test ax, ax
je 0x1006a81c
movzx eax, ax
dec eax
mov dword [ebp + 0x30], eax
mov dword [ebp + 0x38], eax
jmp 0x1006a82a
mov dword [ebp + 0x30], 0
mov dword [ebp + 0x38], 0xffffffff
mov eax, dword [ebp + 0x38]
mov ecx, dword [esp + 0x498]
pop edi
pop esi
pop ebp
pop ebx
call fcn.1009d15f
add esp, 0x48c
ret 0x10