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

Disassembly:
mov eax, dword [esp + 0x10]
sub esp, 0x54c
test eax, eax
push ebx
push ebp
push esi
push edi
je 0x406592
mov ebx, dword [esp + 0x560]
test ebx, ebx
je 0x406592
mov ebp, dword [ebx + 0x12c]
test ebp, ebp
je 0x406592
mov esi, dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [esp + 0x30]
push eax
call esi
xor ecx, ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], ecx
xor eax, eax
mov ecx, 8
lea edi, [esp + 0x50]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x54]
push ecx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x4c]
push ecx
push 3
push 0x800
push 0x5f10a0
xor edi, edi
push 0xfffffffffffffffc
mov dword [esp + 0x4c], edi
mov edx, dword [ebp]
push ebp
call dword [edx + 0x18]
test eax, eax
jl 0x406592
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x10]
push ecx
push 0x5f1060
mov dword [esp + 0x18], edi
mov edx, dword [eax]
push eax
call dword [edx]
test eax, eax
jl 0x406587
mov eax, dword [esp + 0x10]
cmp eax, edi
je 0x40656c
mov edx, dword [eax]
push eax
call dword [edx + 0x14]
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x18], edi
call esi
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x18]
push edx
lea edx, [esp + 0x20]
push edx
push 1
mov dword [esp + 0x24], edi
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
test eax, eax
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
jl 0x406542
lea ebx, [ebx]
cmp word [esp + 0x1c], di
je 0x406542
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x568]
inc edx
cmp eax, edi
mov dword [esp + 0x14], edx
jbe 0x406325
mov ecx, edx
cmp ecx, eax
je 0x40635a
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [esp + 0x1c]
push ecx
call esi
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x20]
push ecx
push 1
mov dword [esp + 0x24], edi
mov edx, dword [eax]
push eax
call dword [edx + 0xc]
test eax, eax
jge 0x406300
jmp 0x406542
cmp dword [esp + 0x564], edi
je 0x406537
lea edx, [esp + 0x174]
push 0x3e7
push edx
call fcn.00423a00
mov eax, dword [esp + 0x24]
add esp, 8
cmp ax, 9
jne 0x40650b
lea ebx, [ebx]
inc edi
push edi
push ebx
lea eax, [esp + 0x78]
push 0x5e6c28
push eax
call ebp
mov esi, dword [0x60bff0]
add esp, 0x10
test esi, esi
je 0x4063c6
lea ecx, [esp + 0x70]
push ecx
push esi
call fcn.005e31f5
add esp, 8
test eax, eax
je 0x406390
mov esi, dword [esi + 0x258]
jmp 0x4063a8
call fcn.00403f00
mov esi, eax
test esi, esi
jne 0x4063fc
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [esp + 0x1c]
push edx
call esi
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea edx, [esp + 0x30]
push edx
call esi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54c
ret
mov edx, esi
lea ecx, [esp + 0x70]
lea eax, [esp + 0x70]
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x406408
mov edx, dword [esp + 0x24]
mov dword [esi + 0x12c], edx
mov eax, dword [ebx + 0x1dc]
mov dword [esi + 0x1dc], eax
mov ecx, dword [ebx + 0x1d8]
push esi
mov dword [esi + 0x1d8], ecx
call fcn.004041a0
mov eax, dword [esi + 0x12c]
mov edx, dword [eax]
add esp, 4
push eax
call dword [edx + 4]
lea eax, [esp + 0x174]
push 0x3e7
push eax
call fcn.00423a00
mov ecx, dword [esp + 0x56c]
push ecx
push esi
lea edx, [esp + 0x184]
push str._com__s__s_3_
push edx
call ebp
mov eax, dword [esi + 0x1dc]
mov ecx, dword [esp + 0x590]
mov edx, dword [esp + 0x58c]
push eax
mov eax, dword [eax]
push 0
push ecx
mov ecx, dword [esp + 0x594]
inc edx
push edx
push ecx
push 0
push 0
lea edx, [esp + 0x1a8]
push edx
push eax
call fcn.004b1870
add esp, 0x3c
test eax, eax
je 0x4064fa
lea ecx, [esp + 0x174]
push 0x5e68c4
push ecx
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4064fa
mov edx, dword [esp + 0x56c]
push edx
add esi, 0x1a0
mov ecx, dword [esi]
mov edx, dword [esi + 4]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esi + 8]
mov dword [eax + 4], edx
mov edx, dword [esi + 0xc]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
call fcn.00403b00
add esp, 0x14
lea eax, [esp + 0x70]
push eax
call fcn.00404160
add esp, 4
xor edi, edi
jmp 0x406537
mov ecx, dword [esp + 0x56c]
push ecx
mov ecx, dword [esp + 0x28]
sub esp, 0x10
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x34]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [edx + 8], ecx
mov dword [edx + 0xc], eax
call fcn.00403b00
add esp, 0x14
lea ecx, [esp + 0x1c]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp dword [esp + 0x568], edi
jne 0x406562
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x56c]
push edx
push 0x5e6a40
push eax
call ebp
add esp, 0xc
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea edx, [esp + 0x30]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54c
ret
lea eax, [esp + 0x30]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x54c
ret