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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x46a696
mov eax, dword fs:[0]
push eax
sub esp, 0x88
mov eax, dword [0x4832f0]
xor eax, esp
mov dword [esp + 0x80], eax
push ebx
push esi
push edi
mov eax, dword [0x4832f0]
xor eax, esp
push eax
lea eax, [esp + 0x98]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
mov edi, ecx
mov eax, dword [edi]
mov edx, dword [eax + 8]
xor esi, esi
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], esi
call edx
test eax, eax
je 0x43bcc0
cmp ebx, esi
je 0x43bcc0
cmp dword [edi + 0x60], esi
jne 0x43b8e6
mov edx, dword [ebx + 8]
lea eax, [ebx + 0x241c]
lea ecx, [ebx + 0xc]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x30], ecx
push eax
lea ecx, [esp + 0x40]
push ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x40], edx
call fcn.0043fe40
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x30]
push eax
lea ecx, [edi + 0x40]
push ecx
mov dword [esp + 0xac], esi
call fcn.0043f600
lea esi, [esp + 0x38]
mov dword [esp + 0xa0], 0xffffffff
call fcn.0043bdb0
cmp dword [edi + 0x64], 0
jne 0x43b88c
push str.safemonhlp.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x43b873
mov eax, 1
jmp 0x43bcc2
push str.qhadproc
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [edi + 0x64], eax
test eax, eax
jne 0x43b88c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, dword [edi + 0x64]
test edi, edi
je 0x43b8e6
push 0x30
lea edx, [esp + 0x3c]
push 0
push edx
call fcn.0044e9d0
mov ecx, dword [ebx + 4]
lea eax, [ebx + 0x41c]
mov dword [esp + 0x5c], eax
lea eax, [ebx + 0x241c]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x54], ecx
add esp, 0xc
mov dword [esp + 0x3c], eax
lea ecx, [esp + 0x38]
lea edx, [ebx + 0x214]
lea eax, [ebx + 0xc]
push ecx
mov dword [esp + 0x3c], 1
mov dword [esp + 0x50], edx
mov dword [esp + 0x44], eax
call edi
call fcn.00402300
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x43b9e2
call fcn.00402300
mov ecx, dword [eax + 0x14]
sub ecx, dword [eax + 0x10]
add eax, 4
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x43b9e2
xor edi, edi
call fcn.00402300
mov ecx, dword [eax + 0x14]
sub ecx, dword [eax + 0x10]
add eax, 4
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
je 0x43b9e2
mov dword [esp + 0x14], edi
lea ebx, [ebx]
call fcn.00402300
mov esi, eax
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
add esi, 4
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x43b97c
call fcn.0044be90
mov esi, dword [esi + 0xc]
add esi, dword [esp + 0x14]
cmp dword [esi + 0x18], 8
jb 0x43b98e
mov esi, dword [esi + 4]
jmp 0x43b991
add esi, 4
push esi
lea eax, [ebx + 0xc]
push eax
call dword [sym.imp.SHLWAPI.dll_PathMatchSpecW]
test eax, eax
je 0x43b9b3
mov ecx, dword [ebx + 8]
push ecx
call fcn.0043f700
mov esi, eax
call fcn.00441770
add esp, 4
add dword [esp + 0x14], 0x1c
inc edi
call fcn.00402300
mov ecx, dword [eax + 0x14]
sub ecx, dword [eax + 0x10]
add eax, 4
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x43b950
push str.360tray.exe
add ebx, 0xc
push ebx
call dword [sym.imp.SHLWAPI.dll_PathMatchSpecW]
test eax, eax
je 0x43ba6b
push 0x4dfa00
mov edi, ebx
call fcn.00403570
test eax, eax
je 0x43ba6b
mov ecx, dword [esp + 0x20]
mov esi, 1
mov dword [ecx + 0x60], esi
call fcn.004217e0
push 0
push 0x474c98
mov ecx, str.SYSTEMCurrentControlSetServices360bpsvc
call fcn.0040a380
add esp, 8
push esi
sub esp, 0x1c
mov edx, str.trayExistUninstallBroProt
mov eax, esp
mov dword [esp + 0x40], esp
call fcn.00401860
sub esp, 0x1c
mov edx, str.trayExistUninstallBroProt
mov eax, esp
mov dword [esp + 0xdc], esi
mov dword [esp + 0x50], esp
call fcn.00401860
mov dword [esp + 0xdc], 0xffffffff
call fcn.00404e50
add esp, 0x3c
mov edx, dword [0x4de0a8]
cmp dword [edx + 0x34], 0
mov ecx, dword [0x4dfea0]
mov esi, dword [0x4dfe9c]
je 0x43bb1e
mov edi, ecx
sub edi, esi
mov eax, 0x81c635bd
imul edi
add edx, edi
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
xor ebx, ebx
add eax, edx
je 0x43bb1e
mov dword [esp + 0x14], ebx
cmp ebx, eax
jb 0x43babb
call fcn.0044be90
mov ecx, dword [0x4dfea0]
mov esi, dword [0x4dfe9c]
mov edi, dword [esp + 0x14]
cmp dword [edi + esi + 4], 0
mov eax, 0x81c635bd
jne 0x43bce8
sub ecx, esi
imul ecx
add edx, ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x43baee
call fcn.0044be90
mov esi, dword [0x4dfe9c]
mov ecx, dword [esp + 0x18]
push ecx
lea edx, [edi + esi]
lea ecx, [esp + 0x20]
call fcn.0043ccb0
mov ecx, dword [0x4dfea0]
mov esi, dword [0x4dfe9c]
add esp, 4
test eax, eax
je 0x43bd6a
mov dword [esp + 0x28], 1
mov edx, dword [0x4de0a8]
cmp dword [edx + 0x3c], 0
je 0x43bcc0
mov edi, ecx
sub edi, esi
mov eax, 0x81c635bd
imul edi
add edx, edi
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
xor ebx, ebx
add eax, edx
je 0x43bcc0
mov dword [esp + 0x14], ebx
cmp ebx, eax
jb 0x43bb66
call fcn.0044be90
mov ecx, dword [0x4dfea0]
mov esi, dword [0x4dfe9c]
mov eax, dword [esp + 0x14]
cmp dword [eax + esi + 4], 3
jne 0x43bc98
cmp dword [esp + 0x28], 0
jne 0x43bc98
cmp dword [esp + 0x24], 0
jne 0x43bc98
mov edi, 7
xor edx, edx
mov dword [esp + 0x8c], edi
mov dword [esp + 0x88], 0
mov word [esp + 0x78], dx
sub ecx, esi
mov eax, 0x81c635bd
imul ecx
add edx, ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0xa0], 2
cmp ebx, eax
jb 0x43bbd8
call fcn.0044be90
mov esi, dword [0x4dfe9c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x74]
add esi, ecx
push edx
push eax
mov ecx, esi
call fcn.00437360
add esp, 8
test eax, eax
je 0x43bc6a
cmp dword [esp + 0x8c], 8
mov eax, dword [esp + 0x78]
jae 0x43bc08
lea eax, [esp + 0x78]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x40], esp
push edi
xor ecx, ecx
mov dword [esi + 0x18], edi
mov dword [esi + 0x14], 0
push str.procact
mov word [esi + 4], cx
call fcn.004018a0
sub esp, 0x1c
mov byte [esp + 0xdc], 3
mov esi, esp
mov dword [esp + 0x58], esp
push 3
xor edx, edx
mov dword [esi + 0x18], edi
mov dword [esi + 0x14], 0
push 0x477fa8
mov word [esi + 4], dx
call fcn.004018a0
mov byte [esp + 0xdc], 2
call fcn.0043fcc0
add esp, 0x3c
mov dword [esp + 0xa0], 0xffffffff
cmp dword [esp + 0x8c], 8
jb 0x43bc8c
mov eax, dword [esp + 0x78]
push eax
call fcn.0044b6e3
add esp, 4
mov esi, dword [0x4dfe9c]
mov ecx, dword [0x4dfea0]
add dword [esp + 0x14], 0x7e4
mov edi, ecx
sub edi, esi
mov eax, 0x81c635bd
imul edi
add edx, edi
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
inc ebx
add eax, edx
cmp ebx, eax
jb 0x43bb66
xor eax, eax
mov ecx, dword [esp + 0x98]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x80]
xor ecx, esp
call fcn.0044b6ee
mov esp, ebp
pop ebp
ret 4
mov edi, ecx
sub edi, esi
imul edi
add edx, edi
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x43bd0f
call fcn.0044be90
mov ecx, dword [0x4dfea0]
mov esi, dword [0x4dfe9c]
mov edi, dword [esp + 0x14]
cmp dword [edi + esi + 4], 5
jne 0x43bd6a
sub ecx, esi
mov eax, 0x81c635bd
imul ecx
add edx, ecx
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ebx, ecx
jb 0x43bd3e
call fcn.0044be90
mov esi, dword [0x4dfe9c]
mov eax, dword [esp + 0x18]
lea edx, [edi + esi]
push eax
lea ecx, [esp + 0x20]
call fcn.0043e300
mov ecx, dword [0x4dfea0]
mov esi, dword [0x4dfe9c]
add esp, 4
test eax, eax
je 0x43bd6a
mov dword [esp + 0x24], 1
cmp dword [esp + 0x24], 0
jne 0x43bb1e
add dword [esp + 0x14], 0x7e4
mov edi, ecx
sub edi, esi
mov eax, 0x81c635bd
imul edi
add edx, edi
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
inc ebx
add eax, edx
cmp ebx, eax
jb 0x43babb
jmp 0x43bb1e