Function at 0x1001d030
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x908
mov eax, dword [0x100542d0]
push esi
mov esi, dword [esp + 0x910]
mov dword [esp + 0x908], eax
mov ax, word [esi + 0x26]
cmp ax, 0xfa
ja 0x1001e47b
push ebx
xor ebx, ebx
cmp ax, bx
push ebp
push edi
mov byte [esp + 0x17], 0x61
mov dword [esp + 0x20], ebx
jb 0x1001e03a
nop
mov eax, dword [esi + 0x34]
mov dl, byte [eax + ebx]
cmp dl, 3
mov ebp, dword [esp + 0x20]
mov byte [esp + ebp + 0x71c], 0
mov byte [esp + 0x13], dl
jne 0x1001d0be
mov eax, dword [esi + 0x38]
movzx eax, word [eax + ebx*2]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 4]
movzx ecx, word [eax + ecx*4 + 4]
mov eax, dword [esi + 0x14]
lea edi, [ecx + eax]
mov al, byte [edi + 3]
and al, dl
cmp al, 1
jne 0x1001d0b6
mov cl, byte [edi + 4]
and cl, dl
cmp cl, 2
je 0x1001d0be
cmp al, 3
jne 0x1001d161
cmp dl, 4
je 0x1001d161
cmp dl, 1
je 0x1001d161
cmp dl, 2
jne 0x1001d0ef
mov eax, dword [esi + 0x3c]
lea ecx, [eax + ebx]
mov al, byte [ecx]
cmp al, 0x28
je 0x1001d0ef
cmp al, 0x29
je 0x1001d0ef
cmp al, 0x22
jne 0x1001d161
cmp byte [ecx + 1], 0x22
je 0x1001d161
cmp dl, 5
jne 0x1001d151
test ebp, ebp
jle 0x1001d100
mov byte [esp + ebp + 0x71b], 1
mov ecx, dword [esi + 0x38]
movzx eax, word [ecx + ebx*2]
lea edx, [eax + eax*2]
mov eax, dword [esi + 4]
movzx ecx, word [eax + edx*4 + 4]
mov edx, dword [esi + 0x14]
mov al, byte [ecx + edx + 6]
and al, 6
cmp al, 6
jne 0x1001d141
mov eax, dword [esi + 0x34]
mov cl, byte [eax + ebx + 1]
mov byte [esp + ebx + 0x38], 0x21
inc ebx
cmp cl, 4
jne 0x1001d147
mov byte [esp + ebx + 0x38], 0x5f
inc ebx
mov byte [esp + ebx + 0x38], 0
jmp 0x1001e02e
mov byte [esp + ebx + 0x38], 0x3f
inc ebx
mov byte [esp + ebx + 0x38], 0
jmp 0x1001e02e
mov byte [esp + ebx + 0x38], 0x2e
inc ebx
mov byte [esp + ebx + 0x38], 0
jmp 0x1001e02e
xor eax, eax
mov byte [esp + ebp + 0x32c], 0
mov dword [esp + 0x18], eax
mov byte [esp + ebp + 0x428], bl
mov dword [esp + 0x28], eax
lea ebx, [ebx]
mov dl, byte [esp + 0x13]
cmp dl, 3
je 0x1001d18e
cmp dl, 8
jne 0x1001d1d8
mov eax, dword [esp + 0x20]
mov cl, byte [esp + eax + 0x32c]
inc cl
cmp dl, 8
mov byte [esp + eax + 0x32c], cl
mov dword [esp + 0x28], 1
jne 0x1001d1d8
mov ecx, dword [esi + 0x38]
movzx eax, word [ecx + ebx*2]
mov ecx, dword [esi + 4]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
mov ecx, dword [esi + 0x14]
mov al, byte [eax + ecx + 5]
cmp al, 0x73
je 0x1001d26f
cmp al, 0x61
je 0x1001d26f
cmp dl, 1
jne 0x1001d1fc
mov eax, dword [esi + 0x30]
mov ecx, dword [0x10060eb0]
mov edi, dword [eax + ebx*4]
cmp edi, dword [ecx + 0xd8]
lea eax, [eax + ebx*4]
jne 0x1001d26f
mov eax, dword [eax + 4]
cmp eax, dword [ecx + 0x10]
jne 0x1001d26f
cmp dl, 2
jne 0x1001d21d
mov ecx, dword [esi + 0x38]
movzx eax, word [ecx + ebx*2]
mov ecx, dword [esi + 4]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
mov ecx, dword [esi + 0x14]
cmp byte [eax + ecx + 4], 0x61
je 0x1001d26f
cmp dl, 3
jne 0x1001d245
mov eax, dword [esi + 0x38]
movzx eax, word [eax + ebx*2]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 4]
movzx ecx, word [eax + ecx*4 + 4]
mov eax, dword [esi + 0x14]
add eax, ecx
mov cl, byte [eax + 2]
test cl, cl
js 0x1001d245
cmp byte [eax + 3], dl
jne 0x1001d26f
cmp dl, 4
jne 0x1001d3f4
mov ecx, dword [esi + 0x38]
movzx eax, word [ecx + ebx*2]
lea edx, [eax + eax*2]
mov eax, dword [esi + 4]
movzx ecx, word [eax + edx*4 + 4]
mov edx, dword [esi + 0x14]
mov al, byte [ecx + edx + 2]
test al, al
js 0x1001d3f4
mov eax, dword [esp + 0x20]
movzx ebp, byte [esp + eax + 0x428]
mov ecx, dword [esp + 0x18]
mov al, byte [esp + 0x17]
lea edx, [ecx + ebp]
mov byte [esp + edx + 0x38], al
mov edx, dword [esi + 0x38]
movzx eax, word [edx + ebx*2]
mov edx, dword [esi + 4]
lea eax, [eax + eax*2]
movzx eax, word [edx + eax*4 + 4]
mov edx, dword [esi + 0x14]
mov dl, byte [eax + edx + 3]
mov al, dl
and al, 0xc0
cmp al, 0x80
jne 0x1001d2af
mov al, 0x6d
jmp 0x1001d2bb
cmp al, 0x40
setne al
lea eax, [eax*8 + 0x66]
and dl, 0xc
cmp dl, 4
jne 0x1001d2d3
movzx eax, al
push eax
call fcn.100495bf
mov ecx, dword [esp + 0x1c]
add esp, 4
mov edx, dword [esi + 0x38]
mov byte [esp + ecx + 0x620], al
movzx eax, word [edx + ebx*2]
mov edx, dword [esi + 4]
lea eax, [eax + eax*2]
movzx eax, word [edx + eax*4 + 4]
mov edx, dword [esi + 0x14]
mov al, byte [eax + edx + 3]
mov byte [esp + 0x34], al
and al, 0xcc
mov byte [esp + ecx + 0x524], al
inc ecx
mov al, byte [esp + ecx + 0x523]
test al, al
lea edi, [esp + ecx + 0x523]
mov dword [esp + 0x18], ecx
jne 0x1001d31a
mov byte [edi], 0xcc
mov eax, dword [esi + 0x34]
add eax, ebx
mov dword [esp + 0x24], eax
mov al, byte [eax]
cmp al, 3
jne 0x1001d421
mov edx, dword [esp + 0x20]
cmp byte [esp + edx + 0x32c], 1
jbe 0x1001d346
mov byte [esp + ecx + 0x61f], 0x2a
mov byte [edi], 0
cmp al, 3
jne 0x1001d421
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + ebx*4]
mov edx, dword [0x10060eb0]
cmp ecx, dword [edx + 0x4c]
jne 0x1001d421
test ebx, ebx
jle 0x1001d421
mov eax, dword [esp + 0x24]
cmp byte [eax - 1], 6
jne 0x1001d421
mov ecx, dword [esp + 0x20]
mov al, byte [esp + ecx + 0x32c]
test al, al
je 0x1001d421
mov edx, dword [esp + 0x34]
push 0x88
push edx
call fcn.10019e60
add esp, 8
test eax, eax
je 0x1001d3bb
mov eax, dword [esp + 0x18]
lea ecx, [eax + ebp]
mov byte [edi], 0
mov byte [esp + ecx + 0x37], 0x2a
mov byte [esp + eax + 0x61f], 0x2a
jmp 0x1001d421
mov edx, dword [esi + 0x38]
movzx eax, word [edx + ebx*2]
mov ecx, dword [esi + 4]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
mov eax, dword [esi + 0x14]
mov byte [edx + eax + 3], 0x88
mov ecx, dword [esi + 0x38]
movzx eax, word [ecx + ebx*2]
lea edx, [eax + eax*2]
mov eax, dword [esi + 4]
movzx ecx, word [eax + edx*4 + 4]
mov edx, dword [esi + 0x14]
mov byte [ecx + edx + 3], 0x88
mov byte [edi], 0x88
jmp 0x1001d421
mov eax, dword [esp + 0x20]
movzx ebp, byte [esp + eax + 0x428]
mov eax, dword [esp + 0x18]
lea ecx, [eax + ebp]
mov byte [esp + eax + 0x620], 0x5f
mov byte [esp + eax + 0x524], 0
inc eax
mov byte [esp + ecx + 0x38], 0x2e
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
inc ebx
test eax, eax
je 0x1001d44d
mov edx, dword [esp + 0x18]
lea edi, [edx + ebp]
movzx eax, byte [esp + edi + 0x37]
lea edi, [esp + edi + 0x37]
push eax
mov dword [esp + 0x2c], 0
call fcn.100495bf
add esp, 4
mov byte [edi], al
mov ecx, dword [esi + 0x34]
lea eax, [ebx + ecx]
mov cl, byte [eax - 1]
cmp cl, 4
mov dword [esp + 0x24], eax
mov byte [esp + 0x16], cl
jne 0x1001d484
mov edx, dword [esi + 0x3c]
cmp byte [edx + ebx - 1], 0x2c
jne 0x1001d484
mov ecx, dword [esp + 0x20]
cmp byte [esp + ecx + 0x32c], 1
jae 0x1001d484
cmp byte [eax], 3
je 0x1001dac7
movzx ecx, word [esi + 0x26]
cmp ebx, ecx
jg 0x1001dac7
mov edx, dword [esp + 0x24]
mov dl, byte [edx]
cmp dl, 5
mov byte [esp + 0x13], dl
je 0x1001dac7
cmp dl, 1
je 0x1001d4ad
cmp dl, 2
jne 0x1001d4bf
mov eax, dword [esp + 0x20]
cmp byte [esp + eax + 0x32c], 0
ja 0x1001dac7
cmp dl, 8
jne 0x1001d515
mov al, byte [esp + 0x16]
cmp al, 6
je 0x1001dac7
mov edi, dword [esi + 0x3c]
cmp byte [edi + ebx - 1], 0
jne 0x1001dac7
mov edi, dword [esp + 0x20]
cmp byte [esp + edi + 0x32c], 0
jne 0x1001dac7
cmp al, 4
jne 0x1001d515
mov eax, dword [esi + 0x38]
movzx eax, word [eax + ebx*2 - 2]
mov edi, dword [esi + 4]
lea eax, [eax + eax*2]
movzx eax, word [edi + eax*4 + 4]
mov edi, dword [esi + 0x14]
cmp byte [eax + edi + 4], 0x6e
jne 0x1001dac7
cmp byte [esp + 0x16], 8
jne 0x1001d52d
cmp dl, 4
jne 0x1001dac7
cmp ebx, ecx
jne 0x1001dac7
cmp dl, 3
jne 0x1001d587
mov ecx, dword [esi + 0x38]
movzx eax, word [ecx + ebx*2]
mov ecx, dword [esi + 4]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
mov ecx, dword [esi + 0x14]
mov al, byte [eax + ecx + 3]
and al, dl
cmp al, dl
je 0x1001dac7
cmp dl, dl
jne 0x1001d587
mov ecx, dword [esi + 0x38]
movzx eax, word [ecx + ebx*2]
mov ecx, dword [esi + 4]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
mov ecx, dword [esi + 0x14]
add eax, ecx
mov cl, byte [eax + 3]
and cl, dl
cmp cl, 1
jne 0x1001d587
mov al, byte [eax + 4]
and al, dl
cmp al, 2
je 0x1001dac7
cmp dl, 6
jne 0x1001d5fe
mov ecx, dword [esi + 0x38]
movzx eax, word [ecx + ebx*2]
mov ecx, dword [esi + 4]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
mov ecx, dword [esi + 0x14]
cmp byte [eax + ecx + 3], 0x63
jne 0x1001dac7
cmp dl, dl
jne 0x1001d5fe
mov eax, dword [esi + 0x38]
movzx eax, word [eax + ebx*2]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 4]
movzx ecx, word [eax + ecx*4 + 4]
mov eax, dword [esi + 0x14]
test byte [ecx + eax + 2], 1
jne 0x1001dac7
cmp dl, dl
jne 0x1001d5fe
mov ecx, dword [esi + 0x38]
movzx eax, word [ecx + ebx*2]
mov ecx, dword [esi + 4]
mov edi, dword [esi + 0x14]
lea eax, [eax + eax*2]
lea eax, [ecx + eax*4]
movzx ecx, word [eax + 4]
cmp byte [ecx + edi + 3], 0x63
jne 0x1001d5fe
mov eax, dword [eax + 8]
cmp byte [eax], 0x6f
je 0x1001dac7
cmp dl, 1
je 0x1001d608
cmp dl, 2
jne 0x1001d634
cmp byte [esp + 0x16], 4
jne 0x1001dac7
mov ecx, dword [esi + 0x38]
movzx eax, word [ecx + ebx*2 - 2]
mov ecx, dword [esi + 4]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
mov ecx, dword [esi + 0x14]
cmp byte [eax + ecx + 4], 0x6e
jne 0x1001dac7
mov eax, dword [esi + 0x3c]
mov cl, byte [eax + ebx - 1]
cmp cl, 0x3a
lea edi, [eax + ebx]
mov byte [esp + 0x14], cl
je 0x1001dac7
cmp cl, 0x3b
je 0x1001dac7
cmp cl, 0x2e
je 0x1001dac7
cmp cl, 0x28
je 0x1001dac7
cmp cl, 0x29
je 0x1001dac7
cmp dl, 7
jne 0x1001d694
mov eax, dword [esi + 0x38]
movzx eax, word [eax + ebx*2]
mov ebp, dword [esi + 4]
lea eax, [eax + eax*2]
movzx eax, word [ebp + eax*4 + 4]
mov ebp, dword [esi + 0x14]
cmp byte [eax + ebp + 3], 0x74
je 0x1001dac7
cmp dl, 3
jne 0x1001d6b5
mov eax, dword [esp + 0x20]
cmp byte [esp + eax + 0x32c], 0
mov al, byte [esp + 0x16]
je 0x1001d6b9
cmp al, dl
jne 0x1001dac7
jmp 0x1001d6b9
mov al, byte [esp + 0x16]
cmp dl, 3
jne 0x1001d6d9
mov ebp, dword [esp + 0x20]
cmp byte [esp + ebp + 0x32c], 0
je 0x1001d6d9
cmp al, dl
jne 0x1001d6d9
cmp cl, 0x2c
je 0x1001dac7
cmp dl, 7
jne 0x1001d6ef
test ebx, ebx
jle 0x1001d6ef
cmp al, 3
jne 0x1001d6ef
cmp cl, 0x2c
je 0x1001dac7
cmp dl, 3
jne 0x1001d706
mov ebp, dword [esp + 0x20]
cmp byte [esp + ebp + 0x32c], 2
je 0x1001dac7
test ebx, ebx
jle 0x1001d7bf
cmp dl, 4
jne 0x1001d7bf
cmp al, 3
jne 0x1001d7bf
mov edx, dword [esp + 0x24]
cmp byte [edx + 1], 3
jne 0x1001d7c3
cmp byte [edi], 0
jne 0x1001d7c3
mov ecx, dword [esi + 0x38]
mov edi, dword [esi + 4]
mov ebp, dword [esi + 0x14]
lea eax, [ecx + ebx*2]
movzx ecx, word [eax - 2]
movzx eax, word [eax]
lea edx, [ecx + ecx*2]
movzx ecx, word [edi + edx*4 + 4]
xor edx, edx
mov dl, byte [ecx + ebp + 3]
lea eax, [eax + eax*2]
movzx ecx, word [edi + eax*4 + 4]
and edx, 0xffffffcc
push edx
xor edx, edx
mov dl, byte [ecx + ebp + 3]
and edx, 0xffffffcc
push edx
call fcn.10019e60
add esp, 8
test eax, eax
jne 0x1001d7bb
mov eax, dword [esi + 0x38]
movzx ecx, word [eax + ebx*2 + 2]
lea eax, [eax + ebx*2]
movzx eax, word [eax]
lea ecx, [ecx + ecx*2]
movzx edx, word [edi + ecx*4 + 4]
xor ecx, ecx
mov cl, byte [edx + ebp + 3]
lea edx, [eax + eax*2]
movzx eax, word [edi + edx*4 + 4]
and ecx, 0xffffffcc
push ecx
xor ecx, ecx
mov cl, byte [eax + ebp + 3]
and ecx, 0xffffffcc
push ecx
call fcn.10019e60
add esp, 8
test eax, eax
jne 0x1001dac7
mov cl, byte [esp + 0x14]
mov edx, dword [esp + 0x24]
cmp byte [esp + 0x13], 4
jne 0x1001d80d
mov eax, dword [esi + 0x38]
mov edi, dword [esi + 4]
mov ebp, dword [esi + 0x14]
lea ecx, [eax + ebx*2]
movzx eax, word [ecx]
lea eax, [eax + eax*2]
movzx eax, word [edi + eax*4 + 4]
cmp byte [eax + ebp + 4], 0x6e
jne 0x1001d809
cmp byte [edx + 1], 4
jne 0x1001d809
movzx eax, word [ecx + 2]
lea ecx, [eax + eax*2]
movzx edx, word [edi + ecx*4 + 4]
cmp byte [edx + ebp + 4], 0x6e
je 0x1001dac7
mov edx, dword [esp + 0x24]
mov cl, byte [esp + 0x14]
cmp ebx, 2
jle 0x1001d85b
cmp byte [edx - 1], 4
jne 0x1001d85b
mov ecx, dword [esi + 0x38]
movzx eax, word [ecx + ebx*2 - 2]
mov edi, dword [esi + 4]
mov ebp, dword [esi + 0x14]
lea eax, [eax + eax*2]
movzx eax, word [edi + eax*4 + 4]
cmp byte [eax + ebp + 4], 0x6e
jne 0x1001d857
cmp byte [edx - 2], 4
jne 0x1001d857
movzx eax, word [ecx + ebx*2 - 4]
lea ecx, [eax + eax*2]
movzx edx, word [edi + ecx*4 + 4]
cmp byte [edx + ebp + 4], 0x6e
je 0x1001dac7
mov edx, dword [esp + 0x24]
mov cl, byte [esp + 0x14]
cmp ebx, 1
jle 0x1001d93d
cmp byte [esp + 0x13], 4
jne 0x1001d93d
cmp byte [edx - 2], 3
jne 0x1001d8e6
cmp byte [edx - 1], 4
jne 0x1001d8e6
mov eax, dword [esi + 0x38]
movzx eax, word [eax + ebx*2 - 2]
mov edi, dword [esi + 4]
lea eax, [eax + eax*2]
movzx eax, word [edi + eax*4 + 4]
mov edi, dword [esi + 0x14]
cmp byte [eax + edi + 4], 0x6e
je 0x1001d8e6
mov eax, dword [esi + 0x38]
movzx ecx, word [eax + ebx*2 - 4]
mov edi, dword [esi + 4]
mov ebp, dword [esi + 0x14]
movzx eax, word [eax + ebx*2]
lea ecx, [ecx + ecx*2]
movzx edx, word [edi + ecx*4 + 4]
xor ecx, ecx
mov cl, byte [edx + ebp + 3]
lea edx, [eax + eax*2]
movzx eax, word [edi + edx*4 + 4]
and ecx, 0xffffffcc
push ecx
xor ecx, ecx
mov cl, byte [eax + ebp + 3]
and ecx, 0xffffffcc
push ecx
call fcn.10019e60
add esp, 8
test eax, eax
je 0x1001dac7
mov edx, dword [esp + 0x24]
mov cl, byte [esp + 0x14]
cmp byte [esp + 0x13], 4
jne 0x1001d93d
cmp byte [edx - 1], 3
jne 0x1001d93d
test cl, cl
je 0x1001d93d
mov eax, dword [esi + 0x38]
movzx ecx, word [eax + ebx*2 - 4]
mov edi, dword [esi + 4]
mov ebp, dword [esi + 0x14]
movzx eax, word [eax + ebx*2]
lea edx, [ecx + ecx*2]
movzx ecx, word [edi + edx*4 + 4]
xor edx, edx
mov dl, byte [ecx + ebp + 3]
lea eax, [eax + eax*2]
movzx ecx, word [edi + eax*4 + 4]
and edx, 0xffffffcc
push edx
xor edx, edx
mov dl, byte [ecx + ebp + 3]
and edx, 0xffffffcc
push edx
call fcn.10019e60
add esp, 8
test eax, eax
je 0x1001dac7
cmp byte [esp + 0x13], 0xa
je 0x1001dac7
test ebx, ebx
jle 0x1001d972
mov eax, dword [esi + 0x30]
mov ecx, dword [0x10060eb0]
mov edx, dword [eax + ebx*4]
cmp edx, dword [ecx + 0xa8]
lea eax, [eax + ebx*4]
jne 0x1001d972
mov eax, dword [eax - 4]
cmp eax, dword [ecx + 0xac]
je 0x1001dac7
cmp byte [esp + 0x13], 2
jne 0x1001d999
mov ecx, dword [esi + 0x38]
movzx eax, word [ecx + ebx*2]
lea edx, [eax + eax*2]
mov eax, dword [esi + 4]
movzx ecx, word [eax + edx*4 + 4]
mov edx, dword [esi + 0x14]
cmp byte [ecx + edx + 4], 0x61
jne 0x1001dac7
test ebx, ebx
jle 0x1001da4b
mov eax, dword [esp + 0x24]
cmp byte [eax - 1], 3
jne 0x1001da4b
cmp byte [esp + 0x13], 3
jne 0x1001da4b
mov ecx, dword [esp + 0x24]
cmp byte [ecx + 1], 4
jne 0x1001da4b
mov edx, dword [esi + 0x38]
movzx ecx, word [edx + ebx*2 + 2]
mov edi, dword [esi + 4]
mov ebp, dword [esi + 0x14]
lea eax, [edx + ebx*2]
movzx eax, word [eax - 2]
lea ecx, [ecx + ecx*2]
movzx edx, word [edi + ecx*4 + 4]
xor ecx, ecx
mov cl, byte [edx + ebp + 3]
lea edx, [eax + eax*2]
movzx eax, word [edi + edx*4 + 4]
and ecx, 0xffffffcc
push ecx
xor ecx, ecx
mov cl, byte [eax + ebp + 3]
and ecx, 0xffffffcc
push ecx
call fcn.10019e60
add esp, 8
test eax, eax
jne 0x1001da4b
mov edx, dword [esi + 0x38]
movzx ecx, word [edx + ebx*2 + 2]
lea eax, [edx + ebx*2]
movzx eax, word [eax]
lea ecx, [ecx + ecx*2]
movzx edx, word [edi + ecx*4 + 4]
xor ecx, ecx
mov cl, byte [edx + ebp + 3]
lea edx, [eax + eax*2]
movzx eax, word [edi + edx*4 + 4]
and ecx, 0xffffffcc
push ecx
xor ecx, ecx
mov cl, byte [eax + ebp + 3]
and ecx, 0xffffffcc
push ecx
call fcn.10019e60
add esp, 8
test eax, eax
jne 0x1001dac7
cmp byte [esp + 0x13], 6
jne 0x1001d180
mov edx, dword [esp + 0x20]
mov al, byte [esp + edx + 0x32c]
test al, al
je 0x1001da7a
mov eax, dword [esp + 0x24]
cmp byte [eax + 1], 4
jne 0x1001da7a
mov al, byte [eax + 2]
cmp al, 3
je 0x1001dac7
cmp al, 8
je 0x1001dac7
cmp byte [esp + 0x13], 6
jne 0x1001d180
mov eax, dword [esp + 0x24]
cmp byte [eax + 1], 4
jne 0x1001d180
mov ecx, dword [esi + 0x38]
movzx eax, word [ecx + ebx*2 + 2]
lea edx, [eax + eax*2]
mov eax, dword [esi + 4]
movzx ecx, word [eax + edx*4 + 4]
mov edx, dword [esi + 0x14]
cmp byte [ecx + edx + 4], 0x6e
jne 0x1001d180
mov eax, dword [esp + 0x20]
mov cl, byte [esp + eax + 0x32c]
test cl, cl
je 0x1001d180
mov ecx, dword [esp + 0x20]
mov cl, byte [esp + ecx + 0x428]
mov eax, dword [esp + 0x18]
movzx edi, cl
lea edx, [edi + eax]
mov byte [esp + edx + 0x38], 0
mov edx, dword [esi + 0x34]
mov byte [esp + eax + 0x620], 0
dec eax
add edx, edi
cmp byte [edx + eax], 4
mov byte [esp + 0x15], cl
mov dword [esp + 0x2c], edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], edx
jne 0x1001dbba
mov edx, dword [esi + 0x3c]
add edx, edi
cmp byte [edx + eax], 0
jne 0x1001dbba
mov edx, dword [esi + 0x38]
mov ebp, dword [esi + 4]
add edi, eax
movzx edx, word [edx + edi*2]
lea edx, [edx + edx*2]
movzx edx, word [ebp + edx*4 + 4]
mov ebp, dword [esi + 0x14]
cmp byte [edx + ebp + 4], 0x6e
jne 0x1001db45
test edi, edi
jle 0x1001dbb6
mov edx, dword [esp + 0x24]
cmp byte [edx + eax - 1], 7
jne 0x1001dbb6
mov edx, dword [esp + 0x24]
mov dl, byte [edx + eax + 1]
cmp dl, 3
je 0x1001db57
cmp dl, 4
jne 0x1001dbb6
mov edx, dword [esp + 0x20]
cmp byte [esp + edx + 0x32c], 0
je 0x1001dbb6
mov eax, dword [esi + 0x38]
movzx ecx, word [eax + edi*2 + 2]
mov ebp, dword [esi + 0x14]
lea eax, [eax + edi*2]
mov edi, dword [esi + 4]
movzx eax, word [eax]
lea ecx, [ecx + ecx*2]
movzx edx, word [edi + ecx*4 + 4]
xor ecx, ecx
mov cl, byte [edx + ebp + 3]
lea edx, [eax + eax*2]
movzx eax, word [edi + edx*4 + 4]
push ecx
xor ecx, ecx
mov cl, byte [eax + ebp + 3]
push ecx
call fcn.10019e60
mov edi, dword [esp + 0x34]
add esp, 8
test eax, eax
je 0x1001dbac
dec dword [esp + 0x18]
dec ebx
mov eax, dword [esp + 0x18]
mov cl, byte [esp + 0x15]
jmp 0x1001dbba
mov edi, dword [esp + 0x2c]
mov dl, byte [esp + eax + 0x524]
test dl, dl
jne 0x1001dbd9
test eax, eax
jle 0x1001df09
mov dl, byte [esp + eax + 0x523]
dec eax
test dl, dl
je 0x1001dbc5
test eax, eax
jle 0x1001df09
mov edx, dword [esp + 0x20]
add cl, al
lea ebp, [eax + 1]
mov byte [esp + edx + 0x230], cl
xor edx, edx
test ebp, ebp
mov byte [esp + 0x15], 0
mov byte [esp + 0x1f], 0
mov byte [esp + 0x14], 0
mov byte [esp + 0x16], 0
mov dword [esp + 0x18], edx
mov dword [esp + 0x28], ebp
jle 0x1001dceb
mov eax, dword [esi + 0x34]
add eax, edi
lea ebp, [edi + edi]
mov dword [esp + 0x24], eax
jmp 0x1001dc30
mov al, byte [esp + edx + 0x524]
test al, al
je 0x1001dcd5
mov ecx, dword [esp + 0x24]
cmp byte [ecx + edx], 3
jne 0x1001dc8f
mov eax, dword [esi + 0x38]
movzx eax, word [eax + ebp]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 4]
movzx ecx, word [eax + ecx*4 + 4]
mov eax, dword [esi + 0x14]
mov cl, byte [ecx + eax + 3]
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x1001dc72
inc byte [esp + 0x14]
mov edx, dword [esp + 0x18]
cmp al, 0x40
jne 0x1001dc7a
inc byte [esp + 0x16]
and cl, 0xc
cmp cl, 8
jne 0x1001dc86
inc byte [esp + 0x1f]
cmp cl, 4
jne 0x1001dc8f
inc byte [esp + 0x15]
mov ecx, dword [esi + 0x38]
movzx eax, word [ecx + ebp]
mov ecx, dword [esi + 4]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
mov ecx, dword [esi + 0x14]
mov cl, byte [eax + ecx + 3]
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x1001dcb8
inc byte [esp + 0x14]
mov edx, dword [esp + 0x18]
cmp al, 0x40
jne 0x1001dcc0
inc byte [esp + 0x16]
and cl, 0xc
cmp cl, 8
jne 0x1001dccc
inc byte [esp + 0x1f]
cmp cl, 4
jne 0x1001dcd5
inc byte [esp + 0x15]
mov eax, dword [esp + 0x28]
inc edx
add ebp, 2
cmp edx, eax
mov dword [esp + 0x18], edx
jl 0x1001dc30
mov ebp, eax
mov al, byte [esp + 0x14]
mov cl, byte [esp + 0x16]
cmp al, cl
mov byte [esp + 0x13], 0
jb 0x1001dd09
test al, al
jbe 0x1001dd05
mov byte [esp + 0x13], 0x80
cmp cl, al
jbe 0x1001dd12
test cl, cl
jbe 0x1001dd12
mov byte [esp + 0x13], 0x40
mov al, byte [esp + 0x1f]
mov cl, byte [esp + 0x15]
cmp al, cl
jb 0x1001dd2b
test al, al
jbe 0x1001dd27
add byte [esp + 0x13], 8
cmp cl, al
jbe 0x1001dd34
test cl, cl
jbe 0x1001dd34
add byte [esp + 0x13], 4
xor eax, eax
cmp ebp, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], eax
jle 0x1001dedc
mov eax, dword [esi + 0x34]
lea edx, [edi*4]
lea ebp, [edi + edi]
add edi, eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], edi
lea ecx, [ecx]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov dl, byte [eax + ecx]
cmp dl, 8
jne 0x1001dd99
mov eax, dword [esi + 0x38]
movzx eax, word [eax + ebp]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 4]
movzx ecx, word [eax + ecx*4 + 4]
mov eax, dword [esi + 0x14]
mov al, byte [ecx + eax + 5]
cmp al, 0x73
je 0x1001de48
cmp al, 0x61
je 0x1001de48
cmp dl, 1
jne 0x1001ddc8
mov ecx, dword [esi + 0x30]
mov eax, dword [esp + 0x30]
mov edi, dword [eax + ecx]
add eax, ecx
mov ecx, dword [0x10060eb0]
cmp edi, dword [ecx + 0xd8]
jne 0x1001de48
mov eax, dword [eax + 4]
cmp eax, dword [ecx + 0x10]
jne 0x1001de48
cmp dl, 2
jne 0x1001dde9
mov ecx, dword [esi + 0x38]
movzx eax, word [ecx + ebp]
mov ecx, dword [esi + 4]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
mov ecx, dword [esi + 0x14]
cmp byte [eax + ecx + 4], 0x61
je 0x1001de48
cmp dl, 3
jne 0x1001de22
mov eax, dword [esi + 0x38]
movzx eax, word [eax + ebp]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 4]
movzx ecx, word [eax + ecx*4 + 4]
mov eax, dword [esi + 0x14]
add eax, ecx
mov cl, byte [eax + 2]
test cl, cl
js 0x1001de22
mov cl, byte [eax + 3]
cmp cl, dl
jne 0x1001de48
cmp cl, 1
jne 0x1001de22
mov cl, byte [eax + 4]
and cl, dl
cmp cl, 2
jne 0x1001de48
cmp dl, 4
jne 0x1001deb5
mov edx, dword [esi + 0x38]
movzx eax, word [edx + ebp]
mov ecx, dword [esi + 4]
lea eax, [eax + eax*2]
movzx edx, word [ecx + eax*4 + 4]
mov eax, dword [esi + 0x14]
mov cl, byte [edx + eax + 2]
test cl, cl
js 0x1001deb5
mov ecx, dword [esp + 0x18]
mov al, byte [esp + 0x13]
mov cl, byte [esp + ecx + 0x524]
and al, 0xcc
and cl, 0xcc
movzx edi, al
movzx edx, cl
add edi, edx
cmp edi, 0x44
je 0x1001deb5
cmp edi, 0x48
je 0x1001deb5
cmp edi, 0x84
je 0x1001deb5
cmp edi, 0x88
je 0x1001deb5
test al, 0xc0
jne 0x1001de84
or al, 0xc0
test cl, 0xc0
jne 0x1001de8c
or cl, 0xc0
test al, 0xc
jne 0x1001de92
or al, 0xc
test cl, 0xc
jne 0x1001de9a
or cl, 0xc
cmp al, cl
movzx edi, al
jb 0x1001dea4
movzx edi, cl
movzx eax, al
movzx ecx, cl
and eax, ecx
sub eax, edi
neg eax
sbb eax, eax
inc eax
je 0x1001deb9
inc dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
inc eax
add edi, 4
add ebp, 2
cmp eax, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x30], edi
jl 0x1001dd60
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
cmp edi, edx
mov dl, byte [esp + 0x13]
setne cl
mov byte [esp + eax + 0x818], cl
mov byte [esp + eax + 0x134], dl
inc eax
mov dword [esp + 0x20], eax
jmp 0x1001e02a
mov edx, dword [esp + 0x24]
mov dl, byte [edx]
cmp dl, 8
mov byte [esp + 0x15], dl
jne 0x1001df47
mov edx, dword [esi + 0x38]
movzx edx, word [edx + edi*2]
mov ebp, dword [esi + 4]
lea edx, [edx + edx*2]
movzx edx, word [ebp + edx*4 + 4]
mov ebp, dword [esi + 0x14]
mov dl, byte [edx + ebp + 5]
cmp dl, 0x73
je 0x1001dfed
cmp dl, 0x61
je 0x1001dfed
mov dl, byte [esp + 0x15]
cmp dl, 1
jne 0x1001df7b
mov edx, dword [esi + 0x30]
mov ebp, dword [edx + edi*4]
lea edx, [edx + edi*4]
mov dword [esp + 0x30], edx
mov edx, dword [0x10060eb0]
cmp ebp, dword [edx + 0xd8]
jne 0x1001dfed
mov ebp, dword [esp + 0x30]
mov ebp, dword [ebp + 4]
cmp ebp, dword [edx + 0x10]
jne 0x1001dfed
mov dl, byte [esp + 0x15]
cmp dl, 2
jne 0x1001dfa0
mov edx, dword [esi + 0x38]
movzx edx, word [edx + edi*2]
mov ebp, dword [esi + 4]
lea edx, [edx + edx*2]
movzx edx, word [ebp + edx*4 + 4]
mov ebp, dword [esi + 0x14]
cmp byte [edx + ebp + 4], 0x61
je 0x1001dfed
mov dl, byte [esp + 0x15]
cmp dl, 3
jne 0x1001dfcc
mov edx, dword [esi + 0x38]
movzx edx, word [edx + edi*2]
mov ebp, dword [esi + 4]
lea edx, [edx + edx*2]
movzx edx, word [ebp + edx*4 + 4]
mov ebp, dword [esi + 0x14]
add edx, ebp
test byte [edx + 2], 0x80
jne 0x1001dfc8
cmp byte [edx + 3], 3
jne 0x1001dfed
mov dl, byte [esp + 0x15]
cmp dl, 4
jne 0x1001e02e
mov edx, dword [esi + 0x38]
movzx edx, word [edx + edi*2]
mov ebp, dword [esi + 4]
lea edx, [edx + edx*2]
movzx edx, word [ebp + edx*4 + 4]
mov ebp, dword [esi + 0x14]
test byte [edx + ebp + 2], 0x80
jne 0x1001e02e
mov edx, dword [esp + 0x20]
add cl, al
mov eax, dword [esi + 0x38]
movzx eax, word [eax + edi*2]
mov byte [esp + edx + 0x230], cl
lea ecx, [eax + eax*2]
mov eax, dword [esi + 4]
movzx ecx, word [eax + ecx*4 + 4]
mov eax, dword [esi + 0x14]
mov cl, byte [ecx + eax + 3]
and cl, 0xcc
mov byte [esp + edx + 0x818], 0
mov byte [esp + edx + 0x134], cl
inc edx
mov dword [esp + 0x20], edx
inc byte [esp + 0x17]
movzx edx, word [esi + 0x26]
cmp ebx, edx
jle 0x1001d070
mov eax, dword [esp + 0x20]
mov byte [esp + ebx + 0x38], 0
xor ebx, ebx
test eax, eax
mov dword [esp + 0x18], eax
jle 0x1001e478
mov al, byte [esp + ebx + 0x818]
test al, al
je 0x1001e298
test ebx, ebx
jle 0x1001e3c4
mov al, byte [esp + ebx + 0x428]
mov ebp, dword [esi + 0x34]
movzx edi, al
mov byte [esp + 0x17], al
mov al, byte [edi + ebp]
cmp al, 4
mov byte [esp + 0x15], al
jne 0x1001e117
mov eax, dword [esi + 0x38]
movzx eax, word [eax + edi*2]
mov edx, dword [esi + 4]
lea ecx, [eax + eax*2]
movzx eax, word [edx + ecx*4 + 4]
mov ecx, dword [esi + 0x14]
movzx eax, byte [eax + ecx + 3]
xor edx, edx
mov dl, byte [esp + ebx + 0x134]
and al, 0xcc
mov byte [esp + 0x34], al
push edx
push eax
call fcn.10019e60
add esp, 8
test eax, eax
jne 0x1001e117
mov al, byte [esp + 0x17]
test al, al
jbe 0x1001e117
cmp byte [edi + ebp - 1], 6
je 0x1001e117
mov ecx, dword [esp + 0x34]
xor eax, eax
mov al, byte [esp + ebx + 0x133]
push eax
push ecx
call fcn.10019e60
add esp, 8
test eax, eax
je 0x1001e3c4
mov al, byte [esp + ebx + 0x71b]
test al, al
jne 0x1001e3c4
mov al, byte [esp + 0x17]
mov dl, bl
add dl, 0x60
inc al
mov byte [esp + edi + 0x38], dl
mov byte [esp + ebx + 0x428], al
jmp 0x1001e3c4
mov al, byte [esp + ebx + 0x230]
movzx edi, al
mov byte [esp + 0x14], al
cmp byte [edi + ebp], 4
jne 0x1001e3c4
mov eax, dword [esi + 0x38]
movzx eax, word [eax + edi*2]
mov edx, dword [esi + 4]
lea ecx, [eax + eax*2]
movzx eax, word [edx + ecx*4 + 4]
mov ecx, dword [esi + 0x14]
movzx eax, byte [eax + ecx + 3]
xor ecx, ecx
mov cl, byte [esp + ebx + 0x134]
push eax
mov byte [esp + 0x2c], al
push ecx
call fcn.10019e60
add esp, 8
test eax, eax
jne 0x1001e3c4
mov al, byte [esp + ebx + 0x71b]
test al, al
jne 0x1001e3c4
mov al, byte [esp + 0x15]
cmp al, 1
je 0x1001e25d
cmp al, 3
je 0x1001e25d
cmp al, 2
jne 0x1001e3c4
movzx edx, byte [esp + ebx + 0x22f]
lea eax, [edx + ebp]
mov dword [esp + 0x2c], eax
mov al, byte [eax]
cmp al, 3
je 0x1001e1ac
cmp al, 4
jne 0x1001e1cb
mov ecx, dword [esp + 0x28]
xor eax, eax
mov al, byte [esp + ebx + 0x133]
push eax
push ecx
call fcn.10019e60
add esp, 8
test eax, eax
jne 0x1001e286
cmp ebx, 1
jle 0x1001e21f
movzx eax, byte [esp + ebx + 0x22e]
add eax, ebp
mov dword [esp + 0x30], eax
mov al, byte [eax]
cmp al, 3
je 0x1001e1e8
cmp al, 4
jne 0x1001e21f
mov edx, dword [esp + 0x28]
xor ecx, ecx
mov cl, byte [esp + ebx + 0x132]
push ecx
push edx
call fcn.10019e60
add esp, 8
test eax, eax
je 0x1001e21f
mov eax, dword [esp + 0x30]
cmp byte [eax + 1], 6
je 0x1001e21f
mov al, byte [esp + 0x14]
mov cl, bl
add cl, 0x5f
mov byte [esp + edi + 0x38], cl
jmp 0x1001e3b7
movzx edx, byte [esp + ebx + 0x427]
cmp byte [edx + ebp], 2
jne 0x1001e3c4
mov eax, dword [esp + 0x2c]
cmp byte [eax + 1], 6
jne 0x1001e3c4
xor ecx, ecx
mov cl, byte [esp + ebx + 0x133]
xor eax, eax
mov al, byte [esp + ebx + 0x134]
push ecx
push eax
mov eax, dword [esp + 0x30]
and eax, 0xffffffcc
push eax
jmp 0x1001e276
mov ecx, dword [esp + 0x28]
xor eax, eax
mov al, byte [esp + ebx + 0x133]
push eax
xor eax, eax
mov al, byte [esp + ebx + 0x138]
push eax
push ecx
call fcn.10019ee0
add esp, 0xc
test eax, eax
je 0x1001e3c4
mov al, byte [esp + 0x14]
mov dl, bl
add dl, 0x60
mov byte [esp + edi + 0x38], dl
jmp 0x1001e3b7
mov al, byte [esp + ebx + 0x32c]
test al, al
jne 0x1001e3c4
test ebx, ebx
jle 0x1001e2dc
xor eax, eax
mov al, byte [esp + ebx + 0x133]
xor ecx, ecx
mov cl, byte [esp + ebx + 0x134]
push eax
push ecx
call fcn.10019e60
add esp, 8
test eax, eax
je 0x1001e2dc
mov al, byte [esp + ebx + 0x230]
mov dl, bl
add dl, 0x60
jmp 0x1001e3b0
cmp ebx, 1
jle 0x1001e32a
xor edx, edx
mov dl, byte [esp + ebx + 0x132]
xor eax, eax
mov al, byte [esp + ebx + 0x134]
push edx
push eax
call fcn.10019e60
add esp, 8
test eax, eax
je 0x1001e32a
movzx ecx, byte [esp + ebx + 0x427]
mov edx, dword [esi + 0x34]
cmp byte [ecx + edx], 2
jne 0x1001e32a
mov al, byte [esp + ebx + 0x230]
mov cl, bl
movzx edx, al
add cl, 0x5f
mov byte [esp + edx + 0x38], cl
jmp 0x1001e3b7
mov al, byte [esp + ebx + 0x230]
mov cl, byte [esp + ebx + 0x428]
cmp al, cl
mov byte [esp + 0x14], al
jne 0x1001e3c4
mov edx, dword [esi + 0x34]
movzx eax, cl
cmp byte [eax + edx], 4
jne 0x1001e3c4
mov edx, dword [esi + 0x3c]
cmp byte [eax + edx], 0
jne 0x1001e3c4
movzx cx, cl
cmp cx, word [esi + 0x26]
jae 0x1001e3c4
mov edx, dword [esi + 0x38]
movzx ecx, word [edx + eax*2 + 2]
mov edi, dword [esi + 4]
mov ebp, dword [esi + 0x14]
lea eax, [edx + eax*2]
movzx eax, word [eax]
lea ecx, [ecx + ecx*2]
movzx edx, word [edi + ecx*4 + 4]
xor ecx, ecx
mov cl, byte [edx + ebp + 3]
lea edx, [eax + eax*2]
movzx eax, word [edi + edx*4 + 4]
and ecx, 0xffffffcc
push ecx
xor ecx, ecx
mov cl, byte [eax + ebp + 3]
and ecx, 0xffffffcc
push ecx
call fcn.10019e60
add esp, 8
test eax, eax
je 0x1001e3c4
mov al, byte [esp + 0x14]
mov dl, bl
add dl, 0x62
movzx ecx, al
mov byte [esp + ecx + 0x38], dl
test al, al
je 0x1001e3c4
dec al
mov byte [esp + ebx + 0x230], al
movzx bp, byte [esp + ebx + 0x428]
movzx edx, byte [esp + ebx + 0x230]
movzx eax, bp
inc edx
cmp eax, edx
jge 0x1001e46b
movzx ecx, byte [esp + ebx + 0x230]
lea edx, [ecx + 1]
lea esp, [esp]
mov ecx, dword [esi + 0x34]
mov cl, byte [eax + ecx]
cmp cl, 1
je 0x1001e426
cmp cl, 4
je 0x1001e426
cmp cl, 3
je 0x1001e426
cmp cl, 8
jne 0x1001e463
mov ecx, dword [esi + 0x38]
movzx ecx, word [ecx + eax*2]
mov edi, dword [esi + 4]
lea ecx, [ecx + ecx*2]
movzx ecx, word [edi + ecx*4 + 4]
mov edi, dword [esi + 0x14]
test byte [ecx + edi + 3], 0xc0
jne 0x1001e463
mov ecx, dword [esi + 0x38]
movzx eax, word [ecx + eax*2]
mov ecx, dword [esi + 4]
lea eax, [eax + eax*2]
movzx eax, word [ecx + eax*4 + 4]
mov ecx, dword [esi + 0x14]
lea edi, [eax + ecx + 3]
mov al, byte [edi]
test al, 0xc0
jne 0x1001e451
mov cl, byte [esp + ebx + 0x134]
and cl, 0xc0
or al, cl
test al, 0xc
jne 0x1001e461
mov cl, byte [esp + ebx + 0x134]
and cl, 0xc
or al, cl
mov byte [edi], al
inc ebp
movzx eax, bp
cmp eax, edx
jl 0x1001e3f0
mov eax, dword [esp + 0x18]
inc ebx
cmp ebx, eax
jl 0x1001e051
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x908]
pop esi
call fcn.10049461
add esp, 0x908
ret