Function at 0x406f60
Capabilities:
Get http document via iwebbrowser2
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x40cbb8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x60
push ebx
push ebp
push esi
push edi
mov ebx, ecx
lea eax, [esp + 0x60]
xor esi, esi
push eax
mov dword [esp + 0x7c], esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov edx, dword [0x415218]
mov ecx, 0x415218
mov byte [esp + 0x78], 1
call dword [edx + 0xc]
lea edi, [eax + 0x10]
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x80]
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x7c], 2
mov dword [esp + 0x50], esi
call fcn.00406ec0
mov edx, dword [esp + 0x14]
mov eax, dword [edx - 4]
mov esi, dword [edx - 0xc]
mov ecx, 1
sub ecx, eax
mov eax, dword [edx - 8]
sub eax, esi
or eax, ecx
mov byte [esp + 0x78], 3
jge 0x406ff0
push esi
lea ecx, [esp + 0x18]
call fcn.00402a00
mov edx, dword [esp + 0x14]
push edx
call dword [sym.imp.MSVCR70.dll__wcsupr]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x90]
mov dword [ecx - 0xc], esi
mov edx, dword [esp + 0x18]
mov word [edx + esi*2], 0
mov esi, dword [esp + 0x18]
mov eax, dword [ebp]
add esp, 4
cmp esi, eax
je 0x407047
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
test esi, esi
je 0x407040
push esi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
test eax, eax
mov dword [ebp], eax
jne 0x407047
push 0x8007000e
call fcn.00401280
mov dword [ebp], 0
mov eax, dword [esp + 0x84]
xor esi, esi
cmp eax, esi
je 0x4075d9
mov edx, dword [eax]
lea ecx, [esp + 0x60]
push ecx
lea ecx, [esp + 0x50]
push ecx
push eax
call dword [edx + 0x44]
test eax, eax
jge 0x40707f
mov ebp, dword [esp + 0x80]
push esi
push ebp
push str.CHpodRenditionMgr::ImageFileHash___GetEditList___call_failed_for_file__s.
jmp 0x407821
mov eax, dword [esp + 0x60]
test ah, 0x20
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x40], 0
mov dword [esp + 0x1c], 0
je 0x407812
test al, 0xd
je 0x407812
mov ecx, dword [esp + 0x68]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00404390
mov ecx, dword [esp + 0x4c]
mov eax, 1
cmp ecx, eax
mov byte [esp + 0x78], 4
mov dword [esp + 0x48], eax
jl 0x4075b3
mov esi, dword [esp + 0x88]
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x50]
push edx
push 1
push eax
mov dword [esp + 0x5c], 0
call dword [sym.imp.OLEAUT32.dll_SafeArrayLock]
test eax, eax
jl 0x40763b
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x48]
sub ecx, edx
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0xc]
lea eax, [eax + ecx*4]
mov eax, dword [eax]
test eax, eax
je 0x407641
mov dword [esp + 0x8c], 0
mov ecx, dword [eax]
lea edx, [esp + 0x8c]
push edx
push 0x40e388
push eax
mov byte [esp + 0x84], 5
call dword [ecx]
test eax, eax
jl 0x40765b
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax]
lea edx, [esp + 0x58]
push edx
push eax
call dword [ecx + 0x1c]
test eax, eax
jl 0x4076d1
xor eax, eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x58]
add eax, 0xffffff9c
cmp eax, 0x66
mov byte [esp + 0x78], 0xb
ja case.0x4071a6.102
movzx eax, byte [eax + 0x4078b4]
jmp dword [eax*4 + 0x407898]
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax]
lea edx, [esp + 0x84]
push edx
push 0x40e398
push eax
call dword [ecx]
test eax, eax
jl 0x4076ee
mov eax, dword [esp + 0x84]
mov ecx, dword [eax]
lea edx, [esp + 0x3c]
push edx
push eax
call dword [ecx + 0x20]
mov eax, dword [esp + 0x84]
mov ecx, dword [eax]
lea edx, [esp + 0x38]
push edx
push eax
call dword [ecx + 0x28]
mov eax, dword [esp + 0x84]
mov ecx, dword [eax]
lea edx, [esp + 0x34]
push edx
push eax
call dword [ecx + 0x30]
mov eax, dword [esp + 0x84]
mov ecx, dword [eax]
lea edx, [esp + 0x30]
push edx
push eax
call dword [ecx + 0x38]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov eax, dword [esi]
push ecx
mov ecx, dword [esp + 0x3c]
push edx
mov edx, dword [esp + 0x44]
push ecx
push edx
push esi
call dword [eax + 0x1c]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x40]
push ecx
push edx
push eax
lea ecx, [esp + 0x20]
push str._c_i__i__i__i
push ecx
call fcn.004056e0
add esp, 0x18
jmp 0x407502
mov eax, dword [esp + 0x8c]
mov edx, dword [eax]
lea ecx, [esp + 0x20]
push ecx
push 0x40e3d8
push eax
call dword [edx]
test eax, eax
jl 0x4076ff
mov eax, dword [esp + 0x20]
mov edx, dword [eax]
lea ecx, [esp + 0x40]
push ecx
push eax
call dword [edx + 0x20]
mov eax, dword [esp + 0x20]
mov edx, dword [eax]
lea ecx, [esp + 0x5c]
push ecx
push eax
call dword [edx + 0x28]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x40]
mov edx, dword [esi]
push eax
push ecx
push esi
call dword [edx + 0x20]
fld dword [esp + 0x40]
call fcn.0040c320
cdq
mov ecx, 0x168
idiv ecx
cmp edx, 0x5a
jge 0x4072ca
xor eax, eax
push eax
push 0x41047c
jmp 0x4074f5
cmp edx, 0xb4
jge 0x4072e2
mov eax, 0x5a
push eax
push 0x41047c
jmp 0x4074f5
cmp edx, 0x10e
jge 0x4072fa
mov eax, 0xb4
push eax
push 0x41047c
jmp 0x4074f5
xor eax, eax
cmp edx, 0x168
setge al
dec eax
and eax, 0xffffffa6
add eax, 0x168
push eax
push 0x41047c
jmp 0x4074f5
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax]
lea edx, [esp + 0x88]
push edx
push 0x40e428
push eax
call dword [ecx]
test eax, eax
jl 0x407710
mov eax, dword [esp + 0x88]
mov ecx, dword [eax]
lea edx, [esp + 0x34]
push edx
push eax
call dword [ecx + 0x20]
mov eax, dword [esp + 0x88]
mov ecx, dword [eax]
lea edx, [esp + 0x30]
push edx
push eax
call dword [ecx + 0x28]
mov eax, dword [esp + 0x88]
mov ecx, dword [eax]
lea edx, [esp + 0x54]
push edx
push eax
call dword [ecx + 0x30]
push 0x410478
lea ecx, [esp + 0x48]
call fcn.00406ec0
cmp word [esp + 0x54], 0xffff
mov byte [esp + 0x78], 0xc
jne 0x407399
push 0x410474
lea ecx, [esp + 0x48]
call fcn.00405e70
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x30]
mov eax, dword [esi]
push ecx
mov ecx, dword [esp + 0x38]
push edx
push ecx
push esi
call dword [eax + 0x34]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
push edx
push eax
push ecx
lea edx, [esp + 0x1c]
push str._e_i__i__s
push edx
call fcn.004056e0
mov edi, dword [esp + 0x24]
add esp, 0x14
push edi
mov ecx, ebp
call fcn.00402480
lea ecx, [esp + 0x44]
call fcn.00402870
jmp case.0x4071a6.102
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax]
lea edx, [esp + 0x2c]
push edx
push 0x40e408
push eax
call dword [ecx]
test eax, eax
jl 0x407721
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax]
lea edx, [esp + 0x1c]
push edx
push eax
call dword [ecx + 0x20]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esi]
push ecx
push esi
call dword [eax + 0x2c]
fld dword [esp + 0x1c]
fadd dword [0x410458]
fst dword [esp + 0x1c]
fmul qword [0x410450]
call fcn.0040c320
push eax
push str._t_i
jmp 0x4074f5
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax]
lea edx, [esp + 0x28]
push edx
push 0x40e3f8
push eax
call dword [ecx]
test eax, eax
jl 0x407732
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
lea edx, [esp + 0x1c]
push edx
push eax
call dword [ecx + 0x20]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esi]
push ecx
push esi
call dword [eax + 0x28]
fld dword [esp + 0x1c]
fadd dword [0x410458]
fst dword [esp + 0x1c]
fmul qword [0x410450]
call fcn.0040c320
push eax
push str._b_i
jmp 0x4074f5
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax]
lea edx, [esp + 0x24]
push edx
push 0x40e418
push eax
call dword [ecx]
test eax, eax
jl 0x407743
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
lea edx, [esp + 0x1c]
push edx
push eax
call dword [ecx + 0x20]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esi]
push ecx
push esi
call dword [eax + 0x30]
fld dword [esp + 0x1c]
fadd dword [0x410458]
fst dword [esp + 0x1c]
fmul qword [0x410450]
call fcn.0040c320
push eax
push str._s_i
lea edx, [esp + 0x18]
push edx
call fcn.004056e0
add esp, 0xc
mov edi, dword [esp + 0x10]
mov ecx, ebp
push edi
call fcn.00402480
mov eax, dword [esp + 0x24]
test eax, eax
mov byte [esp + 0x78], 0xa
je 0x407521
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x28]
test eax, eax
mov byte [esp + 0x78], 9
je 0x407534
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x2c]
test eax, eax
mov byte [esp + 0x78], 8
je 0x407547
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x88]
test eax, eax
mov byte [esp + 0x78], 7
je 0x40755d
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x20]
test eax, eax
mov byte [esp + 0x78], 6
je 0x407570
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x84]
test eax, eax
mov byte [esp + 0x78], 5
je 0x407586
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x8c]
test eax, eax
mov byte [esp + 0x78], 4
je 0x40759c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
inc eax
cmp eax, ecx
mov dword [esp + 0x48], eax
jle 0x4070e3
xor esi, esi
mov eax, dword [esp + 0x18]
cmp eax, esi
je 0x4075d9
push eax
call dword [sym.imp.OLEAUT32.dll_SafeArrayAccessData]
cmp eax, esi
jl 0x4075d9
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetDim]
cmp eax, esi
jl 0x4075d9
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x78], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4075fc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea eax, [edi - 0x10]
mov byte [esp + 0x78], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40761b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea eax, [esp + 0x60]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [esp + 0x80]
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
xor eax, eax
jmp 0x407880
push eax
call fcn.00401280
mov ebp, dword [esp + 0x80]
push 0
push ebp
push str.CHpodRenditionMgr::ImageFileHash___No_interface_pointer_in_edit_list_for_file__s.
mov ecx, ebx
call fcn.00405a10
mov esi, eax
jmp 0x407689
mov ebp, dword [esp + 0x80]
push 0
push ebp
push str.CHpodRenditionMgr::ImageFileHash___Error_getting_base_interface_pointer_for__s.
mov ecx, ebx
call fcn.00405a10
mov esi, eax
mov eax, dword [esp + 0x8c]
test eax, eax
mov byte [esp + 0x78], 4
je 0x407689
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4076b3
push eax
call dword [sym.imp.OLEAUT32.dll_SafeArrayAccessData]
test eax, eax
jl 0x4076b3
mov edx, dword [esp + 0x18]
push edx
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetDim]
test eax, eax
jl 0x4076b3
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x78], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x407843
mov edi, dword [esp + 0x80]
push 0
push edi
push str.CHpodRenditionMgr::ImageFileHash___Error_getting_event_type_for_edit_list_for_file__s.
mov ecx, ebx
call fcn.00405a10
mov esi, eax
jmp 0x4077d3
mov edi, dword [esp + 0x80]
push 0
push edi
push str.CHpodRenditionMgr::ImageFileHash___Error_getting_crop_interface_pointer_for__s.
jmp 0x407752
mov edi, dword [esp + 0x80]
push 0
push edi
push str.CHpodRenditionMgr::ImageFileHash___Error_getting_rotate_interface_pointer_for__s.
jmp 0x407752
mov edi, dword [esp + 0x80]
push 0
push edi
push str.CHpodRenditionMgr::ImageFileHash___Error_getting_resize_interface_pointer_for__s.
jmp 0x407752
mov edi, dword [esp + 0x80]
push 0
push edi
push str.CHpodRenditionMgr::ImageFileHash___Error_getting_contrast_interface_pointer_for__s.
jmp 0x407752
mov edi, dword [esp + 0x80]
push 0
push edi
push str.CHpodRenditionMgr::ImageFileHash___Error_getting_brightness_interface_pointer_for__s.
jmp 0x407752
mov edi, dword [esp + 0x80]
push 0
push edi
push str.CHpodRenditionMgr::ImageFileHash___Error_getting_sharpness_interface_pointer_for__s.
mov ecx, ebx
call fcn.00405a10
mov esi, eax
mov eax, dword [esp + 0x24]
test eax, eax
mov byte [esp + 0x78], 0xa
je 0x40776e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x28]
test eax, eax
mov byte [esp + 0x78], 9
je 0x407781
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x2c]
test eax, eax
mov byte [esp + 0x78], 8
je 0x407794
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x88]
test eax, eax
mov byte [esp + 0x78], 7
je 0x4077aa
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x20]
test eax, eax
mov byte [esp + 0x78], 6
je 0x4077bd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x84]
test eax, eax
mov byte [esp + 0x78], 5
je 0x4077d3
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x8c]
test eax, eax
mov byte [esp + 0x78], 4
je 0x4077e9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [esp + 0x18]
call fcn.00403400
lea ecx, [esp + 0x14]
call fcn.00402870
lea ecx, [esp + 0x10]
call fcn.00402870
lea edx, [esp + 0x60]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push edi
jmp 0x407878
mov ebp, dword [esp + 0x80]
push 0
push ebp
push str.CHpodRenditionMgr::ImageFileHash___Wrong_type_of_array_of_edits_for_file__s.
mov ecx, ebx
call fcn.00405a10
mov esi, eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x78], 2
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40784d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea eax, [edi - 0x10]
mov byte [esp + 0x78], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40786c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea eax, [esp + 0x60]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push ebp
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, esi
mov ecx, dword [esp + 0x70]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x6c
ret 0x10