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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x428f02
mov eax, dword fs:[0]
push eax
sub esp, 0x90
mov eax, dword [0x4322d0]
xor eax, esp
mov dword [esp + 0x88], eax
push ebx
push esi
push edi
mov eax, dword [0x4322d0]
xor eax, esp
push eax
lea eax, [esp + 0xa0]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor ebx, ebx
mov edi, ecx
or esi, 0xffffffff
mov dword [esp + 0x50], edi
mov dword [esp + 0x80], eax
mov dword [eax], esi
mov dword [esp + 0x48], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0xa8], ebx
mov eax, dword [edi + 0x10]
mov ecx, dword [eax]
lea edx, [esp + 0x10]
push edx
push eax
mov eax, dword [ecx + 0x48]
call eax
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x40bd07
lea edx, [esp + 0x24]
push edx
mov dword [esp + 0x28], ebx
mov ecx, dword [eax]
push 0x42d180
push eax
mov eax, dword [ecx]
call eax
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x40bcf0
mov dword [esp + 0x20], ebx
lea edx, [esp + 0x20]
push edx
mov byte [esp + 0xac], 2
mov ecx, dword [eax]
push 1
push eax
mov eax, dword [ecx + 0x10]
call eax
cmp eax, ebx
jl 0x40bcc1
mov dword [esp + 0x18], ebx
lea edx, [esp + 0x4c]
push edx
mov byte [esp + 0xac], 3
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x1c]
push edx
mov dword [esp + 0x54], ebx
mov ecx, dword [eax]
push 1
push eax
mov eax, dword [ecx + 0xc]
call eax
test eax, eax
jne 0x40bca9
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
cmp eax, ebx
je 0x40b867
mov ecx, dword [eax]
lea edx, [esp + 0x1c]
push edx
push 0x42d190
push eax
mov eax, dword [ecx]
call eax
mov eax, dword [esp + 0x18]
mov byte [esp + 0xa8], 4
cmp eax, ebx
je 0x40b87f
mov dword [esp + 0x18], ebx
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp dword [esp + 0x1c], ebx
jne 0x40b892
mov byte [esp + 0xa8], 3
jmp 0x40bc86
mov dword [esp + 0x14], ebx
mov byte [esp + 0xa8], 5
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x40b8b2
mov dword [esp + 0x10], ebx
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
lea edx, [esp + 0x10]
push edx
push eax
mov eax, dword [ecx + 0x48]
call eax
mov ecx, dword [esp + 0x10]
cmp ecx, ebx
je 0x40b8f6
mov eax, dword [esp + 0x14]
cmp eax, ecx
je 0x40b8fa
mov esi, eax
lea eax, [esp + 0x14]
push eax
mov dword [esp + 0x18], ebx
mov edx, dword [ecx]
push str._D_3
push ecx
mov ecx, dword [edx]
call ecx
cmp esi, ebx
je 0x40b8f6
mov edx, dword [esi]
mov eax, dword [edx + 8]
push esi
call eax
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x40bc6e
lea edx, [esp + 0x28]
mov dword [esp + 0x28], ebx
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x20]
call eax
cmp eax, ebx
jl 0x40bd2f
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
lea edx, [esp + 0x94]
push edx
push eax
mov eax, dword [ecx + 0x24]
call eax
cmp eax, ebx
jl 0x40bc43
lea ecx, [esp + 0x68]
push ecx
call fcn.004037a0
mov byte [esp + 0xa8], 6
xor esi, esi
mov dword [esp + 0x34], esi
cmp dword [edi + 0xc], ebx
jne 0x40bad0
cmp esi, dword [esp + 0x94]
jge 0x40bad0
lea edx, [esp + 0x54]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov byte [esp + 0xa8], 7
mov edi, dword [esp + 0x58]
mov edx, dword [esp + 0x28]
mov eax, 3
mov word [esp + 0x54], ax
lea eax, [esp + 0x40]
push eax
mov ecx, esi
mov esi, dword [esp + 0x58]
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], edi
mov edi, dword [esp + 0x74]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edi
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x64], ebx
mov ebx, dword [edx]
mov dword [eax + 4], esi
mov dword [eax + 8], ecx
mov ecx, dword [ebx + 0x2c]
push edx
mov dword [eax + 0xc], edi
call ecx
xor ebx, ebx
cmp eax, ebx
jl 0x40bdb6
mov eax, dword [esp + 0x40]
cmp eax, ebx
je 0x40bdb6
lea ecx, [esp + 0x30]
push ecx
mov dword [esp + 0x34], ebx
mov edx, dword [eax]
mov edx, dword [edx]
push 0x42a39c
push eax
call edx
mov esi, eax
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp esi, ebx
jl 0x40baa7
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x2c]
push edx
mov dword [esp + 0x30], ebx
mov ecx, dword [eax]
push 0x42a3ac
push eax
mov eax, dword [ecx]
call eax
cmp eax, ebx
jl 0x40ba9b
mov dword [esp + 0x38], ebx
mov byte [esp + 0xa8], 8
mov ecx, dword [esp + 0x2c]
mov edi, dword [ecx]
lea esi, [esp + 0x38]
add edi, 0x20
call fcn.00402db0
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [edi]
push edx
call eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x38]
cmp eax, ebx
je 0x40ba8a
mov eax, dword [eax]
cmp eax, ebx
je 0x40ba8a
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
cmp eax, ebx
je 0x40ba8a
lea ebx, [esp + 0x34]
lea edi, [esp + 0x68]
call fcn.00403830
xor ebx, ebx
lea edi, [esp + 0x38]
mov byte [esp + 0xa8], 7
call fcn.00402d60
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x54]
push eax
mov byte [esp + 0xac], 6
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x50]
inc esi
mov dword [esp + 0x34], esi
cmp dword [ecx + 0xc], ebx
je 0x40b958
mov esi, dword [esp + 0x78]
sub esi, dword [esp + 0x74]
sar esi, 2
cmp esi, ebx
je 0x40bbfe
push ebx
call fcn.00413625
add esp, 4
push eax
call fcn.00413676
add esp, 4
call fcn.00413688
cdq
idiv esi
lea eax, [esp + 0x84]
push eax
mov dword [esp + 0x4c], 1
mov esi, edx
mov edx, dword [esp + 0x84]
mov dword [edx], esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov byte [esp + 0xa8], 9
mov edx, dword [esp + 0x78]
sub edx, dword [esp + 0x74]
mov ecx, 3
sar edx, 2
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x44], ebx
mov word [esp + 0x84], cx
cmp esi, edx
jb 0x40bb4f
call fcn.0041360a
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + esi*4]
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0x88]
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x3c]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], edi
mov edi, dword [esp + 0xa4]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edi
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov esi, dword [esp + 0xac]
mov dword [esp + 0xb0], ecx
mov ebx, dword [edx]
mov dword [eax + 4], esi
mov dword [eax + 8], ecx
mov ecx, dword [ebx + 0x2c]
push edx
mov dword [eax + 0xc], edi
call ecx
mov eax, dword [esp + 0x3c]
mov edx, dword [eax]
mov edx, dword [edx]
lea ecx, [esp + 0x44]
push ecx
push 0x42a39c
push eax
call edx
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x44]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x114]
push eax
call edx
mov eax, dword [esp + 0x44]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x84]
push eax
mov byte [esp + 0xac], 6
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
xor ebx, ebx
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0xa8], 5
mov eax, dword [esp + 0x74]
cmp eax, ebx
je 0x40bc23
push eax
call fcn.00412ddf
add esp, 4
mov eax, dword [esp + 0x68]
push eax
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
call fcn.00412ddf
mov edi, dword [esp + 0x54]
add esp, 4
mov ecx, dword [esp + 0x14]
call fcn.00410ca0
mov byte [esp + 0xa8], 4
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x48], ebx
jne 0x40bddb
cmp eax, ebx
je 0x40bc6e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0xa8], 3
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x40bc86
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
lea edx, [esp + 0x4c]
push edx
lea edx, [esp + 0x1c]
push edx
push 1
push eax
mov eax, dword [ecx + 0xc]
call eax
test eax, eax
je 0x40b846
or esi, 0xffffffff
mov byte [esp + 0xa8], 2
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x40bcc1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0xa8], 1
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x40bcd9
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0xa8], bl
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x40bcf0
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0xa8], esi
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x40bd07
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor eax, eax
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x88]
xor ecx, esp
call fcn.00412dd0
mov esp, ebp
pop ebp
ret 4
mov byte [esp + 0xa8], 4
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x40bd47
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0xa8], 3
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x40bd5f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0xa8], 2
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x40bd77
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0xa8], 1
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x40bd8f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0xa8], bl
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x40bda6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0xa8], 0xffffffff
jmp 0x40bcf7
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x54]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea esi, [esp + 0x68]
call fcn.00403800
jmp 0x40bd2f
cmp eax, ebx
je 0x40bde7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0xa8], 3
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x40bdff
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0xa8], 2
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x40be17
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0xa8], 1
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x40be2f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0xa8], bl
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x40be46
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0xa8], 0xffffffff
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x40be61
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, 1
jmp 0x40bd09