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

Disassembly:
push 0xffffffffffffffff
push 0x407d83
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x8c
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x14], ecx
xor ebx, ebx
add ecx, 0x60
mov dword [esp + 0xa4], ebx
call fcn.00407040
xor ecx, ecx
cmp eax, ebx
mov dword [esp + 0x20], ecx
je 0x403ec1
mov ecx, dword [eax]
lea edx, [esp + 0x20]
push edx
push 0x4096f8
push eax
call dword [ecx]
mov ecx, dword [esp + 0x20]
cmp ecx, ebx
je 0x4047b9
mov dword [esp + 0x24], ebx
mov eax, dword [ecx]
lea edx, [esp + 0x24]
push edx
push ecx
mov byte [esp + 0xac], 2
call dword [eax + 0x20]
cmp dword [esp + 0x24], ebx
jne 0x403f0f
mov eax, dword [esp + 0x20]
mov byte [esp + 0xa4], bl
cmp eax, ebx
je 0x4047b9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0xa4], 0xffffffff
jmp 0x40466b
mov dword [esp + 0x2c], ebx
push 0x40b28c
lea ecx, [esp + 0x54]
mov byte [esp + 0xa8], 3
mov word [esp + 0x54], bx
call sub.MFC42.DLL_COleVariant::operator_1
mov esi, dword [esp + 0x50]
lea ecx, [esp + 0x2c]
push ecx
mov eax, dword [esp + 0x28]
sub esp, 0x10
mov byte [esp + 0xb8], 4
mov ecx, esp
mov edx, dword [eax]
push eax
mov dword [ecx], esi
mov esi, dword [esp + 0x6c]
mov dword [ecx + 4], esi
mov esi, dword [esp + 0x70]
mov dword [ecx + 8], esi
mov esi, dword [esp + 0x74]
mov dword [ecx + 0xc], esi
call dword [edx + 0x30]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [esp + 0x50]
push edx
mov byte [esp + 0xa8], 3
call edi
mov ecx, dword [esp + 0x2c]
xor eax, eax
cmp ecx, ebx
mov dword [esp + 0x1c], eax
je 0x403f9f
mov eax, dword [ecx]
lea edx, [esp + 0x1c]
push edx
push 0x4096e8
push ecx
call dword [eax]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
cmp eax, ebx
mov byte [esp + 0xa4], 5
jne 0x403fd6
cmp ecx, ebx
mov byte [esp + 0xa4], 2
je 0x403fbd
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esp + 0x24]
mov byte [esp + 0xa4], 1
cmp eax, ebx
je 0x4047a4
jmp 0x40479e
lea edx, [esp + 0x30]
mov dword [esp + 0x30], ebx
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x24]
push str.www.tao123.com
lea ecx, [esp + 0xb0]
call sub.MFC42.DLL_CString::Find
or ebp, 0xffffffff
cmp eax, ebp
je 0x4041eb
mov eax, dword [esp + 0x30]
push eax
push ebx
call fcn.00403df0
add esp, 8
mov dword [esp + 0x10], ebx
push 3
push eax
lea ecx, [esp + 0x68]
mov byte [esp + 0xac], 6
call sub.MFC42.DLL_COleVariant::COleVariant
lea ecx, [esp + 0x74]
mov byte [esp + 0xa4], 7
push ecx
call sub.MFC42.DLL_AfxVariantInit
mov esi, dword [esp + 0x74]
lea ecx, [esp + 0x10]
push ecx
mov eax, dword [esp + 0x20]
sub esp, 0x10
mov byte [esp + 0xb8], 8
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
mov dword [ecx], esi
mov esi, dword [esp + 0x9c]
mov dword [ecx + 4], esi
mov esi, dword [esp + 0xa0]
mov dword [ecx + 8], esi
mov esi, dword [esp + 0xa4]
mov dword [ecx + 0xc], esi
mov esi, dword [esp + 0x84]
mov ecx, esp
push eax
mov dword [ecx], esi
mov esi, dword [esp + 0x8c]
mov dword [ecx + 4], esi
mov esi, dword [esp + 0x90]
mov dword [ecx + 8], esi
mov esi, dword [esp + 0x94]
mov dword [ecx + 0xc], esi
call dword [edx + 0x2c]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], ebx
cmp eax, ebx
je 0x4040c4
mov edx, dword [eax]
lea ecx, [esp + 0x14]
push ecx
push 0x4096d8
push eax
call dword [edx]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov byte [esp + 0xa4], 9
cmp ecx, ebx
je 0x404151
xor ecx, ecx
cmp eax, ebx
mov dword [esp + 0x18], ecx
je 0x4040f1
mov edx, dword [eax]
lea ecx, [esp + 0x18]
push ecx
push 0x4096c8
push eax
call dword [edx]
mov ecx, dword [esp + 0x18]
cmp ecx, ebx
mov byte [esp + 0xa4], 0xa
je 0x40413f
push str._self
lea ecx, [esp + 0x44]
mov word [esp + 0x44], bx
call sub.MFC42.DLL_COleVariant::operator_1
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x48]
push ecx
push eax
mov edx, dword [eax]
mov byte [esp + 0xac], 0xb
call dword [edx + 0x24]
mov eax, dword [esp + 0x14]
push eax
mov edx, dword [eax]
call dword [edx + 0x114]
lea eax, [esp + 0x40]
push eax
call edi
mov ecx, dword [esp + 0x18]
cmp ecx, ebx
mov byte [esp + 0xa4], 9
je 0x404151
mov edx, dword [ecx]
push ecx
call dword [edx + 8]
mov eax, dword [esp + 0x14]
mov byte [esp + 0xa4], 8
cmp eax, ebx
je 0x404167
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea edx, [esp + 0x74]
push edx
call edi
lea eax, [esp + 0x60]
push eax
call edi
mov eax, dword [esp + 0x10]
mov byte [esp + 0xa4], 5
cmp eax, ebx
je 0x40418b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x1c]
mov byte [esp + 0xa4], 3
cmp eax, ebx
je 0x4041a1
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x2c]
mov byte [esp + 0xa4], 2
cmp eax, ebx
je 0x4041b7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x24]
mov byte [esp + 0xa4], 1
cmp eax, ebx
je 0x4041cd
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x20]
mov byte [esp + 0xa4], bl
cmp eax, ebx
je 0x404664
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x404664
push str.www.2345.com
lea ecx, [esp + 0xb0]
call sub.MFC42.DLL_CString::Find
cmp eax, ebp
je 0x4043b7
mov edx, dword [esp + 0x30]
push edx
push 1
call fcn.00403df0
add esp, 8
mov dword [esp + 0x28], ebx
push 3
push eax
lea ecx, [esp + 0x7c]
mov byte [esp + 0xac], 0xc
call sub.MFC42.DLL_COleVariant::COleVariant
lea eax, [esp + 0x60]
mov byte [esp + 0xa4], 0xd
push eax
call sub.MFC42.DLL_AfxVariantInit
mov esi, dword [esp + 0x60]
lea edx, [esp + 0x28]
push edx
mov eax, dword [esp + 0x20]
sub esp, 0x10
mov byte [esp + 0xb8], 0xe
mov edx, esp
sub esp, 0x10
mov ecx, dword [eax]
mov dword [edx], esi
mov esi, dword [esp + 0x88]
mov dword [edx + 4], esi
mov esi, dword [esp + 0x8c]
mov dword [edx + 8], esi
mov esi, dword [esp + 0x90]
mov dword [edx + 0xc], esi
mov esi, dword [esp + 0x98]
mov edx, esp
push eax
mov dword [edx], esi
mov esi, dword [esp + 0xa0]
mov dword [edx + 4], esi
mov esi, dword [esp + 0xa4]
mov dword [edx + 8], esi
mov esi, dword [esp + 0xa8]
mov dword [edx + 0xc], esi
call dword [ecx + 0x2c]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x14], ebx
cmp eax, ebx
je 0x4042c8
mov ecx, dword [eax]
lea edx, [esp + 0x14]
push edx
push 0x4096d8
push eax
call dword [ecx]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov byte [esp + 0xa4], 0xf
cmp ecx, ebx
je 0x404355
xor ecx, ecx
cmp eax, ebx
mov dword [esp + 0x10], ecx
je 0x4042f5
mov ecx, dword [eax]
lea edx, [esp + 0x10]
push edx
push 0x4096c8
push eax
call dword [ecx]
mov ecx, dword [esp + 0x10]
cmp ecx, ebx
mov byte [esp + 0xa4], 0x10
je 0x404343
push str._self
lea ecx, [esp + 0x44]
mov word [esp + 0x44], bx
call sub.MFC42.DLL_COleVariant::operator_1
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x48]
push edx
push eax
mov ecx, dword [eax]
mov byte [esp + 0xac], 0x11
call dword [ecx + 0x24]
mov eax, dword [esp + 0x14]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x114]
lea edx, [esp + 0x40]
push edx
call edi
mov ecx, dword [esp + 0x10]
cmp ecx, ebx
mov byte [esp + 0xa4], 0xf
je 0x404355
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esp + 0x14]
mov byte [esp + 0xa4], 0xe
cmp eax, ebx
je 0x40436b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea edx, [esp + 0x60]
push edx
call edi
lea eax, [esp + 0x74]
push eax
call edi
mov eax, dword [esp + 0x28]
mov byte [esp + 0xa4], 5
cmp eax, ebx
je 0x40438f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x1c]
mov byte [esp + 0xa4], 3
cmp eax, ebx
je 0x4043a5
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x2c]
mov byte [esp + 0xa4], 2
cmp eax, ebx
je 0x4043ea
jmp 0x4043e4
cmp dword [esp + 0x30], 5
jg 0x404403
mov eax, dword [esp + 0x1c]
mov byte [esp + 0xa4], 3
cmp eax, ebx
je 0x4043d4
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x2c]
mov byte [esp + 0xa4], 2
cmp eax, ebx
je 0x4043ea
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x24]
mov byte [esp + 0xa4], 1
cmp eax, ebx
je 0x4041cd
jmp 0x4041c7
call dword [sym.imp.MSVCRT.dll_rand]
mov edx, dword [esp + 0x30]
push 0x40b54c
mov dword [esp + 0x2c], ebx
lea ecx, [edx - 5]
cdq
idiv ecx
lea ecx, [esp + 0x74]
mov dword [esp + 0x14], edx
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x30]
xor esi, esi
cmp eax, ebx
jle 0x4045fc
mov dword [esp + 0x18], ebx
push 3
push esi
lea ecx, [esp + 0x48]
mov byte [esp + 0xac], 0x13
call sub.MFC42.DLL_COleVariant::COleVariant
lea edx, [esp + 0x50]
mov byte [esp + 0xa4], 0x14
push edx
call sub.MFC42.DLL_AfxVariantInit
mov ebp, dword [esp + 0x50]
lea edx, [esp + 0x18]
push edx
mov eax, dword [esp + 0x20]
sub esp, 0x10
mov byte [esp + 0xb8], 0x15
mov edx, esp
sub esp, 0x10
mov ecx, dword [eax]
mov dword [edx], ebp
mov ebp, dword [esp + 0x78]
mov dword [edx + 4], ebp
mov ebp, dword [esp + 0x7c]
mov dword [edx + 8], ebp
mov ebp, dword [esp + 0x80]
mov dword [edx + 0xc], ebp
mov ebp, dword [esp + 0x64]
mov edx, esp
push eax
mov dword [edx], ebp
mov ebp, dword [esp + 0x6c]
mov dword [edx + 4], ebp
mov ebp, dword [esp + 0x70]
mov dword [edx + 8], ebp
mov ebp, dword [esp + 0x74]
mov dword [edx + 0xc], ebp
call dword [ecx + 0x2c]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x38], ebx
cmp eax, ebx
je 0x4044da
mov ecx, dword [eax]
lea edx, [esp + 0x38]
push edx
push 0x4096d8
push eax
call dword [ecx]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x38]
mov byte [esp + 0xa4], 0x16
cmp ecx, ebx
je 0x4045b2
xor ecx, ecx
cmp eax, ebx
mov dword [esp + 0x34], ecx
je 0x40450b
mov ecx, dword [eax]
lea edx, [esp + 0x34]
push edx
push 0x4096c8
push eax
call dword [ecx]
mov ecx, dword [esp + 0x34]
cmp ecx, ebx
mov byte [esp + 0xa4], 0x17
je 0x4045a0
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
cmp eax, edx
jl 0x40459c
mov edx, dword [ecx]
lea eax, [esp + 0x84]
push eax
push ecx
call dword [edx + 0x20]
mov ecx, dword [esp + 0x84]
push ecx
lea ecx, [esp + 0x40]
call sub.MFC42.DLL_CString::CString_3
push ecx
lea edx, [esp + 0xb0]
mov ecx, esp
mov dword [esp + 0x8c], esp
push edx
mov byte [esp + 0xac], 0x18
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x40]
mov byte [esp + 0xa8], 0x18
call fcn.004047d0
push eax
call fcn.00401ac0
add esp, 8
cmp eax, ebx
jne 0x404692
lea ecx, [esp + 0x3c]
mov byte [esp + 0xa4], 0x17
call fcn.004071b2
mov ecx, dword [esp + 0x34]
inc dword [esp + 0x28]
cmp ecx, ebx
mov byte [esp + 0xa4], 0x16
je 0x4045b2
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esp + 0x38]
mov byte [esp + 0xa4], 0x15
cmp eax, ebx
je 0x4045c8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea edx, [esp + 0x50]
push edx
call edi
lea eax, [esp + 0x40]
push eax
call edi
mov eax, dword [esp + 0x18]
mov byte [esp + 0xa4], 0x12
cmp eax, ebx
je 0x4045ec
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x30]
inc esi
cmp esi, eax
jl 0x404437
or ebp, 0xffffffff
lea ecx, [esp + 0x70]
mov byte [esp + 0xa4], 5
call fcn.004071b2
mov eax, dword [esp + 0x1c]
mov byte [esp + 0xa4], 3
cmp eax, ebx
je 0x404623
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x2c]
mov byte [esp + 0xa4], 2
cmp eax, ebx
je 0x404639
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x24]
mov byte [esp + 0xa4], 1
cmp eax, ebx
je 0x40464f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x20]
mov byte [esp + 0xa4], bl
cmp eax, ebx
je 0x404664
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov dword [esp + 0xa4], ebp
lea ecx, [esp + 0xac]
call fcn.004071b2
mov ecx, dword [esp + 0x9c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x98
ret 4
push str._self
lea ecx, [esp + 0x90]
mov word [esp + 0x90], bx
call sub.MFC42.DLL_COleVariant::operator_1
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x94]
push ecx
push eax
mov edx, dword [eax]
mov byte [esp + 0xac], 0x1a
call dword [edx + 0x24]
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x3c]
push edx
lea ecx, [eax + 0xf4]
call fcn.004071ee
mov eax, dword [esp + 0x38]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x114]
lea edx, [esp + 0x8c]
push edx
call edi
lea ecx, [esp + 0x3c]
mov byte [esp + 0xa4], 0x17
call fcn.004071b2
mov eax, dword [esp + 0x34]
mov byte [esp + 0xa4], 0x16
cmp eax, ebx
je 0x404717
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x38]
mov byte [esp + 0xa4], 0x15
cmp eax, ebx
je 0x40472d
mov edx, dword [eax]
push eax
call dword [edx + 8]
lea eax, [esp + 0x50]
push eax
call edi
lea ecx, [esp + 0x40]
push ecx
call edi
mov eax, dword [esp + 0x18]
mov byte [esp + 0xa4], 0x12
cmp eax, ebx
je 0x404751
mov edx, dword [eax]
push eax
call dword [edx + 8]
lea ecx, [esp + 0x70]
mov byte [esp + 0xa4], 5
call fcn.004071b2
mov eax, dword [esp + 0x1c]
mov byte [esp + 0xa4], 3
cmp eax, ebx
je 0x404778
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x2c]
mov byte [esp + 0xa4], 2
cmp eax, ebx
je 0x40478e
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x24]
mov byte [esp + 0xa4], 1
cmp eax, ebx
je 0x4047a4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x20]
mov byte [esp + 0xa4], bl
cmp eax, ebx
je 0x4047b9
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov dword [esp + 0xa4], 0xffffffff
jmp 0x40466b