Function at 0x520920
Capabilities:
Initialize iwebbrowser2

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x30d0
call fcn.005cca70
mov eax, dword [0x654c54]
xor eax, ebp
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x30cc], ecx
mov ecx, dword [ebp - 0x30cc]
call fcn.004d52b0
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x30cc]
call fcn.005207c0
lea eax, [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x30cc]
add ecx, 0x528
call fcn.004bfc10
mov ecx, dword [ebp - 0x30cc]
add ecx, 0x528
mov dword [ebp - 0x3084], ecx
mov edx, dword [ebp - 0x3084]
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x3080], eax
mov dword [ebp - 0x3064], 0
mov ecx, dword [ebp - 0x3080]
mov dword [ebp - 0x3060], ecx
mov edx, 1
test edx, edx
je 0x5209c4
cmp dword [ebp - 0x3084], 0
jne 0x5209c4
call fcn.005cbe1d
mov eax, dword [ebp - 0x3084]
mov ecx, dword [eax]
mov dword [ebp - 0x3064], ecx
lea edx, [ebp - 0x3064]
push edx
lea ecx, [ebp - 0x10]
call fcn.0053d2f0
movzx eax, al
test eax, eax
je 0x520a33
lea ecx, [ebp - 0x10]
call fcn.004edbb0
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0x28]
test edx, edx
je 0x520a26
mov eax, dword [ebp - 0x14]
cmp dword [eax], 1
jne 0x520a26
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0x29]
test edx, edx
je 0x520a1d
cmp dword [ebp - 4], 0
jne 0x520a1d
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
lea ecx, [ebp - 0x10]
call fcn.00511bc0
jmp 0x520976
cmp dword [ebp - 4], 0
jne 0x520b7e
cmp dword [ebp - 8], 0
jle 0x520b7e
call fcn.00525d30
cdq
idiv dword [ebp - 8]
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x30cc]
add edx, 0x528
mov dword [ebp - 0x309c], edx
mov eax, dword [ebp - 0x309c]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x3094], ecx
mov edx, dword [ebp - 0x3094]
mov eax, dword [edx]
mov dword [ebp - 0x3098], eax
mov dword [ebp - 0x306c], 0
mov ecx, dword [ebp - 0x3098]
mov dword [ebp - 0x3068], ecx
mov edx, 1
test edx, edx
je 0x520aaf
cmp dword [ebp - 0x309c], 0
jne 0x520aaf
call fcn.005cbe1d
mov eax, dword [ebp - 0x309c]
mov ecx, dword [eax]
mov dword [ebp - 0x306c], ecx
mov edx, dword [ebp - 0x306c]
mov eax, dword [ebp - 0x3068]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x30cc]
add ecx, 0x528
mov dword [ebp - 0x30a4], ecx
mov edx, dword [ebp - 0x30a4]
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x30a0], eax
mov dword [ebp - 0x3074], 0
mov ecx, dword [ebp - 0x30a0]
mov dword [ebp - 0x3070], ecx
mov edx, 1
test edx, edx
je 0x520b1d
cmp dword [ebp - 0x30a4], 0
jne 0x520b1d
call fcn.005cbe1d
mov eax, dword [ebp - 0x30a4]
mov ecx, dword [eax]
mov dword [ebp - 0x3074], ecx
lea edx, [ebp - 0x3074]
push edx
lea ecx, [ebp - 0x10]
call fcn.0053d2f0
movzx eax, al
test eax, eax
je 0x520b7e
lea ecx, [ebp - 0x10]
call fcn.004edbb0
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x28]
test edx, edx
je 0x520b71
mov eax, dword [ebp - 4]
cmp dword [eax], 1
jne 0x520b71
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
sub edx, 1
mov dword [ebp - 0x18], edx
test ecx, ecx
jne 0x520b71
jmp 0x520b7e
lea ecx, [ebp - 0x10]
call fcn.00511bc0
jmp 0x520acf
cmp dword [ebp - 4], 0
je 0x520df1
mov eax, dword [0x6a1494]
movzx ecx, byte [eax + 0x581]
test ecx, ecx
jne 0x520df1
push 0
call dword [sym.imp.OLE32.DLL_CoInitialize]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jge 0x520bba
cmp dword [ebp - 0x1c], 0x80010106
jne 0x520dea
mov dword [ebp - 0x20], 0
lea edx, [ebp - 0x20]
push edx
push 0x633e10
push 0x15
push 0
push 0x633e20
call dword [sym.imp.OLE32.DLL_CoCreateInstance]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jl 0x520dde
mov dword [ebp - 0x1054], 0x82ca0000
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov dword [ebp - 0x28], eax
push 0
mov ecx, dword [ebp - 0x1054]
push ecx
lea edx, [ebp - 0x34]
push edx
call dword [sym.imp.USER32.dll_AdjustWindowRect]
mov dword [ebp - 0x305c], eax
push 0
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x20]
push edx
mov eax, dword [ecx + 0x110]
call eax
push 0
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [edx + 0xc4]
call ecx
push 0
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [eax + 0xac]
call edx
push 0
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x20]
push edx
mov eax, dword [ecx + 0xbc]
call eax
push 0
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [edx + 0x118]
call ecx
mov edx, dword [ebp - 0x2c]
sub edx, dword [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x20]
push edx
mov eax, dword [ecx + 0x68]
call eax
mov ecx, dword [ebp - 0x28]
sub ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [eax + 0x70]
call edx
push str.file:__
lea eax, [ebp - 0x1050]
push eax
call fcn.005d14a0
add esp, 8
push 0x1000
lea ecx, [ebp - 0x1050]
push ecx
call fcn.005cdf90
add esp, 4
lea edx, [ebp + eax - 0x1050]
push edx
call fcn.005d26a8
add esp, 8
push 0x6130e4
lea eax, [ebp - 0x1050]
push eax
call fcn.005d14b0
add esp, 8
mov ecx, dword [ebp - 4]
add ecx, 0xc
call fcn.0053cd60
mov dword [ebp - 0x30c8], eax
mov ecx, dword [ebp - 0x30c8]
cmp dword [ecx + 0x18], 0x10
jb 0x520d2c
mov edx, dword [ebp - 0x30c8]
mov eax, dword [edx + 4]
mov dword [ebp - 0x30d0], eax
jmp 0x520d3b
mov ecx, dword [ebp - 0x30c8]
add ecx, 4
mov dword [ebp - 0x30d0], ecx
mov edx, dword [ebp - 0x30d0]
push edx
lea eax, [ebp - 0x1050]
push eax
call fcn.005d14b0
add esp, 8
xor ecx, ecx
mov word [ebp - 0x48], cx
xor edx, edx
mov dword [ebp - 0x46], edx
mov dword [ebp - 0x42], edx
mov dword [ebp - 0x3e], edx
mov word [ebp - 0x3a], dx
push 0x1000
lea eax, [ebp - 0x1050]
push eax
lea ecx, [ebp - 0x3058]
push ecx
call fcn.005d23de
add esp, 0xc
lea edx, [ebp - 0x3058]
push edx
call dword [sym.imp.OLEAUT32.DLL_SysAllocString]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x48]
push ecx
lea edx, [ebp - 0x48]
push edx
lea eax, [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x38]
push ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [eax + 0x2c]
call edx
mov eax, dword [ebp - 0x38]
push eax
call dword [sym.imp.OLEAUT32.DLL_SysFreeString]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [edx + 0xa4]
call ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [eax + 8]
call edx
cmp dword [ebp - 0x1c], 0
jl 0x520dea
call dword [sym.imp.OLE32.DLL_CoUninitialize]
mov eax, dword [ebp - 4]
mov byte [eax + 0x29], 0
mov ecx, dword [ebp - 0x4c]
xor ecx, ebp
call fcn.005cbcb1
mov esp, ebp
pop ebp
ret