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

Disassembly:
sub esp, 0x874
mov eax, dword [0x100682c0]
push ebx
xor edx, edx
push ebp
push esi
or ebx, 0xffffffff
mov ecx, 3
mov dword [esp + 0x87c], eax
push edi
mov dword [esp + 0x4c], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x54], edx
lea eax, [esp + 0x1c8]
mov dword [esp + 0x38], 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 0x1002a3a0
mov esi, dword [esp + 0x88c]
mov eax, esi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002a3e0
sub eax, edx
cmp eax, 0x20
jbe 0x1002a409
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 0x1002a41b
push esi
lea eax, [esp + 0xac]
push ebx
push eax
call fcn.100022a0
add esp, 0xc
mov ebp, dword [esp + 0x888]
mov ecx, dword [ebp]
mov word [ebp + 0x2a], bx
xor ebx, ebx
lea eax, [esp + 0xa8]
mov word [ebp + 0x26], bx
mov byte [ecx], bl
lea edx, [eax + 1]
jmp 0x1002a440
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002a440
sub eax, edx
mov edx, eax
cmp edx, ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ebx
jle 0x1002d0e4
jmp 0x1002a460
mov al, byte [esp + ebx + 0xa8]
cmp al, 0x41
lea edi, [esp + ebx + 0xa8]
jb 0x1002a476
cmp al, 0x5a
jbe 0x1002a497
cmp al, 0x61
jb 0x1002a47e
cmp al, 0x7a
jbe 0x1002a497
movzx edx, al
push edx
push 0x10062718
call fcn.10057ee0
mov edx, dword [esp + 0x24]
add esp, 8
test eax, eax
je 0x1002a4b7
cmp ebx, 0x1e
je 0x1002a4b7
cmp byte [edi], 0x27
jne 0x1002a4d5
test ebx, ebx
je 0x1002a4ad
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x1002a4dc
mov dword [esp + 0x14], 1
jmp 0x1002a4d5
cmp byte [edi], 0x2d
jne 0x1002a4dc
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 0x1002a460
jmp 0x1002a4e4
mov byte [esp + ebx + 0xa8], 0
test ebx, ebx
je 0x1002d0e4
xor edi, edi
lea ecx, [edx + 1]
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x14], edi
jmp 0x1002a503
mov edx, dword [esp + 0x1c]
mov eax, dword [ebp + 0x38]
mov ecx, dword [esp + 0x14]
mov word [ecx + eax], si
mov eax, dword [ebp + 4]
mov byte [edi + eax], dl
mov ecx, dword [ebp + 4]
lea edx, [esp + 0xa8]
push edx
mov word [edi + ecx + 6], bx
mov eax, dword [ebp]
push 0xffffffffffffffff
push eax
call fcn.10002250
add esp, 0xc
cmp si, 0xc
jae 0x1002a545
mov ecx, dword [ebp]
push 0x100626c4
push 0xffffffffffffffff
push ecx
jmp 0x1002a550
mov edx, dword [ebp]
push 0x10062714
push 0xffffffffffffffff
push edx
call fcn.10002250
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x54]
add esi, 2
add edx, 2
add esp, 0xc
add ebx, eax
add edi, 0xc
cmp si, 0xe
mov dword [esp + 0x14], edx
jb 0x1002a4ff
xor ebx, ebx
push ebx
push ebp
call fcn.1000a090
push ebp
call fcn.1000a0a0
lea eax, [esp + 0xa8]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x10], ebx
mov word [ebp + 0xe4], bx
lea ecx, [eax + 1]
lea ecx, [ecx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x1002a5a0
sub eax, ecx
mov ecx, dword [ebp + 0x21c]
mov dl, byte [esp + eax + 0xa7]
push 0xffffffffffffffff
lea eax, [esp + 0xac]
mov byte [ecx + 0x320], dl
mov ecx, dword [ebp + 0x21c]
push eax
push ecx
call fcn.1001b1c0
mov edi, eax
add esp, 0xc
cmp edi, 0xf42400
mov dword [esp + 0x28], edi
je 0x1002a82b
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 0x1002a600
sub eax, edx
cmp byte [esp + eax + 0xa7], 0x27
jne 0x1002a641
mov ecx, dword [ebp + 0x21c]
push 0xffffffffffffffff
lea edx, [esp + 0xac]
push edx
lea eax, [esp + 0x30]
push eax
push ecx
call fcn.1005881b
mov edi, dword [esp + 0x38]
movzx edx, ax
mov eax, dword [ebp + 0x30]
add esp, 0x10
add edi, edx
mov dword [eax], edi
jmp 0x1002a64c
mov ecx, dword [ebp + 0x30]
add edi, 0xfbf4
mov dword [ecx], edi
mov eax, dword [ebp + 0x21c]
movzx ecx, byte [eax + 0xc]
add ecx, 0xffffff9f
cmp ecx, 0x19
mov dword [esp + 0x28], edi
ja case.0x1002a66d.98
movzx edx, byte [ecx + 0x1002d134]
jmp dword [edx*4 + 0x1002d110]
mov eax, dword [ebp + 0x34]
mov byte [eax], 1
mov eax, dword [ebp + 0x21c]
cmp byte [eax + 0xe], 0x73
mov byte [ebp + 0xe2], 1
jne case.0x1002a66d.98
mov ecx, dword [ebp + 0x38]
xor edx, edx
mov dx, word [ecx]
push 0
add eax, 0xc
push edx
push 0xffffffffffffffff
push eax
push ebp
call fcn.10029750
mov bx, word [ebp + 0xe4]
movzx ecx, ax
mov eax, dword [ebp + 0x38]
movzx eax, word [eax]
lea edx, [eax + eax*2]
mov eax, dword [ebp + 4]
mov word [eax + edx*4 + 4], bx
add word [ebp + 0xe4], cx
mov ecx, dword [ebp + 0x30]
mov dword [ecx + 4], edi
mov edx, dword [ebp + 0x34]
mov byte [edx + 1], 8
mov byte [ebp + 0xe2], 8
mov ecx, dword [0x1006be90]
mov edx, dword [ecx + 0xdc]
xor eax, eax
add esp, 0x14
cmp edi, edx
sete al
mov ebx, esi
mov dword [esp + 0x890], eax
jmp case.0x1002a66d.98
mov edx, dword [ebp + 0x34]
mov byte [edx], 6
mov eax, dword [ebp + 0x21c]
mov byte [ebp + 0xe2], 6
cmp byte [eax + 0xe], 0x73
jne case.0x1002a66d.98
mov ecx, dword [ebp + 0x38]
xor edx, edx
mov dx, word [ecx]
push 0
add eax, 0xc
push edx
push 0xffffffffffffffff
push eax
push ebp
call fcn.10029750
mov bx, word [ebp + 0xe4]
movzx ecx, ax
mov eax, dword [ebp + 0x38]
movzx eax, word [eax]
lea edx, [eax + eax*2]
mov eax, dword [ebp + 4]
mov word [eax + edx*4 + 4], bx
add esp, 0x14
add word [ebp + 0xe4], cx
mov ecx, dword [ebp + 0x30]
mov dword [ecx + 4], edi
mov edx, dword [ebp + 0x34]
mov byte [edx + 1], 7
mov ebx, esi
mov byte [ebp + 0xe2], 7
mov dword [esp + 0x890], 0
jmp case.0x1002a66d.98
mov eax, dword [ebp + 0x34]
mov byte [eax], 2
jmp case.0x1002a66d.98
mov ecx, dword [ebp + 0x34]
mov byte [ecx], 8
jmp case.0x1002a66d.98
mov edx, dword [ebp + 0x34]
mov byte [edx], 7
jmp case.0x1002a66d.98
mov eax, dword [ebp + 0x34]
mov byte [eax], 5
jmp case.0x1002a66d.98
cmp byte [eax + 0xd], 0x6f
jne 0x1002a7b3
mov ecx, dword [ebp + 0x34]
mov byte [ebp + 0xe2], 2
mov byte [ecx], 2
jmp case.0x1002a66d.98
mov edx, dword [ebp + 0x34]
mov byte [ebp + 0xe2], 6
mov byte [edx], 6
jmp case.0x1002a66d.98
mov eax, dword [ebp + 0x34]
mov byte [eax], 3
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebp + 0x21c]
movzx esi, bx
xor edx, edx
shl esi, 1
mov dx, word [ecx + esi]
push ebx
add eax, 0xc
push edx
push 0xffffffffffffffff
push eax
push ebp
call fcn.10029750
mov edx, dword [ebp + 0x38]
movzx ecx, ax
movzx eax, word [edx + esi]
mov si, word [ebp + 0xe4]
mov edx, dword [ebp + 4]
lea eax, [eax + eax*2]
mov word [edx + eax*4 + 4], si
add word [ebp + 0xe4], cx
mov eax, dword [ebp + 0x21c]
mov cl, byte [eax + 0xc]
add esp, 0x14
inc ebx
cmp cl, 0x7a
mov dword [esp + 0x10], ebx
jne 0x1002a82b
mov dword [esp + 0x30], 1
mov eax, dword [esp + 0x890]
test eax, eax
jne 0x1002a84a
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x1002a84a
cmp edi, 0xf42400
jne 0x1002b17c
mov edx, dword [ebp + 0x21c]
lea ecx, [esp + 0xa8]
push ecx
push edx
mov dword [esp + 0x38], 0xf42400
call fcn.1005881b
mov esi, eax
mov eax, dword [ebp + 0x21c]
mov cl, byte [eax + 2]
add esp, 8
test cl, cl
mov dword [esp + 0x28], esi
je 0x1002a885
push eax
call fcn.1001e3f0
add esp, 4
cmp esi, 0xf42400
jne 0x1002a8a4
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x1002cb05
xor ebx, ebx
mov dword [esp + 0x10], ebx
jmp 0x1002cb05
mov eax, dword [ebp + 0x21c]
cmp word [eax + 0xa], 0
mov dword [esp + 0x44], 0
jbe 0x1002b17c
lea ecx, [ecx]
movzx ebx, word [esp + 0x10]
mov ecx, dword [ebp + 0x30]
mov edx, dword [esp + 0x28]
mov dword [ecx + ebx*4], edx
mov eax, dword [ebp + 0x34]
mov byte [ebx + eax], 0xa
mov esi, dword [ebp + 0x21c]
mov eax, dword [esp + 0x44]
mov dl, byte [esi + eax + 0xc]
xor ecx, ecx
mov cl, dl
mov dword [esp + 0x34], 0
and ecx, 0xe0
add ecx, 0xffffffe0
cmp ecx, 0xc0
ja case.0x1002a90c.33
movzx ecx, byte [ecx + 0x1002d16c]
jmp dword [ecx*4 + 0x1002d150]
mov edx, dword [ebp + 0x34]
mov byte [ebx + edx], 4
mov ecx, dword [ebp + 0x21c]
lea ecx, [ecx + eax + 0xc]
mov dword [esp + 0x50], ecx
mov cl, byte [ecx]
test cl, 2
mov dword [esp + 0x4c], 1
je 0x1002a93b
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x20], 0xffffffff
jne 0x1002a962
and cl, 0x1c
cmp cl, 4
jne 0x1002a962
mov edx, dword [ebp + 0x21c]
movzx ecx, byte [edx + eax + 0x10]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x40], ecx
jmp case.0x1002a90c.33
mov edi, 0x1006270c
lea esi, [esp + 0xa8]
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x1002a9a7
mov edi, str.qualche
lea esi, [esp + 0xa8]
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x1002a9a7
mov edi, 0x100626fc
lea esi, [esp + 0xa8]
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x1002a9b5
mov esi, dword [esp + 0x50]
mov cl, byte [esi]
and cl, 0xe3
add cl, 0x14
mov byte [esi], cl
mov edx, dword [ebp + 0x21c]
movzx ecx, byte [edx + eax + 0x10]
mov dword [esp + 0x40], ecx
jmp case.0x1002a90c.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 0x1002a9f9
movzx ecx, word [esi + 0xa]
lea edi, [eax + 0xa]
cmp ecx, edi
jl 0x1002a9f9
mov cl, byte [esi + eax + 0x11]
and cl, 0xe0
cmp cl, 0xc0
jne 0x1002a9f9
xor edi, edi
jmp 0x1002a9fe
mov edi, 1
mov al, byte [esi + eax + 0xe]
and al, 0x1c
cmp al, 0x1c
jne 0x1002aa70
test edi, edi
je 0x1002aa70
test dl, 0x10
jne 0x1002aa70
mov eax, dword [esp + 0x28]
mov ecx, dword [0x1006babc]
lea edx, [ecx + eax*2]
add edx, eax
mov eax, dword [0x1006bbc4]
push 0
push edx
push eax
call fcn.10002a70
mov edx, dword [0x1006bbc4]
push 3
lea ecx, [esp + 0x6c]
push ecx
push edx
call fcn.100029d0
movzx eax, byte [esp + 0x76]
mov ecx, dword [esp + 0x74]
movzx edx, ch
shl eax, 8
add esp, 0x18
add eax, edx
mov dword [esp + 0x30], eax
je 0x1002aa68
cmp cl, 0x6d
jne 0x1002aa68
mov ecx, dword [ebp + 0x30]
mov dword [ecx + ebx*4], eax
jmp 0x1002aa70
mov dword [esp + 0x30], 0
mov edx, dword [ebp + 0x21c]
mov ecx, dword [esp + 0x44]
lea eax, [edx + ecx]
test byte [eax + 0xf], 0x10
je 0x1002aaa1
test byte [eax + 0xc], 0x10
jne 0x1002aaa1
mov eax, dword [ebp + 0x34]
mov byte [ebx + eax], 4
mov byte [ebp + 0xe2], 4
mov dword [esp + 0x4c], 1
jmp 0x1002aaaf
mov edx, dword [ebp + 0x34]
mov byte [ebx + edx], 3
mov byte [ebp + 0xe2], 3
mov eax, dword [ebp + 0x21c]
movzx ecx, byte [eax + ecx + 0x10]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x34], 1
mov dword [esp + 0x40], ecx
jmp case.0x1002a90c.33
mov edx, dword [ebp + 0x34]
mov byte [ebx + edx], 8
mov ecx, dword [ebp + 0x21c]
movzx edx, byte [ecx + eax + 0xe]
mov dword [esp + 0x40], edx
jmp case.0x1002a90c.33
mov ecx, dword [ebp + 0x34]
mov byte [ebx + ecx], 7
mov edx, dword [ebp + 0x21c]
movzx ecx, byte [edx + eax + 0xd]
mov dword [esp + 0x40], ecx
jmp case.0x1002a90c.33
mov edx, dword [ebp + 0x34]
mov byte [ebx + edx], 5
mov ecx, dword [ebp + 0x21c]
movzx edx, byte [ecx + eax + 0x10]
mov dword [esp + 0x40], edx
test eax, eax
jmp 0x1002ab38
test eax, eax
mov ecx, dword [ebp + 0x34]
mov byte [ebx + ecx], 5
mov ecx, dword [ebp + 0x21c]
movzx edx, byte [ecx + eax + 0xe]
mov dword [esp + 0x40], edx
je case.0x1002a90c.33
mov edx, dword [ebp + 0x34]
cmp byte [ebx + edx - 1], 5
je case.0x1002a90c.33
mov byte [ecx], 0
mov ecx, dword [esp + 0x10]
test cx, cx
je 0x1002ab6d
cmp cx, 1
jne 0x1002b02a
mov ecx, dword [ebp + 0x30]
mov ecx, dword [ecx]
cmp ecx, 0xfbf4
jb 0x1002b02a
cmp ecx, 0x10000
jae 0x1002b02a
mov ecx, dword [ebp + 0x21c]
mov dl, byte [ecx + eax + 0xc]
and dl, 0xe0
cmp dl, 0x20
jne 0x1002b02a
mov al, byte [ecx]
test al, al
je 0x1002b02a
mov byte [ecx], 0xfa
mov ecx, dword [ebp + 0x34]
mov dl, byte [ebx + ecx]
mov ecx, dword [esp + 0x44]
mov byte [esp + 0x1b], al
mov eax, dword [ebp + 0x21c]
mov byte [ebp + 0xe2], dl
mov edx, dword [esp + 0x10]
push edx
lea eax, [eax + ecx + 0xc]
mov ecx, dword [ebp + 0x38]
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.100225d0
movzx ecx, ax
movzx eax, byte [esp + 0x37]
add esp, 0x1c
dec eax
mov dword [esp + 0x14], ecx
je 0x1002aeed
dec eax
je 0x1002ad69
dec eax
jne 0x1002b0dd
movzx edx, word [ebp + 0xe4]
mov eax, dword [ebp + 0x14]
mov byte [edx + eax + 3], 0x31
mov ecx, dword [ebp + 0x21c]
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.0x1002ac2d.17
movzx ecx, byte [ecx + 0x1002d248]
jmp dword [ecx*4 + 0x1002d230]
lea edx, [esp + 0x60]
push 0xffffffffffffffff
push edx
mov byte [esp + 0x2f], 0x49
mov byte [esp + 0x68], al
call fcn.1001c400
movzx eax, word [ebp + 0xe4]
mov ecx, dword [ebp + 0x14]
mov dl, byte [esp + 0x69]
add esp, 8
mov byte [eax + ecx + 3], dl
jmp case.0x1002ac2d.17
mov byte [esp + 0x60], al
lea eax, [esp + 0x60]
push 0xffffffffffffffff
push eax
mov byte [esp + 0x2f], 0x4d
call fcn.1001c400
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov al, byte [esp + 0x69]
add esp, 8
mov byte [ecx + edx + 3], al
jmp case.0x1002ac2d.17
mov byte [esp + 0x27], 0x47
jmp case.0x1002ac2d.17
mov byte [esp + 0x27], 0x50
mov byte [esp + 0x1b], 1
jmp case.0x1002ac2d.17
mov byte [esp + 0x27], 0x46
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov al, byte [esp + 0x27]
mov byte [ecx + edx + 8], al
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov al, byte [esp + 0x1b]
mov byte [ecx + edx + 9], al
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 0xa], 0x53
mov eax, dword [ebp + 0x21c]
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
add eax, 0x10c
push eax
lea eax, [ecx + edx + 0xb]
push 0xffffffffffffffff
push eax
call fcn.100022a0
mov edi, dword [ebp + 0x21c]
lea eax, [edi + 0x10c]
add esp, 0xc
lea esi, [eax + 1]
jmp 0x1002ad10
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002ad10
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*2]
lea eax, [eax + edx*4]
mov edx, dword [eax + 8]
movzx eax, byte [eax]
sub edx, ecx
movzx ecx, word [ebp + 0xe4]
add edx, eax
push edx
add ecx, dword [ebp + 0x14]
lea edx, [ecx + esi + 0xb]
push 0xffffffffffffffff
push edx
call fcn.100022a0
mov eax, dword [ebp + 0x21c]
movzx ecx, byte [eax + 2]
lea edx, [esi + ecx + 0xc]
add esp, 0xc
mov dword [esp + 0x14], edx
jmp 0x1002b0dd
mov ecx, dword [ebp + 4]
lea eax, [ebx + ebx*2]
shl eax, 2
movzx edx, byte [eax + ecx]
movzx ecx, word [ebp + 0xe4]
mov dword [esp + 0x58], edx
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 3], 0x31
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 8], 0x46
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 9], 0
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 0xa], 0x53
mov ecx, dword [ebp + 0x21c]
movzx esi, byte [ecx + 2]
mov edx, dword [ebp + 4]
movzx ecx, byte [edx + eax]
mov edi, dword [ebp + 0x14]
sub ecx, esi
add edx, eax
mov dword [esp + 0x50], esi
mov esi, dword [edx + 8]
movzx edx, word [ebp + 0xe4]
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]
movzx esi, word [ebp + 0xe4]
mov ecx, dword [esp + 0x58]
mov edi, dword [ebp + 0x14]
sub esi, edx
add esi, ecx
mov byte [esi + edi + 0xb], 0x65
movzx esi, word [ebp + 0xe4]
sub esi, edx
add esi, ecx
mov ecx, dword [ebp + 0x14]
mov byte [esi + ecx + 0xc], 0
movzx edx, word [ebp + 0xe4]
mov ecx, dword [ebp + 0x14]
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 0x1002ae59
test cl, cl
je 0x1002ae55
mov dl, byte [esi + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x1002ae59
add esi, 2
add edi, 2
test cl, cl
jne 0x1002ae35
xor ecx, ecx
jmp 0x1002ae5e
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x1002ae9d
mov edi, dword [esp + 0x1c]
mov esi, dword [0x10068040]
add edi, 0xb
nop
mov dl, byte [esi]
mov cl, dl
cmp dl, byte [edi]
jne 0x1002ae94
test cl, cl
je 0x1002ae90
mov dl, byte [esi + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x1002ae94
add esi, 2
add edi, 2
test cl, cl
jne 0x1002ae70
xor ecx, ecx
jmp 0x1002ae99
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x1002aea5
mov ecx, dword [esp + 0x1c]
mov byte [ecx + 7], 0x41
mov ecx, dword [esp + 0x58]
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 + 8]
mov edx, dword [ebp + 0x14]
sub eax, edi
add eax, ecx
movzx ecx, word [ebp + 0xe4]
push eax
add ecx, edx
lea edx, [ecx + esi + 0xb]
push 0xffffffffffffffff
push edx
call fcn.100022a0
lea eax, [esi + edi + 0xc]
add esp, 0xc
mov dword [esp + 0x14], eax
jmp 0x1002b0dd
mov ecx, dword [ebp + 0x21c]
mov dl, byte [ecx + 1]
lea eax, [esp + 0x60]
push 0xffffffffffffffff
push eax
mov byte [esp + 0x68], dl
call fcn.1001c400
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov al, byte [esp + 0x69]
mov byte [ecx + edx + 3], al
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov al, byte [esp + 0x68]
mov byte [ecx + edx + 8], al
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov al, byte [esp + 0x6a]
mov byte [ecx + edx + 9], al
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 0xa], 0x4e
mov eax, dword [ebp + 0x21c]
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
add eax, 0x10c
push eax
lea eax, [ecx + edx + 0xb]
push 0xffffffffffffffff
push eax
call fcn.100022a0
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov esi, dword [str.avere]
add ecx, edx
add esp, 0x14
mov dword [esp + 0x1c], ecx
add ecx, 0xb
mov edi, ecx
jmp 0x1002af90
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x1002afb4
test al, al
je 0x1002afb0
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x1002afb4
add esi, 2
add edi, 2
test al, al
jne 0x1002af90
xor eax, eax
jmp 0x1002afb9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1002aff6
mov esi, dword [0x10068040]
mov edi, ecx
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x1002afed
test al, al
je 0x1002afe9
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x1002afed
add esi, 2
add edi, 2
test al, al
jne 0x1002afc5
xor eax, eax
jmp 0x1002aff2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1002affe
mov eax, dword [esp + 0x1c]
mov byte [eax + 7], 0x41
mov eax, dword [ebp + 0x21c]
add eax, 0x10c
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002b010
mov ecx, dword [esp + 0x14]
sub eax, edx
lea edx, [ecx + eax + 0xc]
mov dword [esp + 0x14], edx
jmp 0x1002b0dd
mov eax, dword [ebp + 0x34]
mov cl, byte [ebx + eax]
mov eax, dword [ebp + 0x21c]
mov esi, dword [esp + 0x44]
mov byte [ebp + 0xe2], cl
mov dl, byte [eax]
mov ecx, dword [esp + 0x10]
push ecx
mov byte [esp + 0x1f], dl
mov edx, dword [ebp + 0x38]
xor ecx, ecx
mov cx, word [edx + ebx*2]
lea eax, [eax + esi + 0xc]
xor edx, edx
mov dl, byte [eax]
push 0
push ecx
push 0xffffffffffffffff
push eax
and edx, 0xffffffe0
push edx
push ebp
call fcn.100225d0
mov ecx, dword [ebp + 0x21c]
mov dl, byte [esp + 0x37]
movzx eax, ax
mov byte [ecx], dl
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x21c]
mov cl, byte [eax + esi + 0xc]
and cl, 0xe0
add esp, 0x1c
cmp cl, 0x40
jne 0x1002b0dd
movzx edx, word [ebp + 0xe4]
mov eax, dword [ebp + 0x14]
cmp byte [edx + eax + 8], 0x50
jne 0x1002b0dd
lea ecx, [esp + 0x48]
push ecx
call fcn.10013870
movzx edx, word [ebp + 0xe4]
mov eax, dword [ebp + 0x14]
lea ecx, [edx + eax + 0xb]
mov edx, dword [esp + 0x48]
push 0xffffffffffffffff
push ecx
push edx
call fcn.1005881b
mov ecx, dword [ebp + 0x30]
mov dword [ecx + ebx*4], eax
mov edx, dword [esp + 0x54]
add esp, 0xc
push edx
call fcn.100138c0
mov eax, dword [ebp + 0x34]
cmp byte [ebx + eax], 5
jne 0x1002b10b
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
lea eax, [edx + ecx + 0xb]
push 1
push eax
lea ecx, [esp + 0x1b0]
push ecx
call fcn.1001e240
add esp, 0xc
mov dword [esp + 0x38], eax
cmp word [esp + 0x10], 0
jbe 0x1002b218
cmp dword [esp + 0x54], 1
jne 0x1002b218
movzx esi, word [ebp + 0xe4]
mov edi, dword [ebp + 0x14]
mov ecx, dword [esp + 0x14]
add esi, edi
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x1002b218
add dword [esp + 0x10], 0xffff
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x44]
mov eax, dword [ebp + 0x21c]
push edx
add eax, 0xc
push eax
call fcn.1001dfa0
mov ecx, dword [ebp + 0x21c]
movzx edx, word [ecx + 0xa]
add esp, 8
inc edi
cmp eax, edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x10], edi
jl 0x1002a8c0
mov ebx, edi
lea eax, [esp + 0xa8]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002b186
sub eax, edx
mov edi, eax
cmp edi, 4
mov dword [esp + 0x1c], edi
jl 0x1002b77e
mov al, byte [esp + edi + 0xa5]
cmp al, 0x6e
lea esi, [esp + edi + 0xa8]
jne 0x1002b77e
cmp byte [esi - 2], 0x74
jne 0x1002b77e
mov al, byte [esi - 4]
cmp al, 0x61
je 0x1002b1cd
cmp al, 0x65
jne 0x1002b77e
lea eax, [esp + 0xa8]
push eax
lea ecx, [esp + 0x29c]
push 0xffffffffffffffff
push ecx
mov dword [esp + 0x58], 0
call fcn.100022a0
mov al, byte [esi - 4]
add esp, 0xc
cmp al, 0x61
mov byte [esp + edi + 0x294], 0
jne 0x1002b3d2
mov edx, dword [0x10068038]
push edx
push 0xffffffffffffffff
lea eax, [esp + 0x2a0]
push eax
jmp 0x1002b3e3
mov eax, dword [ebp + 0x38]
mov edx, dword [ebp + 4]
lea esi, [ebx + ebx]
movzx eax, word [eax + esi]
lea ecx, [eax + eax*2]
mov ax, word [ebp + 0xe4]
mov word [edx + ecx*4 + 4], ax
mov ecx, dword [esp + 0x40]
push ecx
push ebx
push ebp
call fcn.1001e0f0
mov dx, word [esp + 0x20]
add word [ebp + 0xe4], dx
mov dword [esp + ebx*8 + 0x78], eax
mov eax, dword [ebp + 0x34]
mov cl, byte [ebx + eax]
add esp, 0xc
cmp cl, 5
jne 0x1002b298
mov ecx, dword [ebp + 0x38]
movzx eax, word [ecx + esi]
lea edx, [eax + eax*2]
mov eax, dword [ebp + 4]
movzx ecx, word [eax + edx*4 + 4]
mov edx, dword [ebp + 0x14]
lea eax, [ecx + edx]
cmp byte [eax + 8], 0x50
jne 0x1002b298
mov cl, byte [eax + 9]
test cl, cl
jne 0x1002b298
mov eax, dword [esp + 0x38]
lea eax, [eax + eax*4]
shl eax, 4
mov dword [esp + eax + 0x1f4], 1
mov eax, dword [esp + 0x34]
test eax, eax
je 0x1002b144
mov ecx, dword [ebp + 0x21c]
mov edx, dword [esp + 0x44]
lea eax, [ecx + edx]
mov cl, byte [eax + 0xc]
test cl, 2
je 0x1002b144
mov edx, dword [esp + 0x4c]
test edx, edx
jne 0x1002b144
mov al, byte [eax + 0xe]
mov edi, dword [esp + 0x10]
and al, 0x1c
inc edi
cmp al, 0x1c
jne 0x1002b305
test cl, 0x10
jne 0x1002b305
mov eax, dword [esp + 0x30]
cmp eax, 0xf42400
je 0x1002b2f6
test eax, eax
je 0x1002b2f6
mov ecx, dword [ebp + 0x30]
movzx esi, di
mov dword [ecx + esi*4], eax
jmp 0x1002b312
mov edx, dword [ebp + 0x30]
mov eax, dword [esp + 0x28]
movzx esi, di
mov dword [edx + esi*4], eax
jmp 0x1002b312
mov ecx, dword [ebp + 0x30]
mov edx, dword [esp + 0x28]
movzx esi, di
mov dword [ecx + esi*4], edx
mov eax, dword [ebp + 0x34]
mov byte [esi + eax], 4
mov ecx, dword [ebp + 0x21c]
mov byte [ebp + 0xe2], 4
cmp word [ecx + 0xa], 0xa
jb 0x1002b366
mov dl, byte [ecx + 0xc]
mov al, dl
and al, 0xe0
cmp al, 0xc0
jne 0x1002b366
mov al, dl
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea eax, [eax + eax + 5]
mov al, byte [eax + ecx + 0xc]
mov bl, al
and bl, 0xe0
cmp bl, 0xc0
jne 0x1002b366
and dl, 0xc
and al, 0xc
cmp dl, al
jne 0x1002b366
cmp dl, 8
je 0x1002b366
mov byte [ecx], 0x80
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebp + 0x21c]
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 + 0xc]
push edx
push 0xc0
push ebp
call fcn.100225d0
mov edx, dword [ebp + 4]
movzx ebx, ax
mov eax, dword [ebp + 0x38]
movzx eax, word [eax + esi*2]
lea ecx, [eax + eax*2]
mov ax, word [ebp + 0xe4]
mov word [edx + ecx*4 + 4], ax
mov ecx, dword [esp + 0x5c]
push ecx
push esi
push ebp
call fcn.1001e0f0
add esp, 0x28
add word [ebp + 0xe4], bx
mov dword [esp + esi*8 + 0x6c], eax
mov dword [esp + 0x4c], 1
jmp 0x1002b148
mov ecx, dword [0x10068034]
push ecx
push 0xffffffffffffffff
lea edx, [esp + 0x2a0]
push edx
call fcn.10002250
add esp, 0xc
lea eax, [esp + 0x14]
push eax
call fcn.10013870
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x298]
push ecx
push edx
call fcn.1005881b
mov ebx, eax
mov edi, 0xf42400
add esp, 8
cmp ebx, edi
mov dword [esp + 0x28], ebx
je 0x1002b428
mov eax, dword [esp + 0x14]
mov cl, byte [eax + 0xc]
and cl, 0xe0
cmp cl, 0x20
je 0x1002b473
lea eax, [esp + 0x298]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002b432
sub eax, edx
mov edx, dword [0x10068030]
push edx
mov byte [esp + eax + 0x299], cl
lea eax, [esp + 0x29c]
push 0xffffffffffffffff
push eax
call fcn.10002250
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x2a4]
push ecx
push edx
call fcn.1005881b
mov ebx, eax
add esp, 0x14
mov dword [esp + 0x28], ebx
cmp ebx, edi
je 0x1002b488
mov eax, dword [esp + 0x14]
mov al, byte [eax + 0xc]
and al, 0xe0
cmp al, 0x20
je 0x1002b538
lea eax, [esp + 0x298]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002b492
mov esi, dword [0x10068034]
sub eax, edx
lea eax, [esp + eax + 0x295]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x1002b4d0
test cl, cl
je 0x1002b4cc
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x1002b4d0
add eax, 2
add esi, 2
test cl, cl
jne 0x1002b4a8
xor eax, eax
jmp 0x1002b4d5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1002b52f
lea eax, [esp + 0x298]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002b4e3
sub eax, edx
push 0x10062638
mov byte [esp + eax + 0x298], cl
lea eax, [esp + 0x29c]
push 0xffffffffffffffff
push eax
call fcn.10002250
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x2a4]
push ecx
push edx
call fcn.1005881b
mov ebx, eax
mov eax, dword [esp + 0x28]
mov al, byte [eax + 0xc]
and al, 0xe0
add esp, 0x14
cmp al, 0x20
mov dword [esp + 0x28], ebx
je 0x1002b538
mov dword [esp + 0x28], edi
jmp 0x1002b770
cmp ebx, edi
je 0x1002b770
cmp al, 0x20
je 0x1002b54d
mov dword [esp + 0x28], edi
jmp 0x1002b770
push 1
lea ecx, [esp + 0x29c]
push ecx
lea edx, [esp + 0x1b0]
push edx
call fcn.1001e240
lea eax, [eax + eax*4]
shl eax, 4
mov ecx, dword [esp + eax + 0x200]
add esp, 0xc
test ecx, ecx
jne 0x1002b770
push 1
lea ecx, [esp + 0x29c]
push ecx
lea edx, [esp + 0x1b0]
push edx
call fcn.1001e240
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 0x1002b770
mov eax, dword [ebp + 0x21c]
push eax
call fcn.1001e3f0
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.1004c100
lea ecx, [esp + 0x398]
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x1002b5e7
sub ecx, esi
cmp eax, 1
mov edx, ecx
jne 0x1002b770
lea ecx, [edx - 1]
lea edi, [esp + 0xa8]
lea esi, [esp + 0x398]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x1002b770
lea eax, [esp + 0xa8]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002b620
sub eax, esi
cmp edx, eax
jne 0x1002b770
mov al, byte [esp + edx + 0xa7]
cmp al, 0x61
je 0x1002b64c
cmp al, 0x65
je 0x1002b64c
cmp al, 0x6f
je 0x1002b64c
cmp al, 0x69
jne 0x1002b770
mov eax, dword [esp + 0x14]
mov cl, byte [eax + 0xc]
and cl, 0xe0
cmp cl, 0x80
jne 0x1002b666
mov esi, 5
mov dword [esp + 0x4c], esi
jmp 0x1002b66a
mov esi, dword [esp + 0x4c]
mov al, byte [eax + esi + 0xc]
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne 0x1002b689
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 + 0x34]
movzx esi, di
mov byte [esi + ecx], 5
mov edx, dword [ebp + 0x30]
mov dword [edx + esi*4], ebx
mov eax, dword [ebp + 0x21c]
lea ecx, [esp + 0x298]
mov byte [eax], 0xc8
mov edx, dword [ebp + 0x21c]
push ecx
add edx, 0x10c
push 0xffffffffffffffff
push edx
call fcn.100022a0
mov eax, dword [ebp + 0x34]
mov cl, byte [esi + eax]
mov edx, dword [ebp + 0x38]
xor eax, eax
mov byte [ebp + 0xe2], 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 + 0xc]
push eax
push 0x20
push ebp
call fcn.100225d0
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 3], 0x31
mov ecx, dword [ebp + 0x14]
movzx edi, ax
movzx eax, word [ebp + 0xe4]
mov byte [eax + ecx + 8], 0x50
movzx edx, word [ebp + 0xe4]
mov eax, dword [ebp + 0x14]
mov byte [edx + eax + 9], 0
mov ecx, dword [ebp + 0x38]
movzx eax, word [ecx + esi*2]
mov cx, word [ebp + 0xe4]
lea edx, [eax + eax*2]
mov eax, dword [ebp + 4]
mov word [eax + edx*4 + 4], cx
mov edx, dword [esp + 0x68]
push edx
push esi
push ebp
call fcn.1001e0f0
add word [ebp + 0xe4], di
mov dword [esp + esi*8 + 0xa0], eax
mov eax, dword [esp + 0x44]
add esp, 0x34
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
mov dword [esp + eax + 0x1f4], 1
mov ecx, dword [esp + 0x14]
push ecx
call fcn.100138c0
mov ebx, dword [esp + 0x10]
movzx ecx, bx
xor eax, eax
test ecx, ecx
mov dword [esp + 0x34], eax
jle 0x1002bbca
mov ecx, dword [ebp + 0x34]
mov al, byte [ecx + eax]
cmp al, 5
mov edx, 1
jne 0x1002b9df
mov edx, dword [ebp + 0x38]
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*2]
movzx eax, word [ebx + edx*4 + 4]
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 0x1002b82c
mov eax, dword [esp + 0x50]
add eax, 0xb
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x1002b806
test cl, cl
je 0x1002b802
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x1002b806
add eax, 2
add esi, 2
test cl, cl
jne 0x1002b7e2
xor eax, eax
jmp 0x1002b80b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1002b9d6
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 0x1002b7d6
or edx, 0xffffffff
mov eax, dword [esp + 0x50]
cmp byte [eax + 8], 0x4d
mov esi, dword [esp + 0x34]
jne 0x1002b84a
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*2]
movzx eax, word [ebx + eax*4 + 4]
add eax, ecx
cmp byte [eax + 3], 0x35
jne 0x1002b87d
cmp byte [eax + 8], 0x49
jne 0x1002b87d
cmp byte [eax + 9], 0
jne 0x1002b87d
lea eax, [edx + edx*4]
shl eax, 4
mov dword [esp + eax + 0x1cc], 1
movzx eax, word [edi]
lea eax, [eax + eax*2]
movzx eax, word [ebx + eax*4 + 4]
add eax, ecx
mov cl, byte [eax + 9]
test cl, cl
jne 0x1002b8dd
cmp byte [eax + 8], 0x49
jne 0x1002b8dd
mov al, byte [eax + 3]
cmp al, 0x32
je 0x1002b8a6
cmp al, 0x33
je 0x1002b8a6
cmp al, 0x35
jne 0x1002b8dd
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*2]
movzx esi, word [ebx + ecx*4 + 4]
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*2]
movzx eax, word [ebx + eax*4 + 4]
add eax, ecx
cmp byte [eax + 9], 0
jne 0x1002b90c
cmp byte [eax + 8], 0x43
jne 0x1002b90c
cmp byte [eax + 3], 0x35
jne 0x1002b90c
lea eax, [edx + edx*4]
shl eax, 4
mov dword [esp + eax + 0x1dc], esi
movzx eax, word [edi]
lea eax, [eax + eax*2]
movzx eax, word [ebx + eax*4 + 4]
add eax, ecx
cmp byte [eax + 9], 0
jne 0x1002b938
cmp byte [eax + 8], 0x49
jne 0x1002b938
cmp byte [eax + 3], 0x34
jne 0x1002b938
lea eax, [edx + edx*4]
shl eax, 4
mov dword [esp + eax + 0x1e0], esi
movzx eax, word [edi]
lea eax, [eax + eax*2]
movzx eax, word [ebx + eax*4 + 4]
cmp byte [eax + ecx + 8], 0x43
jne 0x1002b95b
lea eax, [edx + edx*4]
shl eax, 4
mov dword [esp + eax + 0x1e4], 1
movzx eax, word [edi]
lea eax, [eax + eax*2]
movzx eax, word [ebx + eax*4 + 4]
add eax, ecx
cmp byte [eax + 9], 0
jne 0x1002b987
cmp byte [eax + 8], 0x49
jne 0x1002b987
cmp byte [eax + 3], 0x32
jne 0x1002b987
lea eax, [edx + edx*4]
shl eax, 4
mov dword [esp + eax + 0x1e8], esi
movzx eax, word [edi]
lea eax, [eax + eax*2]
movzx eax, word [ebx + eax*4 + 4]
cmp byte [eax + ecx + 8], 0x43
jne 0x1002b9aa
lea eax, [edx + edx*4]
shl eax, 4
mov dword [esp + eax + 0x1ec], 1
movzx eax, word [edi]
lea eax, [eax + eax*2]
movzx eax, word [ebx + eax*4 + 4]
add eax, ecx
cmp byte [eax + 8], 0x50
jne 0x1002b9fb
cmp byte [eax + 9], 1
jne 0x1002b9fb
lea ecx, [edx + edx*4]
shl ecx, 4
mov dword [esp + ecx + 0x1f0], 1
jmp 0x1002b9fb
mov edx, dword [esp + 0x30]
jmp 0x1002b82f
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jne 0x1002b9f3
cmp al, 3
je 0x1002b9ef
cmp al, 4
jne 0x1002b9f3
mov dword [esp + 0x3c], edx
cmp al, 8
jne 0x1002b9fb
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 0x1002b78f
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x1002bbca
lea edx, [esp + 0x14]
push edx
xor esi, esi
call fcn.10013870
mov ecx, dword [esp + 0x1c]
push esi
lea eax, [esp + 0x2c]
push eax
mov eax, dword [ebp + 0x21c]
push esi
push 0x1f4
push ecx
lea edx, [esp + 0xbc]
push edx
push eax
call fcn.10023c60
add esp, 0x1c
test ax, ax
je 0x1002bbbb
mov ecx, dword [ebp + 0x21c]
mov edx, dword [esp + 0x14]
add ecx, 0x10c
push ecx
push edx
call fcn.1005881b
add esp, 8
cmp eax, 0xf42400
mov dword [esp + 0x28], eax
je 0x1002bbbb
mov eax, dword [ebp + 0x21c]
push 1
add eax, 0x10c
push eax
lea ecx, [esp + 0x1b0]
push ecx
call fcn.1001e240
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 0x1002bbbb
mov edx, dword [esp + 0x14]
push edx
call fcn.1001e3f0
mov eax, dword [esp + 0x18]
mov cl, byte [eax + 0xc]
and cl, 0xe0
add esp, 4
cmp cl, 0x80
jne 0x1002bade
mov esi, 5
mov al, byte [eax + esi + 0xc]
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne 0x1002baf9
and al, 1
dec al
neg al
sbb eax, eax
inc eax
lea esi, [esi + eax*2 + 5]
mov eax, dword [ebp + 0x34]
mov edx, dword [esp + 0x28]
mov byte [edi + eax], 5
mov ecx, dword [ebp + 0x30]
mov dword [ecx + edi*4], edx
mov eax, dword [ebp + 0x21c]
mov ecx, dword [esp + 0x10]
mov byte [eax], 0xc8
mov edx, dword [ebp + 0x38]
push ecx
mov ecx, dword [esp + 0x18]
xor eax, eax
mov ax, word [edx + edi*2]
push 0
lea edx, [ecx + esi + 0xc]
push eax
push 0xffffffffffffffff
push edx
push 0x20
push ebp
call fcn.100225d0
mov ecx, dword [ebp + 0x14]
movzx esi, ax
movzx eax, word [ebp + 0xe4]
mov byte [eax + ecx + 3], 0x31
movzx edx, word [ebp + 0xe4]
mov eax, dword [ebp + 0x14]
mov byte [edx + eax + 8], 0x50
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 9], 1
movzx eax, word [ebp + 0xe4]
mov ecx, dword [ebp + 0x14]
mov byte [eax + ecx + 0xa], 0x4e
mov edx, dword [ebp + 0x38]
movzx eax, word [edx + edi*2]
mov ecx, dword [ebp + 4]
mov dx, word [ebp + 0xe4]
lea eax, [eax + eax*2]
mov word [ecx + eax*4 + 4], dx
mov eax, dword [esp + 0x5c]
push eax
push edi
push ebp
call fcn.1001e0f0
add word [ebp + 0xe4], si
mov dword [esp + edi*8 + 0x94], eax
mov eax, dword [esp + 0x38]
add esp, 0x28
inc eax
mov dword [esp + 0x10], eax
mov dword [ebx], 1
mov ecx, dword [esp + 0x14]
push ecx
call fcn.100138c0
jmp 0x1002bd91
lea eax, [esp + 0x1a8]
mov dword [esp + 0x48], 0
mov dword [esp + 0x30], eax
lea ecx, [ecx]
cmp byte [eax], 0
je 0x1002bd91
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x1002bd78
movzx ebx, word [esp + 0x10]
xor edi, edi
test ebx, ebx
jle 0x1002bc58
nop
mov eax, dword [ebp + 0x34]
cmp byte [eax + edi], 5
je 0x1002bc58
mov edx, dword [ebp + 0x38]
movzx eax, word [edx + edi*2]
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
mov eax, dword [ebp + 0x14]
lea esi, [edx + eax + 0xb]
mov eax, dword [esp + 0x30]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x1002bc4a
test cl, cl
je 0x1002bc46
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x1002bc4a
add eax, 2
add esi, 2
test cl, cl
jne 0x1002bc26
xor eax, eax
jmp 0x1002bc4f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1002bc58
inc edi
cmp edi, ebx
jl 0x1002bc00
mov eax, dword [ebp + 0x30]
mov ecx, dword [eax + edi*4]
mov dword [eax + ebx*4], ecx
mov edx, dword [ebp + 0x30]
mov eax, dword [esp + 0x28]
cmp eax, dword [edx + edi*4]
je 0x1002bc95
cmp eax, 0xf42400
jne 0x1002bc8f
mov ecx, dword [ebp + 0x21c]
lea eax, [esp + 0xa8]
push eax
push ecx
call fcn.1005881b
add esp, 8
mov dword [esp + 0x28], eax
mov edx, dword [ebp + 0x30]
mov dword [edx + ebx*4], eax
mov eax, dword [ebp + 0x34]
mov byte [ebx + eax], 4
mov ecx, dword [ebp + 0x38]
movzx ecx, word [ecx + edi*2]
mov eax, dword [ebp + 0x14]
lea edx, [ecx + ecx*2]
mov ecx, dword [ebp + 4]
movzx edx, word [ecx + edx*4 + 4]
movzx edx, byte [edx + eax]
movzx ecx, word [ebp + 0xe4]
mov byte [ecx + eax], dl
movzx eax, word [ebp + 0xe4]
mov ecx, dword [ebp + 0x14]
mov byte [eax + ecx + 1], 4
movzx eax, word [ebp + 0xe4]
mov ecx, dword [ebp + 0x14]
mov byte [eax + ecx + 2], 0x70
mov eax, dword [esp + 0x1c]
mov cl, byte [esp + eax + 0xa7]
cmp cl, 0x61
mov dword [esp + 0x40], edx
je 0x1002bcfb
cmp cl, 0x65
mov eax, 0x80
jne 0x1002bd00
mov eax, 0x40
cmp cl, 0x69
je 0x1002bd0f
cmp cl, 0x65
mov ecx, 8
jne 0x1002bd14
mov ecx, 4
mov esi, dword [ebp + 0x14]
add al, cl
movzx ecx, word [ebp + 0xe4]
mov byte [ecx + esi + 3], al
movzx eax, word [ebp + 0xe4]
mov ecx, dword [ebp + 0x14]
push edx
push ebx
push ebp
mov byte [eax + ecx + 4], 0x61
call fcn.1001e0f0
mov edx, dword [ebp + 0x38]
mov ecx, dword [ebp + 4]
mov dword [esp + ebx*8 + 0x78], eax
movzx eax, word [edx + ebx*2]
mov dx, word [ebp + 0xe4]
lea eax, [eax + eax*2]
mov word [ecx + eax*4 + 4], dx
mov eax, dword [esp + 0x1c]
add word [ebp + 0xe4], 5
add esp, 0xc
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x3c], 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 0x1002bbe0
mov edx, dword [esp + 0x20]
cmp edx, 0xffffffff
jle 0x1002bf33
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x1002bf33
mov ecx, dword [ebp + 0x34]
movzx eax, word [esp + 0x10]
mov byte [eax + ecx], 8
mov ecx, dword [ebp + 0x30]
mov esi, dword [ecx + edx*4]
mov dword [ecx + eax*4], esi
movzx ecx, word [ebp + 0xe4]
mov esi, dword [ebp + 0x14]
mov byte [ecx + esi], 0
movzx ecx, word [ebp + 0xe4]
mov esi, dword [ebp + 0x14]
mov byte [ecx + esi + 1], 8
movzx ecx, word [ebp + 0xe4]
mov esi, dword [ebp + 0x14]
mov byte [ecx + esi + 2], 0
mov esi, dword [ebp + 4]
mov ecx, dword [ebp + 0x14]
lea edx, [edx + edx*2]
movzx edx, word [esi + edx*8 + 4]
mov dl, byte [edx + ecx + 3]
movzx esi, word [ebp + 0xe4]
mov byte [esi + ecx + 3], dl
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 4], 0x33
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 5], 0x75
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 6], 0x6e
mov ecx, dword [ebp + 0x38]
movzx ecx, word [ecx + eax*2]
mov si, word [ebp + 0xe4]
lea edx, [ecx + ecx*2]
mov ecx, dword [ebp + 4]
mov word [ecx + edx*4 + 4], si
mov edx, dword [ebp + 0x34]
mov cl, byte [eax + edx]
cmp cl, 1
je 0x1002bf1e
cmp cl, 2
je 0x1002bf1e
cmp cl, 6
je 0x1002bf1e
movzx ecx, cl
add ecx, 0xfffffffd
cmp ecx, 5
mov edx, 4
ja case.0x1002be83.6
jmp dword [ecx*4 + 0x1002d2bc]
movzx edx, word [ebp + 0xe4]
mov ecx, dword [ebp + 0x14]
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.0x1002be83.6
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
add ecx, edx
cmp byte [ecx + 4], 0x63
je 0x1002becc
mov edx, 0x204
jmp case.0x1002be83.6
mov dl, byte [ecx + 2]
and dl, 2
neg dl
sbb edx, edx
and edx, 0x2000
add edx, 0x2004
jmp case.0x1002be83.6
mov edx, 0x1004
jmp case.0x1002be83.6
mov ecx, dword [ebp + 0x38]
movzx ecx, word [ecx + eax*2]
lea edx, [ecx + ecx*2]
mov ecx, dword [ebp + 4]
movzx edx, word [ecx + edx*4 + 4]
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.0x1002be83.6
mov edx, 2
add word [ebp + 0xe4], 7
mov dword [esp + eax*8 + 0x6c], edx
inc dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
cmp esi, 3
jle 0x1002c19c
cmp byte [esp + esi + 0xa5], 0x61
jne 0x1002c19c
cmp byte [esp + esi + 0xa6], 0x74
jne 0x1002c19c
cmp byte [esp + esi + 0xa7], 0x65
jne 0x1002c19c
lea edx, [esp + 0xa8]
push edx
lea eax, [esp + 0x29c]
push 0xffffffffffffffff
push eax
call fcn.100022a0
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.1004c100
cmp eax, 1
jne 0x1002c19c
lea esi, [esp + 0xa8]
lea eax, [esp + 0x398]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x1002bfea
test cl, cl
je 0x1002bfe6
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x1002bfea
add eax, 2
add esi, 2
test cl, cl
jne 0x1002bfc2
xor eax, eax
jmp 0x1002bfef
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1002c19c
cmp dword [esp + 0x3c], 1
jne 0x1002c19c
push 1
lea eax, [esp + 0x29c]
push eax
lea ecx, [esp + 0x1b0]
xor esi, esi
push ecx
mov dword [esp + 0x3c], esi
call fcn.1001e240
lea edi, [eax + eax*4]
shl edi, 4
mov eax, dword [esp + edi + 0x1d8]
add esp, 0xc
test eax, eax
jne 0x1002c19c
lea edx, [esp + 0x3c]
push edx
call fcn.10013870
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x298]
push eax
push ecx
call fcn.1005881b
add esp, 8
cmp eax, 0xf42400
mov dword [esp + 0x28], eax
je 0x1002c192
mov edx, dword [esp + 0x3c]
push edx
call fcn.1001e3f0
mov eax, dword [esp + 0x40]
mov cl, byte [eax + 0xc]
and cl, 0xe0
add esp, 4
cmp cl, 0x80
jne 0x1002c08a
mov esi, 5
mov dword [esp + 0x30], esi
mov al, byte [eax + esi + 0xc]
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne 0x1002c0a9
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 + 0x34]
mov eax, dword [esp + 0x28]
movzx esi, bx
mov byte [esi + ecx], 5
mov edx, dword [ebp + 0x30]
mov dword [edx + esi*4], eax
mov ecx, dword [ebp + 0x21c]
lea edx, [esp + 0x298]
mov byte [ecx], 0xc8
mov eax, dword [ebp + 0x21c]
push edx
add eax, 0x10c
push 0xffffffffffffffff
push eax
call fcn.100022a0
mov ecx, dword [ebp + 0x38]
mov eax, dword [esp + 0x48]
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 + 0xc]
push edx
push 0x20
push ebp
call fcn.100225d0
mov ecx, dword [ebp + 0x14]
movzx ebx, ax
movzx eax, word [ebp + 0xe4]
mov byte [eax + ecx + 3], 0x35
movzx edx, word [ebp + 0xe4]
mov eax, dword [ebp + 0x14]
mov byte [edx + eax + 8], 0x49
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 9], 0
mov eax, dword [ebp + 0x38]
movzx eax, word [eax + esi*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*2]
mov ax, word [ebp + 0xe4]
mov word [edx + ecx*4 + 4], ax
mov ecx, dword [esp + 0x68]
push ecx
push esi
push ebp
call fcn.1001e0f0
add word [ebp + 0xe4], bx
mov dword [esp + esi*8 + 0xa0], eax
mov eax, dword [esp + 0x44]
add esp, 0x34
inc eax
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 + 0x3c]
push edx
call fcn.100138c0
lea edi, [esp + 0x1d8]
mov dword [esp + 0x38], 0
mov dword [esp + 0x20], edi
nop
mov cl, byte [edi - 0x30]
test cl, cl
lea eax, [edi - 0x30]
je 0x1002c369
cmp dword [edi], 0xffffffff
je 0x1002c350
cmp dword [edi - 8], 0xffffffff
jne 0x1002c350
push eax
lea eax, [esp + 0x29c]
push 0xffffffffffffffff
push eax
call fcn.100022a0
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.1004c100
cmp eax, 1
jne 0x1002c350
lea esi, [esp + 0xa8]
lea eax, [esp + 0x398]
lea ebx, [ebx]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x1002c248
test cl, cl
je 0x1002c244
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x1002c248
add eax, 2
add esi, 2
test cl, cl
jne 0x1002c220
xor eax, eax
jmp 0x1002c24d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1002c350
movzx ebx, word [esp + 0x10]
mov eax, dword [ebp + 0x34]
mov ecx, dword [esp + 0x20]
mov byte [ebx + eax], 5
mov edx, dword [ecx]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + edx*4]
mov dword [eax + ebx*4], edx
mov eax, dword [ecx]
mov ecx, dword [ebp + 0x38]
movzx eax, word [ecx + eax*2]
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 0x14]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
lea esi, [eax + edx]
lea eax, [esi + 0xb]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002c290
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 0x1002c2a6
sub eax, dword [esp + 0x2c]
lea eax, [edi + eax + 0xc]
movzx edi, word [ebp + 0xe4]
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 + 0x14]
mov dword [esp + 0x34], eax
movzx eax, word [ebp + 0xe4]
mov byte [eax + ecx + 3], 0x32
movzx edx, word [ebp + 0xe4]
mov eax, dword [ebp + 0x14]
mov byte [edx + eax + 8], 0x49
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 9], 0
mov eax, dword [ebp + 0x38]
movzx eax, word [eax + ebx*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*2]
mov ax, word [ebp + 0xe4]
mov word [edx + ecx*4 + 4], ax
mov ecx, dword [esp + 0x40]
push ecx
push ebx
push ebp
call fcn.1001e0f0
mov dx, word [esp + 0x40]
add word [ebp + 0xe4], dx
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 esp, 0xc
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
inc eax
add edi, 0x50
cmp eax, 3
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], edi
jl 0x1002c1b0
lea edi, [esp + 0x1d0]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], edi
lea esp, [esp]
mov cl, byte [edi - 0x28]
test cl, cl
lea eax, [edi - 0x28]
je 0x1002c53a
cmp dword [edi + 8], 0xffffffff
jne 0x1002c521
cmp dword [edi], 0xffffffff
jle 0x1002c521
push eax
lea eax, [esp + 0x29c]
push 0xffffffffffffffff
push eax
call fcn.100022a0
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.1004c100
cmp eax, 1
jne 0x1002c521
lea esi, [esp + 0xa8]
lea eax, [esp + 0x398]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x1002c419
test cl, cl
je 0x1002c415
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x1002c419
add eax, 2
add esi, 2
test cl, cl
jne 0x1002c3f1
xor eax, eax
jmp 0x1002c41e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1002c521
movzx ebx, word [esp + 0x10]
mov eax, dword [ebp + 0x34]
mov ecx, dword [esp + 0x3c]
mov byte [ebx + eax], 5
mov edx, dword [ecx]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + edx*4]
mov dword [eax + ebx*4], edx
mov eax, dword [ecx]
mov ecx, dword [ebp + 0x38]
movzx eax, word [ecx + eax*2]
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 0x14]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
lea esi, [eax + edx]
lea eax, [esi + 0xb]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002c461
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 0x1002c477
sub eax, dword [esp + 0x2c]
lea eax, [edi + eax + 0xc]
movzx edi, word [ebp + 0xe4]
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 + 0x3c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dl, byte [edx + 4]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x34], eax
movzx eax, word [ebp + 0xe4]
mov byte [eax + ecx + 3], dl
movzx eax, word [ebp + 0xe4]
mov ecx, dword [ebp + 0x14]
mov byte [eax + ecx + 8], 0x4d
movzx edx, word [ebp + 0xe4]
mov eax, dword [ebp + 0x14]
mov byte [edx + eax + 9], 0
mov ecx, dword [ebp + 0x38]
movzx eax, word [ecx + ebx*2]
mov cx, word [ebp + 0xe4]
lea edx, [eax + eax*2]
mov eax, dword [ebp + 4]
mov word [eax + edx*4 + 4], cx
mov edx, dword [esp + 0x40]
push edx
push ebx
push ebp
call fcn.1001e0f0
mov ecx, dword [esp + 0x48]
mov dword [esp + ebx*8 + 0x78], eax
mov ax, word [esp + 0x40]
add word [ebp + 0xe4], ax
mov eax, dword [esp + 0x1c]
add esp, 0xc
inc eax
mov dword [ecx + 8], ebx
mov dword [esp + 0x10], eax
mov edi, ecx
mov eax, dword [esp + 0x38]
inc eax
add edi, 0x50
cmp eax, 3
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edi
jl 0x1002c380
lea edi, [esp + 0x1dc]
mov dword [esp + 0x38], 0
mov dword [esp + 0x20], edi
lea ecx, [ecx]
mov al, byte [edi - 0x34]
test al, al
lea esi, [edi - 0x34]
je 0x1002c755
cmp dword [edi - 4], 0xffffffff
jne 0x1002c73c
mov eax, dword [edi]
cmp eax, 0xffffffff
jle 0x1002c73c
mov edx, dword [ebp + 0x38]
movzx eax, word [edx + eax*2]
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
mov eax, dword [ebp + 0x14]
lea ecx, [edx + eax + 0xb]
push ecx
lea edx, [esp + 0x29c]
push 0xffffffffffffffff
push edx
call fcn.100022a0
add esp, 0xc
lea eax, [esp + 0x298]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x1002c5ce
test cl, cl
je 0x1002c5ca
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x1002c5ce
add eax, 2
add esi, 2
test cl, cl
jne 0x1002c5a6
xor eax, eax
jmp 0x1002c5d3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1002c73c
push eax
push 5
push eax
push 3
push 0xffffffffffffffff
lea eax, [esp + 0x3ac]
push eax
lea ecx, [esp + 0x2b0]
push ecx
call fcn.1004c100
cmp eax, 1
jne 0x1002c73c
lea esi, [esp + 0xa8]
lea eax, [esp + 0x398]
nop
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x1002c638
test cl, cl
je 0x1002c634
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x1002c638
add eax, 2
add esi, 2
test cl, cl
jne 0x1002c610
xor eax, eax
jmp 0x1002c63d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1002c73c
movzx ebx, word [esp + 0x10]
mov eax, dword [ebp + 0x34]
mov ecx, dword [esp + 0x20]
mov byte [ebx + eax], 5
mov edx, dword [ecx]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + edx*4]
mov dword [eax + ebx*4], edx
mov eax, dword [ecx]
mov ecx, dword [ebp + 0x38]
movzx eax, word [ecx + eax*2]
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 0x14]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
lea esi, [eax + edx]
lea eax, [esi + 0xb]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002c680
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 0x1002c696
sub eax, dword [esp + 0x2c]
lea eax, [edi + eax + 0xc]
movzx edi, word [ebp + 0xe4]
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 + 0x14]
mov dword [esp + 0x34], eax
movzx eax, word [ebp + 0xe4]
mov byte [eax + ecx + 3], 0x35
movzx edx, word [ebp + 0xe4]
mov eax, dword [ebp + 0x14]
mov byte [edx + eax + 8], 0x4d
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 9], 0
mov eax, dword [ebp + 0x38]
movzx eax, word [eax + ebx*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*2]
mov ax, word [ebp + 0xe4]
mov word [edx + ecx*4 + 4], ax
mov ecx, dword [esp + 0x40]
push ecx
push ebx
push ebp
call fcn.1001e0f0
mov dx, word [esp + 0x40]
add word [ebp + 0xe4], dx
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 esp, 0xc
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
inc eax
add edi, 0x50
cmp eax, 3
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], edi
jl 0x1002c550
lea edi, [esp + 0x1e0]
mov dword [esp + 0x38], 0
mov dword [esp + 0x20], edi
jmp 0x1002c770
mov al, byte [edi - 0x38]
test al, al
je 0x1002c951
mov eax, dword [edi + 4]
test eax, eax
jne 0x1002c938
mov eax, dword [edi]
cmp eax, 0xffffffff
jle 0x1002c938
mov ecx, dword [ebp + 0x38]
movzx eax, word [ecx + eax*2]
lea edx, [eax + eax*2]
mov eax, dword [ebp + 4]
movzx ecx, word [eax + edx*4 + 4]
mov edx, dword [ebp + 0x14]
lea eax, [ecx + edx + 0xb]
push eax
lea ecx, [esp + 0x29c]
push 0xffffffffffffffff
push ecx
call fcn.100022a0
mov ecx, dword [ebp + 0x38]
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*2]
mov eax, dword [ebp + 4]
movzx ecx, word [eax + edx*4 + 4]
mov edx, dword [ebp + 0x14]
lea eax, [ecx + edx + 0xb]
push eax
call fcn.1004c100
cmp eax, 1
jne 0x1002c938
lea esi, [esp + 0xa8]
lea eax, [esp + 0x398]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x1002c82f
test cl, cl
je 0x1002c82b
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x1002c82f
add eax, 2
add esi, 2
test cl, cl
jne 0x1002c807
xor eax, eax
jmp 0x1002c834
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1002c938
movzx ebx, word [esp + 0x10]
mov eax, dword [ebp + 0x34]
mov ecx, dword [esp + 0x20]
mov byte [ebx + eax], 5
mov edx, dword [ecx]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + edx*4]
mov dword [eax + ebx*4], edx
mov eax, dword [ecx]
mov ecx, dword [ebp + 0x38]
movzx eax, word [ecx + eax*2]
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 0x14]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
lea esi, [eax + edx]
lea eax, [esi + 0xb]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002c877
sub eax, edi
mov edi, eax
lea eax, [esi + edi + 0xb]
lea ecx, [eax + 1]
mov dword [esp + 0x2c], ecx
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002c890
sub eax, dword [esp + 0x2c]
lea eax, [edi + eax + 0xc]
movzx edi, word [ebp + 0xe4]
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 + 0x14]
mov dword [esp + 0x34], eax
movzx eax, word [ebp + 0xe4]
mov byte [eax + ecx + 3], 0x34
movzx edx, word [ebp + 0xe4]
mov eax, dword [ebp + 0x14]
mov byte [edx + eax + 8], 0x43
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 9], 0
mov eax, dword [ebp + 0x38]
movzx eax, word [eax + ebx*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*2]
mov ax, word [ebp + 0xe4]
mov word [edx + ecx*4 + 4], ax
mov ecx, dword [esp + 0x40]
push ecx
push ebx
push ebp
call fcn.1001e0f0
mov dx, word [esp + 0x40]
add word [ebp + 0xe4], dx
mov dword [esp + ebx*8 + 0x78], eax
mov eax, dword [esp + 0x1c]
add esp, 0xc
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
mov dword [eax + 4], 1
mov edi, eax
mov eax, dword [esp + 0x38]
inc eax
add edi, 0x50
cmp eax, 3
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], edi
jl 0x1002c770
lea edi, [esp + 0x1e8]
mov dword [esp + 0x38], 0
mov dword [esp + 0x20], edi
mov cl, byte [edi - 0x40]
test cl, cl
lea eax, [edi - 0x40]
je 0x1002cb01
mov ecx, dword [edi + 4]
test ecx, ecx
jne 0x1002cae8
cmp dword [edi], 0xffffffff
jle 0x1002cae8
push 0
push 7
push 0
push 1
push 0xffffffffffffffff
lea ecx, [esp + 0x3ac]
push ecx
push eax
call fcn.1004c100
cmp eax, 1
jne 0x1002cae8
lea esi, [esp + 0xa8]
lea eax, [esp + 0x398]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x1002c9dd
test cl, cl
je 0x1002c9d9
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x1002c9dd
add eax, 2
add esi, 2
test cl, cl
jne 0x1002c9b5
xor eax, eax
jmp 0x1002c9e2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1002cae8
movzx ebx, word [esp + 0x10]
mov eax, dword [ebp + 0x34]
mov ecx, dword [esp + 0x20]
mov byte [ebx + eax], 5
mov edx, dword [ecx]
mov eax, dword [ebp + 0x30]
mov edx, dword [eax + edx*4]
mov dword [eax + ebx*4], edx
mov eax, dword [ecx]
mov ecx, dword [ebp + 0x38]
movzx eax, word [ecx + eax*2]
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 0x14]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
lea esi, [eax + edx]
lea eax, [esi + 0xb]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002ca25
sub eax, edi
mov edi, eax
lea eax, [esi + edi + 0xb]
lea ecx, [eax + 1]
mov dword [esp + 0x2c], ecx
jmp 0x1002ca40
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002ca40
sub eax, dword [esp + 0x2c]
lea eax, [edi + eax + 0xc]
movzx edi, word [ebp + 0xe4]
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 + 0x14]
mov dword [esp + 0x34], eax
movzx eax, word [ebp + 0xe4]
mov byte [eax + ecx + 3], 0x37
movzx edx, word [ebp + 0xe4]
mov eax, dword [ebp + 0x14]
mov byte [edx + eax + 8], 0x43
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 9], 0
mov eax, dword [ebp + 0x38]
movzx eax, word [eax + ebx*2]
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*2]
mov ax, word [ebp + 0xe4]
mov word [edx + ecx*4 + 4], ax
mov ecx, dword [esp + 0x40]
push ecx
push ebx
push ebp
call fcn.1001e0f0
mov dx, word [esp + 0x40]
add word [ebp + 0xe4], dx
mov dword [esp + ebx*8 + 0x78], eax
mov eax, dword [esp + 0x1c]
add esp, 0xc
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
mov dword [eax + 4], 1
mov edi, eax
mov eax, dword [esp + 0x38]
inc eax
add edi, 0x50
cmp eax, 3
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], edi
jl 0x1002c964
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x890]
test eax, eax
je 0x1002ce33
push 1
push 0x3e8
lea ecx, [esp + 0x4a0]
push ecx
lea edx, [esp + 0xb4]
push edx
call fcn.1001abc0
add esp, 0x10
test al, al
jne 0x1002cc9b
mov ecx, dword [ebp + 0x34]
movzx eax, bx
mov byte [eax + ecx], 3
mov edx, dword [ebp + 0x30]
mov dword [edx + eax*4], 0x989680
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx], 0
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 1], 0xc0
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 2], 0x80
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 3], 1
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 4], 2
mov ecx, dword [ebp + 0x38]
movzx ecx, word [ecx + eax*2]
mov si, word [ebp + 0xe4]
lea edx, [ecx + ecx*2]
mov ecx, dword [ebp + 4]
mov word [ecx + edx*4 + 4], si
mov edx, dword [ebp + 0x34]
mov dl, byte [eax + edx]
xor ecx, ecx
cmp dl, 1
je 0x1002cc85
cmp dl, 2
je 0x1002cc85
cmp dl, 6
je 0x1002cc85
movzx edx, dl
add edx, 0xfffffffd
cmp edx, 5
ja case.0x1002cbe4.6
jmp dword [edx*4 + 0x1002d2d4]
movzx edx, word [ebp + 0xe4]
mov ecx, 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.0x1002cbe4.6
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
add ecx, edx
cmp byte [ecx + 4], 0x63
je 0x1002cc30
mov ecx, 0x200
jmp case.0x1002cbe4.6
mov cl, byte [ecx + 2]
and cl, 2
neg cl
sbb ecx, ecx
and ecx, 0x2000
add ecx, 0x2000
jmp case.0x1002cbe4.6
mov ecx, 0x1000
jmp case.0x1002cbe4.6
mov ecx, dword [ebp + 0x38]
movzx ecx, word [ecx + eax*2]
lea edx, [ecx + ecx*2]
mov ecx, dword [ebp + 4]
movzx edx, word [ecx + edx*4 + 4]
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.0x1002cbe4.6
mov ecx, 2
add word [ebp + 0xe4], 5
inc ebx
mov dword [esp + eax*8 + 0x6c], ecx
mov dword [esp + 0x10], ebx
mov edi, dword [esp + 0x1c]
xor esi, esi
test edi, edi
jle 0x1002ccd3
jmp 0x1002ccb0
movzx edx, byte [esp + esi + 0xa8]
push edx
push str.0123456789._
call fcn.10057ee0
add esp, 8
test eax, eax
je 0x1002ce33
inc esi
cmp esi, edi
jl 0x1002ccb0
mov ecx, dword [ebp + 0x34]
movzx eax, bx
mov byte [eax + ecx], 4
mov edx, dword [ebp + 0x30]
mov dword [edx + eax*4], 0x989680
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx], 0
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 1], 0x80
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 2], 0x82
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 3], 2
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
mov byte [ecx + edx + 4], 0x63
mov ecx, dword [ebp + 0x38]
movzx ecx, word [ecx + eax*2]
mov si, word [ebp + 0xe4]
lea edx, [ecx + ecx*2]
mov ecx, dword [ebp + 4]
mov word [ecx + edx*4 + 4], si
mov edx, dword [ebp + 0x34]
mov dl, byte [eax + edx]
xor ecx, ecx
cmp dl, 1
je 0x1002ce1d
cmp dl, 2
je 0x1002ce1d
cmp dl, 6
je 0x1002ce1d
movzx edx, dl
add edx, 0xfffffffd
cmp edx, 5
ja case.0x1002cd7c.6
jmp dword [edx*4 + 0x1002d2ec]
movzx edx, word [ebp + 0xe4]
mov ecx, 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.0x1002cd7c.6
movzx ecx, word [ebp + 0xe4]
mov edx, dword [ebp + 0x14]
add ecx, edx
cmp byte [ecx + 4], 0x63
je 0x1002cdc8
mov ecx, 0x200
jmp case.0x1002cd7c.6
mov cl, byte [ecx + 2]
and cl, 2
neg cl
sbb ecx, ecx
and ecx, 0x2000
add ecx, 0x2000
jmp case.0x1002cd7c.6
mov ecx, 0x1000
jmp case.0x1002cd7c.6
mov ecx, dword [ebp + 0x38]
movzx ecx, word [ecx + eax*2]
lea edx, [ecx + ecx*2]
mov ecx, dword [ebp + 4]
movzx edx, word [ecx + edx*4 + 4]
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.0x1002cd7c.6
mov ecx, 2
add word [ebp + 0xe4], 5
inc ebx
mov dword [esp + eax*8 + 0x6c], ecx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x894]
test eax, eax
je 0x1002d0cd
cmp word [esp + 0x10], 1
jbe 0x1002d0cd
movzx ecx, word [esp + 0x10]
xor ebx, ebx
xor eax, eax
test ecx, ecx
jle 0x1002ce69
jmp 0x1002ce60
mov dword [esp + eax*8 + 0x68], eax
inc eax
cmp eax, ecx
jl 0x1002ce60
dec ecx
mov dword [esp + 0x2c], ecx
mov edi, edi
mov eax, dword [esp + 0x2c]
xor edx, edx
test eax, eax
mov edi, 1
jle 0x1002cec4
nop
mov esi, dword [esp + edx*8 + 0x74]
mov eax, 1
mov dword [esp + 0x1c], eax
lea ecx, [ecx]
mov ecx, esi
and ecx, eax
jbe 0x1002cea0
test dword [esp + edx*8 + 0x6c], eax
je 0x1002cf45
test ecx, ecx
jne 0x1002ceaa
test dword [esp + edx*8 + 0x6c], eax
ja 0x1002ceb3
shl eax, 1
cmp eax, 0x8000
jle 0x1002ce90
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2c]
inc edx
cmp edx, eax
jl 0x1002ce80
test edi, edi
je 0x1002ce70
test ebx, ebx
je 0x1002d0cd
movzx ecx, word [ebp + 0xe4]
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 0x1002cf2e
xor edi, edi
lea ebx, [ebx]
mov ecx, dword [ebp + 0x34]
mov bl, byte [ecx + eax]
add ecx, eax
mov byte [ecx + 7], bl
mov ecx, dword [ebp + 0x30]
mov ebx, dword [ecx + eax*4]
mov dword [ecx + eax*4 + 0x1c], ebx
mov ecx, dword [ebp + 4]
mov bx, word [ecx + edi + 4]
add ecx, edi
inc eax
add edi, 0x18
cmp eax, esi
mov word [ecx + 0xac], bx
jl 0x1002cf00
xor ebx, ebx
cmp esi, ebx
mov dword [esp + 0x44], ebx
jle 0x1002d0cd
mov dword [esp + 0x30], ebx
jmp 0x1002cf95
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 0x1002ceb7
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + ebx*8 + 0x68]
mov ecx, dword [ebp + 0x34]
movzx ecx, byte [eax + ecx + 7]
dec ecx
cmp ecx, 7
mov esi, 5
ja case.default.0x1002cfb0
jmp dword [ecx*4 + 0x1002d304]
mov dword [esp + 0x1c], 4
jmp case.default.0x1002cfb0
mov dword [esp + 0x1c], esi
jmp case.default.0x1002cfb0
mov dword [esp + 0x1c], 7
jmp case.default.0x1002cfb0
mov ecx, dword [esp + 0x44]
cmp byte [edx + ecx + 4], 0x61
mov dword [esp + 0x1c], esi
jne case.default.0x1002cfb0
mov esi, dword [ebp + 4]
lea ecx, [eax + eax*2]
movzx ecx, word [esi + ecx*8 + 4]
lea esi, [ecx + edx]
lea ecx, [esi + 5]
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x1002d001
sub ecx, edi
mov edi, ecx
lea edx, [esi + edi + 6]
lea esi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x1002d013
sub edx, esi
lea edx, [edi + edx + 7]
jmp 0x1002d055
mov esi, dword [ebp + 4]
lea ecx, [eax + eax*2]
movzx ecx, word [esi + ecx*8 + 4]
lea esi, [ecx + edx]
lea ecx, [esi + 0xb]
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x1002d036
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 0x1002d048
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 word [esi + ecx + 4], dx
mov edi, dword [ebp + 4]
mov ecx, dword [esp + 0x1c]
lea esi, [eax + eax*2]
movzx esi, word [edi + esi*8 + 0xac]
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 + 0x34]
mov dl, byte [ecx + eax + 7]
mov edi, dword [esp + 0x44]
mov byte [ecx + ebx], dl
mov ecx, dword [ebp + 0x30]
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, 0x18
cmp ebx, eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x30], edx
jl 0x1002cf91
mov eax, dword [esp + 0x10]
test ax, ax
je 0x1002d0e4
lea edx, [eax - 1]
dec eax
mov word [ebp + 0x26], dx
mov word [ebp + 0x2a], ax
jmp 0x1002d0f0
mov word [ebp + 0x26], 0
mov word [ebp + 0x2a], 0xffff
movsx eax, word [ebp + 0x2a]
mov ecx, dword [esp + 0x880]
pop edi
pop esi
pop ebp
pop ebx
call fcn.10057644
add esp, 0x874
ret 0x10