Function at 0x100066b4
Capabilities:
Access peb ldr_data
Get process heap flags
Resolve function by parsing pe exports

Disassembly:
push esi
push edi
push ebx
push ebp
sub esp, 0x40
mov ebx, dword [0x100d8406]
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov esi, dword [eax + 0xc]
add esi, 0xc
mov ebp, dword [esi]
jmp 0x100066ec
mov eax, dword [ebp + 0x30]
call fcn.10006e1c
cmp ebx, eax
jne 0x100066e9
mov eax, dword [ebp + 0x18]
mov dword [esp + 0xc], eax
jmp 0x100066f8
mov ebp, dword [ebp]
cmp ebp, esi
jne 0x100066d4
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
lea edx, [0x100d83fa]
mov ecx, dword [edx]
mov ebp, dword [edx - 8]
mov edx, dword [eax + 0x3c]
add edx, eax
mov dword [esp + 0x18], ebp
mov ebp, dword [0x100d842e]
mov edx, dword [edx + ecx*8 + 0x78]
lea ecx, [edx + eax + 0x20]
mov ebx, dword [ecx]
mov esi, dword [ecx - 4]
add ebx, eax
mov edi, dword [ecx + 4]
add esi, eax
add edi, eax
mov eax, dword [ecx - 8]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], eax
test eax, eax
jbe 0x100067b8
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
add ebx, dword [edx + ecx*4]
mov eax, ebx
call fcn.10006e04
mov dword [esp + 0x14], eax
xor edi, edi
test eax, eax
jbe 0x1000678a
xor esi, esi
movzx ecx, byte [esi + ebx]
xor edx, edx
test ebp, ebp
jbe 0x10006780
xor eax, eax
inc eax
add edx, edi
cmp eax, ebp
jb 0x10006779
inc esi
lea edi, [edx + ecx]
cmp esi, dword [esp + 0x14]
jb 0x1000676d
cmp edi, dword [esp + 0x18]
jne 0x100067a9
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
movzx ebx, word [eax + edx*2]
mov eax, dword [esp + 0xc]
add eax, dword [ecx + ebx*4]
jmp 0x100067ba
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x20]
jb 0x1000674b
xor eax, eax
mov edx, dword [0x100d8416]
push edx
push 0
call eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
lea edx, [0x100d83fa]
mov ecx, dword [edx]
mov ebp, dword [edx - 0xc]
mov edx, dword [eax + 0x3c]
add edx, eax
mov dword [esp + 0x1c], ebp
mov ebp, dword [0x100d842e]
mov edx, dword [edx + ecx*8 + 0x78]
lea ecx, [edx + eax + 0x20]
mov ebx, dword [ecx]
mov esi, dword [ecx - 4]
add ebx, eax
mov edi, dword [ecx + 4]
add esi, eax
add edi, eax
mov eax, dword [ecx - 8]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], eax
test eax, eax
jbe 0x10006889
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
add ebx, dword [edx + ecx*4]
mov eax, ebx
call fcn.10006e04
mov dword [esp + 0x18], eax
xor edi, edi
test eax, eax
jbe 0x1000685b
xor esi, esi
movzx ecx, byte [esi + ebx]
xor edx, edx
test ebp, ebp
jbe 0x10006851
xor eax, eax
inc eax
add edx, edi
cmp eax, ebp
jb 0x1000684a
inc esi
lea edi, [edx + ecx]
cmp esi, dword [esp + 0x18]
jb 0x1000683e
cmp edi, dword [esp + 0x1c]
jne 0x1000687a
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
movzx ebx, word [eax + edx*2]
mov eax, dword [esp + 0xc]
add eax, dword [ecx + ebx*4]
jmp 0x1000688b
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x24]
jb 0x1000681c
xor eax, eax
push 0x104
push dword [esp + 0x14]
push 0
call eax
mov edx, eax
mov ecx, dword [esp + 0x10]
mov eax, dword [str.odxbt]
mov ebp, dword [0x100d844a]
movzx ebx, word [ecx + edx*2 - 2]
cmp bx, bp
je 0x100068ce
mov ebx, dword [esp + 0x10]
xor ecx, ecx
mov word [ebx + edx*2], cx
dec edx
mov esi, dword [0x100d844a]
movzx ebp, word [ebx + edx*2 - 2]
cmp bp, si
jne 0x100068b3
cmp byte [eax], 0
je 0x100068ea
xor ecx, ecx
mov ebp, dword [esp + 0x10]
movsx ebx, byte [ecx + eax]
inc ecx
mov word [ebp + edx*2], bx
inc edx
cmp byte [ecx + eax], 0
jne 0x100068d5
mov eax, dword [esp + 0xc]
lea edx, [0x100d83fa]
mov ecx, dword [edx]
mov ebp, dword [edx + 0x4c]
mov edx, dword [eax + 0x3c]
add edx, eax
mov dword [esp + 0x1c], ebp
mov ebp, dword [0x100d842e]
mov edx, dword [edx + ecx*8 + 0x78]
lea ecx, [edx + eax + 0x20]
mov ebx, dword [ecx]
mov esi, dword [ecx - 4]
add ebx, eax
mov edi, dword [ecx + 4]
add esi, eax
add edi, eax
mov eax, dword [ecx - 8]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], eax
test eax, eax
jbe 0x100069aa
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
add ebx, dword [edx + ecx*4]
mov eax, ebx
call fcn.10006e04
mov dword [esp + 0x18], eax
xor edi, edi
test eax, eax
jbe 0x1000697c
xor esi, esi
movzx ecx, byte [esi + ebx]
xor edx, edx
test ebp, ebp
jbe 0x10006972
xor eax, eax
inc eax
add edx, edi
cmp eax, ebp
jb 0x1000696b
inc esi
lea edi, [edx + ecx]
cmp esi, dword [esp + 0x18]
jb 0x1000695f
cmp edi, dword [esp + 0x1c]
jne 0x1000699b
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
movzx ebx, word [eax + edx*2]
mov eax, dword [esp + 0xc]
add eax, dword [ecx + ebx*4]
jmp 0x100069ac
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x24]
jb 0x1000693d
xor eax, eax
mov edx, 0x100d83ee
xor ebp, ebp
push ebp
mov edi, dword [edx + 0x4c]
mov esi, dword [edx + 0x10]
mov ebx, dword [edx + 0x50]
mov ecx, dword [edx + 0x38]
push ecx
push ebx
push ebp
push esi
push edi
push dword [esp + 0x28]
call eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc]
lea edx, [0x100d83fa]
mov ecx, dword [edx]
mov ebp, dword [edx + 0x20]
mov edx, dword [eax + 0x3c]
add edx, eax
mov dword [esp + 0x20], ebp
mov ebp, dword [0x100d842e]
mov edx, dword [edx + ecx*8 + 0x78]
lea ecx, [edx + eax + 0x20]
mov ebx, dword [ecx]
mov esi, dword [ecx - 4]
add ebx, eax
mov edi, dword [ecx + 4]
add esi, eax
add edi, eax
mov eax, dword [ecx - 8]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], eax
test eax, eax
jbe 0x10006a8f
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
add ebx, dword [edx + ecx*4]
mov eax, ebx
call fcn.10006e04
mov dword [esp + 0x1c], eax
xor edi, edi
test eax, eax
jbe 0x10006a61
xor esi, esi
movzx ecx, byte [esi + ebx]
xor edx, edx
test ebp, ebp
jbe 0x10006a57
xor eax, eax
inc eax
add edx, edi
cmp eax, ebp
jb 0x10006a50
inc esi
lea edi, [edx + ecx]
cmp esi, dword [esp + 0x1c]
jb 0x10006a44
cmp edi, dword [esp + 0x20]
jne 0x10006a80
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
movzx ebx, word [eax + edx*2]
mov eax, dword [esp + 0xc]
add eax, dword [ecx + ebx*4]
jmp 0x10006a91
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x28]
jb 0x10006a22
xor eax, eax
push 0
push dword [esp + 0x1c]
call eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xc]
lea edx, [0x100d83fa]
mov ecx, dword [edx]
mov ebp, dword [edx + 0x38]
mov edx, dword [eax + 0x3c]
add edx, eax
mov dword [esp + 0x20], ebp
mov ebp, dword [0x100d842e]
mov edx, dword [edx + ecx*8 + 0x78]
lea ecx, [edx + eax + 0x20]
mov ebx, dword [ecx]
mov esi, dword [ecx - 4]
add ebx, eax
mov edi, dword [ecx + 4]
add esi, eax
add edi, eax
mov eax, dword [ecx - 8]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], eax
test eax, eax
jbe 0x10006b5d
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
add ebx, dword [edx + ecx*4]
mov eax, ebx
call fcn.10006e04
mov dword [esp + 0x1c], eax
xor edi, edi
test eax, eax
jbe 0x10006b2f
xor esi, esi
movzx ecx, byte [esi + ebx]
xor edx, edx
test ebp, ebp
jbe 0x10006b25
xor eax, eax
inc eax
add edx, edi
cmp eax, ebp
jb 0x10006b1e
inc esi
lea edi, [edx + ecx]
cmp esi, dword [esp + 0x1c]
jb 0x10006b12
cmp edi, dword [esp + 0x20]
jne 0x10006b4e
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
movzx ebx, word [eax + edx*2]
mov eax, dword [esp + 0xc]
add eax, dword [ecx + ebx*4]
jmp 0x10006b5f
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x28]
jb 0x10006af0
xor eax, eax
xor edx, edx
lea ecx, [esp + 0x24]
mov dword [ecx], edx
push edx
push ecx
push dword [esp + 0x3c]
push dword [esp + 0x1c]
push dword [esp + 0x28]
call eax
mov ecx, dword [esp + 0x10]
mov ebx, dword [0x100d8442]
mov eax, dword [esp + 0x24]
add eax, ecx
mov dword [esp + 0x20], eax
lea edx, [ecx + ebx]
mov eax, dword [edx]
lea ecx, [edx + 8]
mov ebp, dword [edx + 4]
mov dword [esp + 0x3c], edx
test eax, eax
jbe 0x10006baa
xor edx, edx
inc edx
add dword [ecx], ebp
add ecx, 4
cmp edx, eax
jb 0x10006ba0
mov eax, dword [esp + 0xc]
mov ecx, 0x100d83ee
mov ebx, dword [eax + 0x3c]
add ebx, eax
mov ebp, dword [ecx + 0x1c]
mov esi, dword [ecx + 0xc]
mov edx, dword [ecx + 0x30]
mov dword [esp + 0x38], ebp
mov ebx, dword [ebx + esi*8 + 0x78]
mov dword [esp + 0x18], edx
mov ebp, dword [ecx + 0x40]
lea esi, [ebx + eax + 0x20]
mov edi, dword [esi]
mov edx, dword [esi - 4]
add edi, eax
mov ecx, dword [esi + 4]
add edx, eax
add ecx, eax
mov eax, dword [esi - 8]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x28], eax
test eax, eax
jbe 0x10006c72
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
add ebx, dword [edx + ecx*4]
mov eax, ebx
call fcn.10006e04
mov dword [esp + 0x14], eax
xor edi, edi
test eax, eax
jbe 0x10006c40
xor esi, esi
movzx ecx, byte [esi + ebx]
xor edx, edx
test ebp, ebp
jbe 0x10006c36
xor eax, eax
inc eax
add edx, edi
cmp eax, ebp
jb 0x10006c2f
inc esi
lea edi, [edx + ecx]
cmp esi, dword [esp + 0x14]
jb 0x10006c23
cmp edi, dword [esp + 0x18]
jne 0x10006c63
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
mov ebp, dword [esp + 0xc]
movzx ebx, word [eax + edx*2]
add ebp, dword [ecx + ebx*4]
mov dword [esp + 0x14], ebp
jmp 0x10006c7a
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x28]
jb 0x10006c01
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0xc]
lea edx, [0x100d83fa]
mov ecx, dword [edx]
mov ebp, dword [edx + 0x54]
mov edx, dword [eax + 0x3c]
add edx, eax
mov dword [esp + 0x1c], ebp
mov ebp, dword [0x100d842e]
mov edx, dword [edx + ecx*8 + 0x78]
lea ecx, [edx + eax + 0x20]
mov ebx, dword [ecx]
mov esi, dword [ecx - 4]
add ebx, eax
mov edi, dword [ecx + 4]
add esi, eax
add edi, eax
mov eax, dword [ecx - 8]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], edi
mov dword [esp + 0x2c], eax
test eax, eax
jbe 0x10006d3e
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
add ebx, dword [edx + ecx*4]
mov eax, ebx
call fcn.10006e04
mov dword [esp + 0x18], eax
xor edi, edi
test eax, eax
jbe 0x10006d0c
xor esi, esi
movzx ecx, byte [esi + ebx]
xor edx, edx
test ebp, ebp
jbe 0x10006d02
xor eax, eax
inc eax
add edx, edi
cmp eax, ebp
jb 0x10006cfb
inc esi
lea edi, [edx + ecx]
cmp esi, dword [esp + 0x18]
jb 0x10006cef
cmp edi, dword [esp + 0x1c]
jne 0x10006d2f
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0xc]
movzx ebx, word [eax + edx*2]
add ebp, dword [ecx + ebx*4]
mov dword [esp + 0xc], ebp
jmp 0x10006d46
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x2c]
jb 0x10006ccd
mov dword [esp + 0xc], 0
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov edx, dword [0x100d83fe]
lea edi, [edi + eax + 0x1e]
add edx, edi
push edx
call dword [esp + 0x18]
mov esi, eax
movsx ebx, byte [edi]
add edi, ebx
mov ebp, dword [0x100d842a]
lea edx, [esp + 0x10]
add ebp, edi
mov ecx, dword [esi + 0x3c]
mov ebx, dword [edi + 4]
mov edi, dword [edi + 8]
add esi, dword [ecx + esi + 0x2c]
mov dword [edx], 0
push edx
mov eax, dword [0x100d8452]
push eax
push edi
push esi
call dword [esp + 0x1c]
mov eax, esi
mov edx, ebp
mov ecx, edi
call fcn.10006e70
lea eax, [esp + 0x10]
push eax
push dword [esp + 0x14]
push edi
push esi
call dword [esp + 0x1c]
mov edx, dword [0x100d8402]
xor eax, eax
cmp byte [edx], 0
je 0x10006dd8
mov edx, dword [0x100d8402]
movsx ecx, byte [edx + eax]
mov edx, dword [esp + 0x20]
mov word [edx + eax*2], cx
inc eax
mov ecx, dword [0x100d8402]
cmp byte [ecx + eax], 0
jne 0x10006db9
mov ecx, dword [esp + 0x20]
xor edx, edx
add ebx, esi
add ebp, edi
mov word [ecx + eax*2], dx
lea eax, [esp + 0x14]
mov dword [eax + 4], ecx
mov dword [eax], ebp
mov byte [eax + 8], 1
push eax
call ebx
pop eax
add esp, 0x40
pop ebp
pop ebx
pop edi
pop esi
ret