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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x101682c5
mov eax, dword fs:[0]
push eax
sub esp, 0xf8
push ebx
push esi
push edi
mov eax, dword [0x10438fc0]
xor eax, esp
push eax
lea eax, [esp + 0x108]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x1c], edi
mov esi, dword [ebp + 8]
xor ebx, ebx
push esi
mov dword [esp + 0x4c], ebx
call fcn.10035a30
add esp, 4
cmp eax, ebx
jge 0x1006ba42
push ebx
push eax
push 0x1044ebe0
call fcn.10025150
mov ecx, dword [esp + 0x108]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov dword [esp + 0x18], ebx
mov dword [esp + 0x110], ebx
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
lea ecx, [esp + 0x18]
push ecx
push esi
call edx
lea eax, [edi + 0x2c]
lea edx, [esp + 0x5c]
push edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x54], eax
mov eax, dword [eax]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x14]
call eax
cmp dword [esp + 0x5c], 0xffffffff
je 0x1006bab7
push ebx
push 0x80040654
push 0x1044ebe0
call fcn.10025150
mov esi, eax
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x1006ba9d
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, esi
mov ecx, dword [esp + 0x108]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esi]
mov eax, dword [ecx + 0x2c]
lea edx, [esp + 0x34]
push edx
push esi
call eax
mov ecx, dword [esi]
mov eax, dword [ecx + 0x14]
lea edx, [esp + 0x44]
push edx
push esi
call eax
cmp word [esp + 0x34], bx
jne 0x1006bafb
mov eax, dword [esp + 0x44]
cmp eax, 6
je 0x1006bb04
cmp eax, 0xb
je 0x1006baff
mov edx, dword [edi]
mov eax, dword [edx + 0x78]
mov ecx, edi
call eax
cmp eax, ebx
jle 0x1006bafb
push ebx
push 0x80040659
jmp 0x1006ba82
mov eax, dword [esp + 0x44]
cmp eax, 6
jne 0x1006bb14
cmp dword [edi + 0x30], ebx
jle 0x1006bb14
push ebx
push 0x80040709
jmp 0x1006ba82
cmp eax, 0xb
jne 0x1006bb2c
cmp dword [edi + 0xa8], ebx
jle 0x1006bb44
push ebx
push 0x80040705
jmp 0x1006ba82
cmp eax, 9
jne 0x1006bb44
cmp dword [edi + 0x9c], ebx
jle 0x1006bb44
push ebx
push 0x80040708
jmp 0x1006ba82
mov edx, dword [edi]
mov eax, dword [edx + 8]
push 1
mov ecx, edi
call eax
test eax, eax
jns 0x1006bb7f
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x1006bb62
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, 0x80004005
mov ecx, dword [esp + 0x108]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [edi + 0x134]
mov dword [esp + 0x24], eax
cmp word [esp + 0x34], bx
je 0x1006bba6
and eax, reloc.OLEAUT32.dll_VariantInit
jns 0x1006bb9c
dec eax
or eax, 0xfffffff8
inc eax
jne 0x1006bba6
mov bl, 1
mov byte [esp + 0x16], bl
jmp 0x1006bbaf
mov byte [esp + 0x16], 0
mov bl, byte [esp + 0x16]
mov eax, dword [esp + 0x44]
mov byte [esp + 0x17], 0
mov byte [esp + 0x15], 0
mov byte [esp + 0x33], 0
cmp eax, 7
jne 0x1006bbd2
cmp dword [edi + 0xd4], 1
je 0x1006bbe0
jmp 0x1006bbe5
cmp eax, 8
jne 0x1006bbe5
cmp dword [edi + 0xd8], 1
jne 0x1006bbe5
mov byte [esp + 0x33], 1
xor eax, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x60], eax
mov byte [esp + 0x110], 1
mov edx, dword [edi]
mov eax, dword [edx + 0x78]
mov ecx, edi
call eax
test eax, eax
je 0x1006c153
test bl, bl
jne 0x1006bc19
cmp dword [edi + 0xc8], 3
jl 0x1006bc19
xor al, al
jmp 0x1006bc1f
mov al, 1
mov byte [esp + 0x17], bl
cmp dword [esp + 0x44], 0xb
jne 0x1006bc3a
mov byte [esp + 0x17], 1
mov byte [esp + 0x15], 1
mov dword [esp + 0x4c], 0x10
jmp 0x1006bc42
test al, al
je 0x1006c153
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
cdq
and edx, 7
add eax, edx
sar eax, 3
and ecx, 7
cmp word [esp + 0x34], 0
mov byte [esp + 0x32], al
je 0x1006bc68
or al, 0xff
shl al, cl
jmp 0x1006bc6e
mov al, 1
shl al, cl
not al
cmp byte [esp + 0x17], 0
mov ecx, dword [edi + 0xb4]
mov edx, dword [ecx]
mov byte [esp + 0x23], al
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], 0
je 0x1006be36
lea eax, [esp + 0x38]
mov ecx, edx
call fcn.100a1ed0
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0x114], 2
call fcn.10017430
lea eax, [esp + 0x38]
mov byte [esp + 0x110], 4
call fcn.100164d0
lea eax, [esp + 0x3c]
push eax
lea esi, [esp + 0x2c]
call fcn.100177a0
mov ecx, esi
mov bl, 5
push ecx
mov eax, str._temp
mov byte [esp + 0x114], bl
call fcn.10016730
mov ecx, esi
lea esi, [esp + 0x3c]
call fcn.10017860
push 0x70
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [esp + 0x38], eax
mov byte [esp + 0x110], 6
test eax, eax
je 0x1006bd1b
mov edi, dword [esp + 0x3c]
push eax
call fcn.100a16c0
mov esi, eax
mov dword [esp + 0x40], esi
jmp 0x1006bd27
mov dword [esp + 0x40], 0
mov esi, dword [esp + 0x40]
mov byte [esp + 0x110], bl
mov ebx, esi
mov dword [esp + 0x24], esi
call fcn.100a3bb0
mov ebx, dword [esp + 0x2c]
mov eax, dword [ebx + 0x1c]
push eax
push 1
push esi
call fcn.100a1840
test al, al
jne 0x1006bd75
lea eax, [esp + 0x28]
call fcn.100164d0
lea eax, [esp + 0x3c]
call fcn.100164d0
push 0
call dword [sym.imp.MSVCR100.dll_free]
mov eax, dword [esp + 0x1c]
add esp, 4
test eax, eax
jmp 0x1006bb59
mov esi, ebx
call fcn.100a2a30
mov edx, dword [esp + 0x1c]
mov esi, dword [edx + 0xe8]
mov edi, eax
cmp edi, dword [esi + 4]
jle 0x1006bde1
push 0
call fcn.1002fee0
test al, al
jne 0x1006bde1
lea eax, [esp + 0x28]
call fcn.100164d0
lea eax, [esp + 0x3c]
call fcn.100164d0
push 0
call dword [sym.imp.MSVCR100.dll_free]
mov eax, dword [esp + 0x1c]
add esp, 4
test eax, eax
je 0x1006bdc4
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, 0x8007000e
mov ecx, dword [esp + 0x108]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xe8]
mov eax, dword [eax]
push edi
push eax
call fcn.100a2a60
test al, al
je 0x1006bd4d
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0xe8]
mov eax, dword [eax]
mov edx, dword [esp + 0x40]
push edi
push eax
push edx
call fcn.100a2ad0
test al, al
lea eax, [esp + 0x28]
je 0x1006bd51
call fcn.100164d0
lea eax, [esp + 0x3c]
mov byte [esp + 0x110], 1
call fcn.100164d0
push 0
lea eax, [esp + 0x68]
push eax
call fcn.10012150
mov edi, dword [esp + 0x1c]
mov byte [esp + 0x110], 7
mov edx, dword [edi]
mov edx, dword [edx + 0x94]
push 0
lea eax, [esp + 0x68]
push eax
mov ecx, edi
call edx
lea eax, [esp + 0x64]
mov ebx, edi
call fcn.1006f3b0
test eax, eax
jne 0x1006c070
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov edx, dword [eax]
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x64]
mov esi, dword [eax + 0x50]
mov dword [esp + 0x38], edi
mov dword [esp + 0x54], edx
cmp edi, dword [esi + 0x10]
jle 0x1006be9f
cmp edi, dword [esi + 0x38]
jg 0x1006bea3
test edi, edi
jg 0x1006bea7
xor edi, edi
jmp 0x1006becb
call fcn.100a45d0
mov esi, dword [esp + 0x2c]
push edx
push eax
mov eax, esi
call fcn.100a2f70
test al, al
jne 0x1006bec1
xor edi, edi
jmp 0x1006becb
mov eax, dword [esi + 0x60]
cdq
mov edi, eax
xor edi, edx
sub edi, edx
cmp byte [esp + 0x16], 0
mov edx, edi
mov dword [esp + 0x28], edi
je 0x1006bedf
lea edx, [edi + 1]
mov dword [esp + 0x28], edx
cmp byte [esp + 0x15], 0
mov ebx, dword [esp + 0x1c]
je 0x1006bf0f
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x44]
add edx, esi
push ebx
mov dword [esp + 0x2c], edx
call fcn.1006b980
test al, al
je 0x1006bf0f
mov ecx, esi
call fcn.100aa1e0
add edx, eax
mov dword [esp + 0x28], edx
mov esi, dword [ebx + 0xe8]
cmp edx, dword [esi + 4]
jle 0x1006bf2b
push 0
mov eax, edx
call fcn.1002fee0
test al, al
je 0x1006c0b7
mov ecx, dword [ebx + 0xe8]
mov ebx, dword [ebx + 0x138]
mov esi, dword [ecx]
test ebx, ebx
jle 0x1006bf4c
mov edx, dword [esp + 0x54]
push ebx
push edx
push esi
call sub.MSVCR100.dll_memcpy
add esp, 0xc
cmp word [esp + 0x34], 0
je 0x1006bf83
cmp byte [esp + 0x16], 0
jne 0x1006bf75
cmp byte [esp + 0x15], 0
movzx eax, byte [esp + 0x32]
mov cl, byte [esp + 0x23]
je 0x1006bf70
and byte [eax + esi], cl
jmp 0x1006bf83
or byte [eax + esi], cl
jmp 0x1006bf83
cmp byte [esp + 0x15], 0
sete dl
add dl, 0xfe
mov byte [ebx + esi], dl
cmp byte [esp + 0x16], 0
mov dword [esp + 0x40], ebx
je 0x1006bf95
lea eax, [ebx + 1]
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0x40]
sub edi, ebx
add ebx, dword [esp + 0x54]
push edi
add edx, esi
push ebx
push edx
call sub.MSVCR100.dll_memcpy
mov eax, dword [esp + 0x50]
add esp, 0xc
cmp eax, 0xb
jne 0x1006bfc4
add edi, dword [esp + 0x40]
add edi, esi
push edi
call dword [sym.imp.ole32.dll_CoCreateGuid]
jmp 0x1006bfff
cmp byte [esp + 0x15], 0
je 0x1006bfff
mov ecx, dword [esp + 0x40]
lea edx, [edi + ecx]
mov ecx, dword [esp + 0x1c]
push ecx
add edx, esi
call fcn.1006b980
test al, al
je 0x1006bfef
mov ecx, dword [esp + 0x4c]
mov eax, edx
call fcn.100aa200
mov edx, eax
mov eax, dword [esp + 0x4c]
push eax
push 0
push edx
call sub.MSVCR100.dll_memcpy
add esp, 0xc
cmp byte [esp + 0x17], 0
mov ecx, dword [esp + 0x28]
push ecx
push esi
jne 0x1006c036
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x34]
push edx
push eax
call fcn.100a33a0
test al, al
jne 0x1006c04b
lea ecx, [esp + 0x64]
push ecx
mov byte [esp + 0x114], 1
call fcn.10011f10
jmp 0x1006bd5f
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x2c]
call fcn.100a3590
test al, al
je 0x1006c0ce
mov edx, dword [esp + 0xfc]
mov ebx, dword [esp + 0x1c]
lea eax, [esp + 0x64]
mov dword [edx + 8], 0
call fcn.1006f3b0
test eax, eax
je 0x1006be74
mov edi, ebx
cmp byte [esp + 0x17], 0
je 0x1006c13a
mov ebx, dword [esp + 0x2c]
call fcn.100a3bb0
test al, al
je 0x1006c0e5
lea eax, [esp + 0x38]
mov ecx, ebx
call fcn.100a1ed0
mov byte [esp + 0x110], 8
mov eax, dword [eax]
mov ecx, dword [esp + 0x24]
push eax
mov dword [esp + 0x4c], 1
call fcn.100a3cd0
test al, al
je 0x1006c0e5
xor bl, bl
jmp 0x1006c0e7
lea eax, [esp + 0x64]
push eax
mov byte [esp + 0x114], 1
call fcn.10011f10
jmp 0x1006bdaa
lea edx, [esp + 0x64]
push edx
mov byte [esp + 0x114], 1
call fcn.10011f10
jmp 0x1006bd5f
mov bl, 1
mov dword [esp + 0x110], 7
test byte [esp + 0x48], 1
je 0x1006c102
lea eax, [esp + 0x38]
call fcn.100164d0
test bl, bl
je 0x1006c11d
lea eax, [esp + 0x64]
push eax
mov byte [esp + 0x114], 1
call fcn.10011f10
jmp 0x1006bd5f
mov ecx, dword [edi + 0xb4]
mov esi, dword [ecx]
test esi, esi
je 0x1006c12e
call fcn.10068e20
mov edx, dword [edi + 0xb4]
mov eax, dword [esp + 0x24]
mov dword [edx], eax
lea ecx, [esp + 0x64]
push ecx
mov byte [esp + 0x114], 1
call fcn.10011f10
mov esi, dword [ebp + 8]
mov edi, dword [esp + 0x1c]
cmp byte [esp + 0x33], 0
je 0x1006c297
mov dword [esp + 0x24], 0
mov ebx, dword [ebp + 8]
mov byte [esp + 0x110], 9
mov edi, dword [ebx]
lea esi, [esp + 0x24]
call fcn.1000aa40
mov edx, dword [edi + 0xc]
push eax
push ebx
call edx
push 0
push 0
push 0
lea esi, [esp + 0x38]
mov dword [esp + 0x38], 0
call fcn.100163a0
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x110], 0xa
mov ecx, dword [esp + 0x24]
push eax
mov ebx, esi
call fcn.10073580
push 0x70
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [esp + 0x48], eax
mov byte [esp + 0x110], 0xb
test eax, eax
je 0x1006c1d9
mov edi, dword [esp + 0x2c]
push eax
call fcn.100a16c0
jmp 0x1006c1db
xor eax, eax
mov ebx, dword [esp + 0x1c]
lea ecx, [esp + 0x48]
mov byte [esp + 0x110], 0xa
push ecx
lea esi, [ebx + 0xb0]
mov dword [esp + 0x4c], eax
call fcn.1009f830
mov eax, dword [ebx + 0xb4]
mov edx, dword [eax]
mov eax, dword [edx + 0x1c]
push eax
mov eax, dword [esp + 0x4c]
push 1
push eax
call fcn.100a1840
test al, al
jne 0x1006c250
lea eax, [esp + 0x2c]
call fcn.100164d0
mov eax, dword [esp + 0x24]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
test eax, eax
je 0x1006c231
push eax
call esi
push 0
call dword [sym.imp.MSVCR100.dll_free]
mov eax, dword [esp + 0x1c]
add esp, 4
test eax, eax
je 0x1006bb62
push eax
call esi
jmp 0x1006bb62
mov edi, dword [ebx + 0xb8]
lea esi, [ebx + 0xdc]
call fcn.100683d0
mov esi, dword [esp + 0x1c]
add esi, 0xe8
call fcn.100683d0
lea eax, [esp + 0x2c]
call fcn.100164d0
mov byte [esp + 0x110], 1
mov eax, dword [esp + 0x24]
test eax, eax
je 0x1006c290
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov edi, dword [esp + 0x1c]
mov esi, dword [ebp + 8]
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x38]
call fcn.1005cf40
mov byte [esp + 0x110], 0xc
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x24]
push esi
push eax
call edx
lea esi, [esp + 0x38]
mov ebx, eax
mov byte [esp + 0x110], 1
call fcn.1000a090
test ebx, ebx
jns 0x1006c302
push 0
call dword [sym.imp.MSVCR100.dll_free]
mov eax, dword [esp + 0x1c]
add esp, 4
test eax, eax
je 0x1006c2e8
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, ebx
mov ecx, dword [esp + 0x108]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, 3
cmp dword [edi + 0xc8], eax
jge 0x1006c315
mov dword [edi + 0xc8], eax
mov ebx, dword [esp + 0x1c]
push 1
call fcn.10071a80
mov esi, eax
test esi, esi
jns 0x1006c33c
push 0
call dword [sym.imp.MSVCR100.dll_free]
mov eax, dword [esp + 0x1c]
add esp, 4
test eax, eax
jmp 0x1006ba94
mov eax, ebx
call fcn.100731f0
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov ecx, dword [eax]
lea edx, [esp + 0x58]
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
mov ecx, dword [esp + 0x58]
dec ecx
cmp ecx, dword [ebx + 0x9c]
jne 0x1006c371
mov edx, dword [ebx]
mov eax, dword [edx + 0xd8]
push 0
mov ecx, ebx
call eax
mov esi, dword [ebx + 0x154]
test esi, esi
je 0x1006c380
call fcn.10086e40
push 0
call dword [sym.imp.MSVCR100.dll_free]
mov eax, dword [esp + 0x1c]
add esp, 4
test eax, eax
je 0x1006c39a
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
xor eax, eax
mov ecx, dword [esp + 0x108]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4