Function at 0x1001ddb0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100b542f
mov eax, dword fs:[0]
push eax
sub esp, 0x110
push ebx
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x120]
mov dword fs:[0], eax
mov dword [esp + 0x50], edx
mov esi, ecx
mov dword [esp + 0x5c], esi
mov eax, dword [ebp + 0x10]
xor ebx, ebx
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x1d], bl
mov dword [eax], 0
mov eax, dword [ebp + 0xc]
mov byte [eax], bl
mov ecx, dword [esi + 4]
mov eax, dword [esi]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
test ecx, ecx
je 0x1001f0f4
mov ebx, dword [ebp + 0x2c]
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x84]
mov edx, dword [eax + 0x10]
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
sar eax, 2
mov dword [esp + 0x54], edx
test ax, ax
je 0x1001de61
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
sar eax, 2
test eax, eax
je 0x1001de51
mov eax, dword [ecx + 8]
mov eax, dword [eax]
jmp 0x1001de53
xor eax, eax
mov eax, dword [eax]
cmp edx, dword [eax + 0xc]
jae 0x1001de61
mov eax, 0xffff
jmp 0x1001de87
push 1
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x30]
push eax
push edx
call fcn.10099ab0
test al, al
je 0x1001f0f4
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x54], edx
mov dword [esp + 0x80], eax
cmp edx, dword [ebx + 4]
jae 0x1001f0f4
test edx, edx
je 0x1001f0f4
mov ecx, 0xffff
cmp ax, cx
je 0x1001f0f4
cmp edx, dword [esi + 4]
jae 0x1001f0f4
mov esi, dword [ebx + 0x14]
test esi, esi
je 0x1001dec5
mov edi, dword [esi + 0x84]
jmp 0x1001dec7
xor edi, edi
mov ecx, ebx
call fcn.10095290
movzx eax, ax
mov ecx, edi
push eax
call fcn.100955a0
test eax, eax
je 0x1001f0f4
mov ecx, ebx
call fcn.100952e0
mov eax, dword [eax + 0x1c]
mov dword [esp + 0xa8], eax
test esi, esi
je 0x1001defe
mov ecx, dword [esi + 0x84]
jmp 0x1001df00
xor ecx, ecx
test esi, esi
je 0x1001df0c
mov edx, dword [esi + 0x84]
jmp 0x1001df0e
xor edx, edx
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
mov ecx, edx
sar eax, 2
dec eax
push eax
call fcn.100955a0
mov edi, dword [eax]
test esi, esi
je 0x1001df2e
mov ebx, dword [esi + 0x84]
jmp 0x1001df30
xor ebx, ebx
mov ecx, dword [ebp + 0x2c]
call fcn.10095290
movzx eax, ax
mov ecx, ebx
push eax
call fcn.100955a0
mov ecx, dword [eax]
mov dword [esp + 0x7c], ecx
test edi, edi
je 0x1001f0f4
mov eax, dword [ecx + 0x14]
mov ebx, dword [edi + 0x10]
mov dword [esp + 0x30], eax
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x44], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x38], eax
mov dword [esp + 0x60], ebx
test esi, esi
je 0x1001df79
mov ecx, dword [esi + 0x84]
jmp 0x1001df7b
xor ecx, ecx
mov eax, dword [ecx + 0xc]
xor edi, edi
sub eax, dword [ecx + 8]
sar eax, 2
dec eax
mov byte [esp + 0x36], 0
movzx edx, ax
mov dword [esp + 0x68], edx
test esi, esi
je 0x1001df9f
mov ecx, dword [esi + 0x84]
jmp 0x1001dfa1
xor ecx, ecx
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
sar eax, 2
movzx eax, ax
test ebx, ebx
jne 0x1001dfb6
mov byte [esp + 0x36], 1
cmp dword [esp + 0x44], 0x2300
jae 0x1001e03a
lea ecx, [eax - 1]
lea eax, [edx - 1]
mov dword [esp + 0x28], ecx
movzx ebx, ax
lea ecx, [ecx]
movzx eax, di
cmp eax, ecx
jge 0x1001f0f4
test dx, dx
je 0x1001f0f4
mov ecx, dword [ebp + 0x2c]
call fcn.10095320
movzx edx, bx
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 8]
sar ecx, 2
cmp edx, ecx
jae 0x1001e004
mov eax, dword [eax + 8]
mov eax, dword [eax + edx*4]
jmp 0x1001e006
xor eax, eax
mov eax, dword [eax]
add ebx, 0xffff
mov ecx, dword [esp + 0x28]
inc edi
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x68]
add edx, 0xffff
mov dword [esp + 0x44], eax
mov dword [esp + 0x68], edx
cmp eax, 0x2300
jb 0x1001dfd0
mov ebx, dword [esp + 0x60]
test esi, esi
je 0x1001e046
mov ecx, dword [esi + 0x84]
jmp 0x1001e048
xor ecx, ecx
mov edi, dword [esp + 0x80]
push edi
call fcn.100955a0
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x58], eax
test esi, esi
je 0x1001e06a
mov ecx, dword [esi + 0x84]
jmp 0x1001e06c
xor ecx, ecx
push edi
call fcn.100955a0
lea ecx, [esp + 0x98]
mov dword [esp + 0x2c], 1
mov byte [esp + 0x28], 0
mov eax, dword [eax]
mov esi, dword [eax + 0x10]
xor al, al
mov byte [esp + 0x3c], al
mov byte [esp + 0x20], al
xor eax, eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x24], eax
mov byte [esp + 0x35], al
call fcn.10096180
mov dword [esp + 0x128], 0
lea ecx, [esp + 0xa0]
call fcn.10096180
mov byte [esp + 0x128], 1
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x54]
mov byte [esp + 0x1e], 0
cmp ecx, edi
jb 0x1001e0f1
mov eax, dword [esp + 0x44]
add eax, edi
cmp ecx, eax
jbe 0x1001ecab
mov eax, dword [esp + 0x38]
cmp ecx, eax
jb 0x1001e103
add eax, ebx
cmp ecx, eax
jbe 0x1001ecab
mov ebx, dword [esp + 0x58]
mov byte [esp + 0x35], 1
lea eax, [esi + ebx]
mov esi, dword [esp + 0x18]
lea ecx, [eax - 1]
lea edx, [esi - 1]
add edx, eax
test ecx, ecx
je 0x1001e139
mov esi, dword [esp + 0x14]
cmp ecx, ebx
jbe 0x1001e135
cmp ecx, esi
jae 0x1001e135
mov al, byte [edx]
dec edx
test al, al
jne 0x1001e135
dec ecx
jne 0x1001e123
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x50]
mov byte [esp + 0x37], 0
mov dword [ecx], eax
add eax, 0xfffffff9
cmp eax, ebx
jae 0x1001ecaf
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0xac]
push dword [esp + 0x54]
push dword [eax + 4]
push dword [eax]
call fcn.1001d150
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov edi, ecx
cmp ecx, dword [eax]
jae 0x1001ecaf
mov edx, 1
jmp 0x1001e190
cmp edx, 0x258
jge 0x1001ecaf
lea eax, [edi + 6]
cmp eax, ebx
jae 0x1001ecaf
mov cl, byte [edi + esi]
lea eax, [esi + 1]
mov byte [esp + 0x48], cl
lea esi, [eax + edi]
mov dword [esp + 0x40], eax
cmp cl, 0x66
jne 0x1001e1e6
mov dl, byte [esi]
mov byte [esp + 0x22], dl
mov byte [esp + 0x23], dl
mov edx, dword [esp + 0x18]
mov byte [esp + 0x21], 1
mov bh, byte [edi + edx + 3]
lea eax, [edx + 2]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x38], eax
mov al, byte [eax + edi]
mov bl, al
jmp 0x1001e207
mov al, byte [esi]
mov byte [esp + 0x22], al
mov bl, al
mov eax, dword [esp + 0x18]
add eax, 2
mov byte [esp + 0x21], 0
mov dword [esp + 0x38], eax
mov byte [esp + 0x23], cl
mov al, byte [eax + edi]
mov bh, al
cmp byte [esp + 0x37], 0
mov byte [esp + 0x1f], al
jne 0x1001e2a4
cmp edx, 0x256
jne 0x1001e2a4
cmp dword [esp + 0x24], 0
jne 0x1001e249
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x58]
mov edx, dword [eax]
lea eax, [ecx + 0xb00]
cmp edx, eax
jb 0x1001e245
add edx, 0xfffff500
jmp 0x1001e24e
mov edx, ecx
jmp 0x1001e24e
mov edx, dword [esp + 0x24]
inc edx
mov ecx, dword [esp + 0x5c]
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x54]
push 0xff
mov byte [esp + 0x25], 0
push dword [eax]
call fcn.1001f910
add esp, 0xc
test eax, eax
je 0x1001e29b
mov ecx, dword [ebp + 0x34]
mov edx, 0x22e
mov eax, dword [esp + 0x24]
push eax
mov dword [esp + 0x30], edx
mov byte [ecx], 1
lea ecx, [esp + 0xb0]
lea edi, [eax - 1]
call fcn.1001d110
jmp 0x1001ec73
mov cl, byte [esp + 0x48]
mov byte [esp + 0x37], 1
mov dl, byte [esp + 0x23]
mov ch, byte [esp + 0x22]
mov al, dl
mov ah, byte [esp + 0x1f]
add al, 0x48
cmp al, 7
ja 0x1001e358
cmp ch, 0x4d
je 0x1001e358
cmp ah, 0x5a
je 0x1001e358
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x18]
cmp byte [edi + eax + 3], 0
mov eax, dword [esp + 0x48]
jne 0x1001e358
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x18]
cmp byte [edi + eax + 4], 0
mov eax, dword [esp + 0x48]
jne 0x1001e358
sub bh, 0x40
cmp bh, 0x2d
ja 0x1001e358
mov al, dl
mov ecx, esi
add al, 0x48
mov byte [esp + 0x20], al
lea eax, [edi + 5]
mov dword [esp + 0x6c], eax
call fcn.1001ca30
mov ecx, 0x258
mov dword [esp + 0x4c], eax
sub ecx, dword [esp + 0x2c]
cmp ecx, 0x1e
mov byte [esp + 0x1d], 1
jg 0x1001e332
mov edx, 0x23a
mov dword [esp + 0x2c], edx
cmp byte [esp + 0x1e], 0
jne 0x1001e342
mov eax, dword [ebp + 0x24]
mov dword [eax], 4
push 5
lea ecx, [esp + 0xb0]
add edi, 4
call fcn.1001d130
jmp 0x1001ec73
mov edx, dword [esp + 0x18]
cmp cl, 0x68
jne 0x1001e431
mov al, byte [edi + edx + 5]
cmp al, 0x58
jb 0x1001e3b0
cmp al, 0x5f
ja 0x1001e3b0
cmp byte [edi + edx + 3], 0
jne 0x1001e3b0
cmp byte [edi + edx + 4], 0
jne 0x1001e3b0
cmp ah, 0x40
jb 0x1001e3b0
cmp ah, 0x6d
ja 0x1001e3b0
sub al, 0x58
mov ecx, esi
mov byte [esp + 0x20], al
call fcn.1001ca30
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0x30]
mov dword [eax], edi
mov eax, 0x258
sub eax, dword [esp + 0x2c]
cmp eax, 0x1e
jmp 0x1001e322
cmp cl, 0x68
jne 0x1001e431
mov al, byte [edi + edx + 6]
cmp al, 0x58
jb 0x1001e431
cmp al, 0x5f
ja 0x1001e431
cmp byte [edi + edx + 3], 0
jne 0x1001e431
cmp byte [edi + edx + 4], 0
jne 0x1001e431
cmp ah, 0x40
jb 0x1001e431
cmp ah, 0x6d
ja 0x1001e431
sub al, 0x58
mov ecx, esi
mov byte [esp + 0x20], al
call fcn.1001ca30
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0x30]
mov byte [esp + 0x1d], 1
mov dword [eax], edi
mov eax, 0x258
sub eax, dword [esp + 0x2c]
cmp eax, 0x1e
jg 0x1001e40b
mov edx, 0x23a
mov dword [esp + 0x2c], edx
cmp byte [esp + 0x1e], 0
jne 0x1001e41b
mov eax, dword [ebp + 0x24]
mov dword [eax], 4
push 6
lea ecx, [esp + 0xb0]
add edi, 5
call fcn.1001d130
jmp 0x1001ec73
mov bh, byte [esp + 0x23]
cmp bh, 0x81
jne 0x1001e54d
cmp bl, 0x80
jb 0x1001e44c
cmp bl, 0x87
jbe 0x1001e592
cmp bl, 0xa8
jb 0x1001e45a
cmp bl, 0xaf
jbe 0x1001e592
cmp bl, 0x90
jb 0x1001e468
cmp bl, 0x9f
jbe 0x1001e592
cmp cl, 0xe9
jne 0x1001e98f
movzx eax, byte [0x100d0d6d]
mov esi, edi
push eax
lea eax, [esp + 0x4c]
mov dword [esp + 0x4c], edi
push eax
push ecx
lea eax, [esp + 0x118]
push eax
lea ecx, [esp + 0xb0]
call fcn.1009d290
cmp byte [esp + 0x110], 0
je 0x1001e342
mov eax, dword [esp + 0x18]
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
movzx ecx, byte [edi + eax + 4]
movzx eax, byte [edi + eax + 3]
shl cx, 8
or cx, ax
mov eax, dword [esp + 0x38]
movzx edx, cx
shl edx, 0x10
movzx ecx, byte [eax + edi]
mov eax, dword [esp + 0x40]
shl cx, 8
movzx eax, byte [eax + edi]
or cx, ax
movzx ebx, cx
or ebx, edx
mov byte [esp + 0x128], 2
lea eax, [esp + 0x84]
push eax
mov eax, dword [ebp + 0x2c]
push edi
mov ecx, dword [eax + 0x14]
call fcn.100979a0
test al, al
jne 0x1001e8ec
push 5
lea ecx, [esp + 0xb0]
add edi, 4
call fcn.1001d130
mov byte [esp + 0x128], 1
lea ecx, [esp + 0x84]
call fcn.100941a0
jmp 0x1001ec73
cmp bh, 0x80
jne 0x1001e56d
cmp bl, bh
jb 0x1001e55b
cmp bl, 0x87
jbe 0x1001e592
cmp bl, 0xa8
jb 0x1001e565
cmp bl, 0xaf
jbe 0x1001e592
mov al, bl
add al, 0x70
cmp al, 0xf
jmp 0x1001e58c
cmp bh, 0xc1
jne 0x1001e468
cmp bl, 0x80
jb 0x1001e580
cmp bl, 0x87
jbe 0x1001e592
cmp bl, 0x88
jb 0x1001e468
cmp bl, 0x8f
ja 0x1001e468
mov esi, dword [esp + 0x18]
xor eax, eax
cmp byte [esp + 0x21], al
setne al
add eax, edi
add eax, esi
mov dword [esp + 0x40], eax
lea ecx, [eax + 2]
call fcn.1001ca30
sub eax, dword [esp + 0xa8]
lea ecx, [esp + 0x64]
push 1
push ecx
lea ecx, [esp + 0x40]
mov dword [esp + 0x40], eax
push ecx
mov ecx, dword [ebp + 0x2c]
push eax
call fcn.100951f0
test al, al
jne 0x1001e5f7
xor eax, eax
lea ecx, [esp + 0xac]
cmp byte [esp + 0x21], al
sete al
lea edi, [edi + eax*2]
add edi, 7
lea eax, [edi + 1]
push eax
call fcn.1001d110
jmp 0x1001ec77
mov ecx, dword [ebp + 0x2c]
call fcn.10095320
mov esi, dword [esp + 0x64]
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 8]
sar ecx, 2
cmp si, cx
jae 0x1001e643
mov ecx, dword [ebp + 0x2c]
push esi
call fcn.10095320
mov ecx, eax
call fcn.100955a0
mov ecx, dword [ebp + 0x2c]
push esi
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x34], eax
call fcn.10095320
mov ecx, eax
call fcn.100955a0
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
mov dword [eax], edi
mov eax, dword [esp + 0x38]
mov dword [ecx], eax
cmp bh, 0xc1
je 0x1001e838
cmp bh, 0x80
je 0x1001e838
mov ecx, dword [esp + 0x40]
add ecx, 6
call fcn.1001ca30
mov cl, bl
mov edx, eax
and cl, 0xf0
mov dword [esp + 0x94], edx
cmp cl, 0x80
mov al, bl
mov ecx, dword [ebp + 0x10]
jne 0x1001e691
add al, 0x80
mov dword [ecx], 1
jmp 0x1001e6a1
add al, 0x58
cmp al, 7
ja 0x1001e6a5
mov al, bl
mov dword [ecx], 2
add al, 0x58
mov byte [esp + 0x3c], al
cmp byte [esp + 0x21], 0
je 0x1001e6c0
movzx eax, dx
mov dword [esp + 0x60], eax
mov eax, dword [ecx]
cmp eax, 1
jne 0x1001e703
mov dword [ecx], 8
mov al, byte [esp + 0x3c]
cmp byte [esp + 0x20], al
je 0x1001e73e
mov ebx, dword [esp + 0x6c]
test ebx, ebx
jne 0x1001e6d8
mov ebx, edi
mov dword [esp + 0x6c], ebx
mov ecx, dword [esp + 0x5c]
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x54]
mov edx, ebx
push dword [esp + 0x40]
push dword [eax]
call fcn.1001f910
add esp, 0xc
mov dword [esp + 0x4c], eax
mov byte [esp + 0x1d], 1
jmp 0x1001e783
cmp eax, 2
jne 0x1001e710
mov dword [ecx], 0xa
jmp 0x1001e6c0
mov al, bl
add al, 0x70
cmp al, 7
mov al, bl
ja 0x1001e728
add al, 0x70
mov dword [ecx], 0xb
mov byte [esp + 0x3c], al
jmp 0x1001e6c4
add al, 0x68
cmp al, 7
ja 0x1001e6c0
mov al, bl
mov dword [ecx], 0xc
add al, 0x68
mov byte [esp + 0x3c], al
jmp 0x1001e6c4
cmp byte [esp + 0x1d], 0
jne 0x1001e77f
mov esi, dword [esp + 0xb4]
lea edx, [esp + 0x92]
sub esi, dword [esp + 0xac]
lea ecx, [esp + 0xac]
call fcn.100ae1f0
push esi
lea ecx, [esp + 0xb0]
lea ebx, [edi + eax]
mov dword [esp + 0x70], ebx
call fcn.1001d110
jmp 0x1001e6d8
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x1001ec73
mov ebx, 0x6ff5
cmp eax, 0x6ff5
ja 0x1001e79b
mov ebx, dword [esp + 0x4c]
push 0x7000
lea ecx, [esp + 0x88]
call fcn.100940a0
mov byte [esp + 0x128], 4
mov esi, dword [ebp + 0x28]
mov ecx, esi
push eax
call fcn.10094140
mov byte [esp + 0x128], 1
lea ecx, [esp + 0x84]
call fcn.100941a0
push dword [esp + 0x44]
mov eax, dword [ebp + 0x24]
push dword [esp + 0x34]
mov edx, dword [esp + 0x64]
push esi
push dword [eax]
mov eax, dword [ebp + 0x18]
push dword [ebp + 0x20]
push ecx
push dword [ebp + 0x1c]
mov ecx, dword [ebp + 8]
push dword [eax]
mov eax, dword [ebp + 0x14]
push dword [eax]
mov eax, dword [ebp + 0x10]
push ecx
push dword [ebp + 0xc]
mov ecx, dword [ebp + 0x2c]
push ebx
push dword [eax]
mov eax, dword [esp + 0xc8]
push eax
mov eax, dword [esp + 0x98]
push eax
push dword [esp + 0x64]
push dword [esp + 0x78]
call fcn.1001f4a0
add esp, 0x44
test al, al
je 0x1001ecab
mov edi, 1
jmp 0x1001f05c
mov esi, dword [esp + 0x18]
mov al, byte [edi + esi + 6]
mov byte [esp + 0x28], al
test al, al
je 0x1001ec77
cmp bh, 0xc1
jne 0x1001e867
mov ecx, dword [ebp + 0x10]
sub bl, 0x80
mov al, 7
cmp al, bl
sbb eax, eax
and eax, 4
add eax, 3
mov dword [ecx], eax
jmp 0x1001e8b1
mov al, bl
sub al, 0x80
cmp al, 7
ja 0x1001e87a
mov eax, dword [ebp + 0x10]
mov dword [eax], 6
jmp 0x1001e8b1
mov al, bl
add al, 0x58
cmp al, 7
ja 0x1001e88d
mov eax, dword [ebp + 0x10]
mov dword [eax], 9
jmp 0x1001e8b1
mov al, bl
add al, 0x70
cmp al, 7
ja 0x1001e8a0
mov eax, dword [ebp + 0x10]
mov dword [eax], 4
jmp 0x1001e8b1
add bl, 0x68
cmp bl, 7
ja 0x1001e8b1
mov eax, dword [ebp + 0x10]
mov dword [eax], 5
cmp byte [esp + 0x1d], 0
jne 0x1001e8db
mov ecx, dword [esp + 0x5c]
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x54]
mov edx, edi
push dword [esp + 0x40]
push dword [eax]
call fcn.1001f910
add esp, 0xc
mov dword [esp + 0x4c], eax
jmp 0x1001e8df
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x1001e78b
jmp 0x1001ec77
mov edx, dword [esp + 0x88]
mov ecx, edx
mov eax, dword [esp + 0x84]
sub ecx, eax
and ecx, 0xfffffff8
cmp ecx, 8
je 0x1001e91f
cmp eax, edx
je 0x1001e921
mov ecx, dword [esp + 0x68]
mov edi, edi
cmp word [eax + 4], cx
je 0x1001e91f
add eax, 8
cmp eax, edx
jne 0x1001e910
jmp 0x1001e921
mov esi, dword [eax]
push 1
lea ecx, [esp + 0x4c]
push ecx
lea ecx, [esp + 0x48]
lea eax, [ebx + 5]
add eax, esi
push ecx
mov ecx, dword [ebp + 0x2c]
push eax
mov dword [esp + 0x50], eax
call fcn.100951f0
test al, al
je 0x1001e523
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x30]
mov byte [esp + 0x1e], 1
cmp esi, edi
jb 0x1001e966
mov eax, dword [esp + 0x44]
add eax, edi
cmp esi, eax
jbe 0x1001ec93
push esi
lea ecx, [esp + 0xb0]
lea edi, [esi - 1]
call fcn.1001d110
mov byte [esp + 0x128], 1
lea ecx, [esp + 0x84]
call fcn.100941a0
jmp 0x1001ec73
cmp cl, 0xe8
jne 0x1001ebf7
movzx ecx, byte [edx + edi + 4]
mov esi, edi
movzx eax, byte [edx + edi + 3]
shl cx, 8
or cx, ax
movzx eax, cx
movzx ecx, byte [esp + 0x1f]
mov edx, eax
mov al, byte [esp + 0x22]
shl cx, 8
movzx eax, al
or cx, ax
shl edx, 0x10
movzx ebx, cx
or ebx, edx
cmp ebx, 7
je 0x1001e9d5
cmp ebx, 0x1c
jne 0x1001e9e0
cmp dword [esp + 0x2c], 0x10
jle 0x1001e342
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov byte [esp + 0x128], 3
lea eax, [esp + 0x70]
push eax
mov eax, dword [ebp + 0x2c]
push edi
mov ecx, dword [eax + 0x14]
call fcn.100979a0
test al, al
jne 0x1001ea3c
push 5
lea ecx, [esp + 0xb0]
add edi, 4
call fcn.1001d130
mov byte [esp + 0x128], 1
lea ecx, [esp + 0x70]
call fcn.100941a0
jmp 0x1001ec73
mov edx, dword [esp + 0x74]
mov ecx, edx
mov eax, dword [esp + 0x70]
sub ecx, eax
and ecx, 0xfffffff8
cmp ecx, 8
je 0x1001ea67
cmp eax, edx
je 0x1001ea69
mov ecx, dword [esp + 0x68]
cmp word [eax + 4], cx
je 0x1001ea67
add eax, 8
cmp eax, edx
jne 0x1001ea58
jmp 0x1001ea69
mov esi, dword [eax]
push 1
lea ecx, [esp + 0x4c]
push ecx
lea ecx, [esp + 0x48]
lea eax, [ebx + 5]
add eax, esi
push ecx
mov ecx, dword [ebp + 0x2c]
push eax
mov dword [esp + 0x50], eax
call fcn.100951f0
test al, al
je 0x1001ea15
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x18]
lea eax, [ecx + 7]
cmp eax, dword [esp + 0x14]
jae 0x1001eafb
cmp byte [ecx + esi], 0x55
lea edx, [esi + 2]
jne 0x1001eaff
cmp byte [esi + ecx + 1], 0x8b
jne 0x1001eaff
cmp byte [edx + ecx], 0xec
jne 0x1001eaff
cmp byte [esi + ecx + 3], 0x6a
jne 0x1001eaff
cmp byte [esi + ecx + 4], 0
jne 0x1001eaff
cmp byte [ecx + esi + 5], 0x6a
jne 0x1001eaff
cmp byte [ecx + esi + 6], 0
jne 0x1001eaff
cmp byte [ecx + esi + 7], 0xe9
jne 0x1001eaff
lea edi, [ecx - 1]
push ecx
lea ecx, [esp + 0xb0]
call fcn.1001d110
mov byte [esp + 0x128], 1
lea ecx, [esp + 0x70]
call fcn.100941a0
jmp 0x1001ec77
mov edx, dword [esp + 0x38]
lea eax, [ecx + 4]
cmp eax, dword [esp + 0x14]
jae 0x1001eb63
cmp byte [ecx + esi], 0x55
jne 0x1001eb63
mov al, byte [esi + ecx + 1]
cmp al, 0x31
je 0x1001eb1a
cmp al, 0x89
jne 0x1001eb63
mov al, byte [edx + ecx]
cmp al, 0xc0
je 0x1001eb25
cmp al, 0xe5
jne 0x1001eb63
mov al, byte [esi + ecx + 3]
cmp al, 0x89
je 0x1001eb31
cmp al, 0x56
jne 0x1001eb63
mov al, byte [esi + ecx + 4]
cmp al, 0xe5
je 0x1001eb3d
cmp al, 0x53
jne 0x1001eb63
lea edi, [ecx - 1]
push ecx
lea ecx, [esp + 0xb0]
call fcn.1001d110
mov byte [esp + 0x128], 1
lea ecx, [esp + 0x70]
call fcn.100941a0
jmp 0x1001ec77
cmp ebx, 0x80
jbe 0x1001eb92
push 5
lea ecx, [esp + 0xb0]
add edi, 4
call fcn.1001d130
mov byte [esp + 0x128], 1
lea ecx, [esp + 0x70]
call fcn.100941a0
jmp 0x1001ec77
mov ebx, dword [esp + 0x14]
lea eax, [ecx + 1]
cmp eax, ebx
jae 0x1001ebd1
cmp byte [ecx + esi], 0xff
jne 0x1001ebd1
cmp byte [esi + ecx + 1], 0x25
jne 0x1001ebd1
push 5
lea ecx, [esp + 0xb0]
add edi, 4
call fcn.1001d130
mov byte [esp + 0x128], 1
lea ecx, [esp + 0x70]
call fcn.100941a0
jmp 0x1001ec7b
lea edi, [ecx - 1]
push ecx
lea ecx, [esp + 0xb0]
call fcn.1001d110
mov byte [esp + 0x128], 1
lea ecx, [esp + 0x70]
call fcn.100941a0
jmp 0x1001ec7b
cmp cl, 0xeb
jne 0x1001ec55
movzx eax, byte [0x100d0d6d]
push eax
movsx esi, ch
lea eax, [esp + 0x3c]
push eax
push ecx
add esi, 2
lea eax, [esp + 0x120]
add esi, edi
lea ecx, [esp + 0xa4]
push eax
mov dword [esp + 0x48], esi
call fcn.1009d290
cmp byte [esp + 0x118], 0
lea ecx, [esp + 0xac]
jne 0x1001ec45
push 2
inc edi
call fcn.1001d130
jmp 0x1001ec73
push esi
mov byte [esp + 0x22], 1
lea edi, [esi - 1]
call fcn.1001d110
jmp 0x1001ec73
lea edx, [esp + 0x93]
lea ecx, [esp + 0xac]
call fcn.100ae1f0
test eax, eax
je 0x1001f05a
dec edi
add edi, eax
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x50]
inc edi
mov edx, dword [esp + 0x2c]
inc edx
mov dword [esp + 0x2c], edx
cmp edi, dword [eax]
jb 0x1001e190
jmp 0x1001ecaf
mov byte [esp + 0x128], 1
lea ecx, [esp + 0x84]
call fcn.100941a0
mov dword [esp + 0x54], esi
mov ebx, dword [esp + 0x14]
mov eax, dword [ebp + 0x2c]
mov ecx, dword [esp + 0x54]
mov edx, dword [eax + 0x14]
test edx, edx
je 0x1001ecc5
mov esi, dword [edx + 0x84]
jmp 0x1001ecc7
xor esi, esi
mov eax, dword [esp + 0x80]
movzx edi, ax
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 2
cmp edi, eax
jae 0x1001ece6
mov eax, dword [esi + 8]
mov eax, dword [eax + edi*4]
jmp 0x1001ece8
xor eax, eax
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
test edx, edx
je 0x1001ed00
mov al, byte [edx + 0x88]
test al, al
je 0x1001ed00
mov eax, dword [edx + 0xc]
jmp 0x1001ed02
xor eax, eax
mov edx, dword [esp + 0x58]
test edx, 0x1ff
je 0x1001ed15
mov ecx, dword [eax + 0x10]
sub ecx, esi
add ecx, edx
mov esi, dword [ebp + 0x2c]
lea eax, [esp + 0x24]
push eax
mov eax, dword [ebp + 0xc]
push 0x140
push ecx
push 0
movzx eax, byte [eax]
push 0
push dword [ebp + 8]
mov dword [esp + 0x3c], 0
push eax
push ebx
mov ebx, dword [esp + 0x38]
mov edx, ebx
push ecx
mov ecx, esi
call fcn.100200c0
add esp, 0x24
test eax, eax
je 0x1001ed62
mov eax, dword [ebp + 0x20]
mov edi, 1
mov dword [eax], 4
jmp 0x1001f05c
cmp byte [esp + 0x35], 0
je 0x1001f05a
push dword [esp + 0x44]
mov edi, dword [esp + 0x54]
lea eax, [esp + 0x2c]
push dword [esp + 0x34]
mov ecx, dword [esp + 0x64]
mov edx, esi
push eax
push dword [edi]
mov dword [esp + 0x38], 0
push dword [esp + 0x64]
call fcn.1001f200
add esp, 0x14
test al, al
je 0x1001ede3
lea eax, [esp + 0x24]
mov edx, ebx
push eax
mov eax, dword [ebp + 0xc]
push 0x46
push ecx
push 0
movzx eax, byte [eax]
mov ecx, esi
push 0
push dword [ebp + 8]
push eax
push dword [esp + 0x30]
push dword [esp + 0x48]
call fcn.100200c0
add esp, 0x24
test eax, eax
je 0x1001f05a
mov eax, dword [ebp + 0x20]
mov edi, 1
mov dword [eax], 4
jmp 0x1001f05c
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x30]
add eax, edx
mov ecx, dword [esp + 0x14]
cmp eax, ecx
jbe 0x1001edf9
mov dword [edi], ecx
jmp 0x1001edfb
mov dword [edi], eax
mov esi, dword [edi]
lea ecx, [ebx - 1]
add ecx, esi
lea edi, [esi - 1]
cmp edi, edx
jbe 0x1001ee1e
lea esp, [esp]
mov al, byte [ecx]
lea ecx, [ecx - 1]
test al, al
jne 0x1001ee1e
dec edi
cmp edi, edx
ja 0x1001ee10
lea eax, [edx + 0x5000]
cmp edi, eax
jb 0x1001ee32
lea edx, [edi - 0x5000]
mov dword [esp + 0x30], edx
add edx, 0x1200
mov dword [esp + 0x58], edx
lea eax, [edx + 4]
cmp eax, esi
jbe 0x1001ee4a
lea edx, [esi - 4]
mov dword [esp + 0x58], edx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
cmp eax, ecx
jae 0x1001ef2f
add ebx, eax
mov esi, eax
mov ecx, ebx
cmp eax, edx
jae 0x1001eec9
mov al, byte [ecx]
inc ecx
mov dword [esp + 0x64], ecx
cmp al, 0x83
jne 0x1001eec0
mov eax, dword [esp + 0x18]
cmp byte [eax + esi + 1], 0xec
jne 0x1001eec0
mov al, byte [eax + esi + 2]
cmp al, 0x14
jb 0x1001eec0
cmp al, 0x30
ja 0x1001eec0
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x24]
push eax
mov eax, dword [ebp + 0xc]
push 0x4b
push ecx
mov ecx, dword [ebp + 0x2c]
movzx eax, byte [eax]
push 0
push 0
push dword [ebp + 8]
push eax
push dword [esp + 0x30]
push esi
call fcn.100200c0
add esp, 0x24
test eax, eax
jne 0x1001f025
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x58]
inc esi
cmp esi, edx
jb 0x1001ee64
mov eax, dword [esp + 0x30]
mov esi, eax
cmp eax, edx
jae 0x1001ef2b
nop
mov al, byte [ebx]
lea ebx, [ebx + 1]
cmp al, 0x6a
jne 0x1001ef26
mov ecx, dword [esp + 0x18]
cmp byte [ecx + esi + 1], 0xfe
jne 0x1001ef26
cmp byte [ecx + esi + 2], 0xff
jne 0x1001ef26
cmp byte [ecx + esi + 3], 0xd1
jne 0x1001ef26
lea eax, [esp + 0x24]
mov edx, ecx
push eax
mov eax, dword [ebp + 0xc]
push 0x4b
push ecx
mov ecx, dword [ebp + 0x2c]
movzx eax, byte [eax]
push 0
push 0
push dword [ebp + 8]
push eax
push dword [esp + 0x30]
push esi
call fcn.100200c0
add esp, 0x24
test eax, eax
jne 0x1001f025
mov edx, dword [esp + 0x58]
inc esi
cmp esi, edx
jb 0x1001eed0
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x64], 0
lea esi, [edi - 0x450]
mov dword [esp + 0x28], 0
cmp edi, 0x450
ja 0x1001ef50
lea esi, [edi - 4]
cmp byte [esp + 0x36], 0
je 0x1001efdd
mov eax, dword [esp + 0x44]
add eax, 0xffff8b00
cmp eax, 0x200
ja 0x1001efdd
cmp esi, ecx
jae 0x1001efdd
cmp esi, dword [esp + 0x24]
jbe 0x1001efdd
mov edx, dword [esp + 0x18]
add edi, 0xfffffffc
lea ebx, [esi + edx]
cmp esi, edi
jae 0x1001efdd
mov al, byte [ebx]
lea ebx, [ebx + 1]
cmp al, 0x81
jne 0x1001efd8
mov al, byte [edx + esi + 1]
cmp al, 0xe8
jb 0x1001efd8
cmp al, 0xef
ja 0x1001efd8
lea eax, [esi + 0x80]
cmp eax, dword [esp + 0x14]
jae 0x1001efa6
mov ecx, eax
lea eax, [esp + 0x24]
push eax
mov eax, dword [ebp + 0xc]
push 0xc8
push ecx
push 0
movzx eax, byte [eax]
push 0
push dword [ebp + 8]
push eax
push ecx
mov ecx, dword [ebp + 0x2c]
push esi
call fcn.100200c0
add esp, 0x24
test eax, eax
jne 0x1001f02c
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
inc esi
cmp esi, edi
jb 0x1001ef83
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x18]
lea edx, [edi - 1]
lea ecx, [esi + ebx]
cmp esi, edx
jae 0x1001f009
lea eax, [ecx + 1]
sub ecx, esi
cmp byte [ecx + esi], 0
je 0x1001f003
cmp byte [eax], 0
jne 0x1001f009
inc esi
inc eax
cmp esi, edx
jb 0x1001eff8
sub esp, 0x1c
mov edx, ebx
push edi
push esi
call fcn.10021760
add esp, 0x24
test eax, eax
je 0x1001f05a
mov eax, dword [ebp + 0x20]
mov dword [eax], 6
mov edi, 1
jmp 0x1001f05c
mov edx, dword [esp + 0x7c]
lea eax, [esp + 0x28]
mov ecx, dword [ebp + 0x2c]
push eax
lea eax, [esp + 0x68]
push eax
call fcn.1001f110
add esp, 8
test al, al
je 0x1001f053
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x28]
inc eax
mov dword [ecx], eax
mov edi, 1
jmp 0x1001f05c
xor edi, edi
mov byte [esp + 0x128], 6
lea ecx, [esp + 0xa0]
mov eax, dword [esp + 0xa0]
push eax
push dword [eax]
lea eax, [esp + 0x84]
push eax
call fcn.10099f40
mov byte [esp + 0x128], 0
push dword [esp + 0xa0]
mov esi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
call esi
add esp, 4
mov dword [esp + 0x128], 0xa
lea ecx, [esp + 0x98]
mov eax, dword [esp + 0x98]
push eax
push dword [eax]
lea eax, [esp + 0x84]
push eax
call fcn.10099f40
mov dword [esp + 0x128], 0xffffffff
push dword [esp + 0x98]
call esi
add esp, 4
mov eax, edi
mov ecx, dword [esp + 0x120]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
mov ecx, dword [esp + 0x120]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret