Function at 0x4117bb
Capabilities:
Print debug messages

Disassembly:
push 0x84
mov eax, 0x46b01b
call fcn.0042dbd7
mov esi, dword [ebp + 8]
xor eax, eax
mov byte [ebp - 0xd], al
mov ebx, eax
mov dword [esi + 0xc], eax
cmp dword [esi], eax
je 0x411ca7
mov eax, dword [esi + 4]
test eax, eax
je 0x411ca7
cmp eax, 0x8000
ja 0x411ca7
inc eax
mov edi, 0x105
cmp eax, edi
cmova edi, eax
mov dword [ebp - 0x14], edi
lea eax, [edi + edi]
push eax
call fcn.00432c26
mov dword [esi + 0xc], eax
pop ecx
test eax, eax
jne 0x41181b
push 0xe
jmp 0x411ca9
push edi
push 0
push eax
call fcn.0042f1f0
add esp, 0xc
push 0x5c
pop ecx
push 2
pop eax
cmp dword [esi + 4], eax
jbe 0x411875
mov eax, dword [esi]
cmp word [eax], cx
je 0x411875
cmp word [eax + 2], 0x3a
je 0x411875
push edi
push dword [esi + 0xc]
push eax
push 1
call fcn.00411718
add esp, 0x10
test al, al
jne 0x411884
push dword [esi + 0xc]
call fcn.00432c0b
and dword [esi + 0xc], ebx
and dword [ebp - 0x14], ebx
pop ecx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 2
cmp eax, 0x6f
pop ecx
setne al
mov ebx, ecx
jmp 0x411886
push dword [esi]
push edi
push dword [esi + 0xc]
call fcn.00404b00
mov byte [ebp - 0xd], 1
mov al, bl
mov ecx, dword [esi + 8]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], ecx
xor ecx, ecx
mov edi, ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 4], ecx
test al, al
je 0x4118c2
push str.NCPrivateLoadAndValidateMPTDll:_Looking_in_current_directory_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push esi
call fcn.00411cb0
pop ecx
mov ebx, eax
jmp 0x4118f0
cmp dword [esi + 0xc], 0
je 0x4118f0
push dword [esi + 0xc]
lea ecx, [ebp - 0x90]
call fcn.004067b0
push 0
lea ecx, [ebp - 0x90]
call fcn.00406610
lea ecx, [ebp - 0x90]
mov ebx, eax
call fcn.00406750
push 2
pop eax
mov dword [ebp - 0x1c], 0x104
cmp ebx, eax
je 0x41190a
cmp ebx, 0x80092003
jne 0x411aa7
cmp byte [ebp - 0xd], 0
jne 0x411aa7
push str.NCPrivateLoadAndValidateMPTDll:_Looking_in_EXE_directory_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
and dword [ebp + 8], 0
mov ebx, 0x104
xor ecx, ecx
mov eax, ebx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00425070
mov edi, eax
mov dword [ebp - 0x34], edi
pop ecx
test edi, edi
je 0x41199c
push ebx
push edi
push dword [ebp - 0x3c]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [ebp - 0x18], eax
cmp ebx, eax
jne 0x411977
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x411974
push edi
add ebx, ebx
call fcn.00425080
and dword [ebp - 0x34], 0
pop ecx
jmp 0x411928
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x411983
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 8]
jmp 0x4119a2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
mov ebx, eax
call fcn.00425080
xor edi, edi
pop ecx
mov dword [ebp - 0x34], edi
jmp 0x411aa7
push 0xe
pop eax
mov dword [ebp + 8], eax
mov ebx, eax
test edi, edi
je 0x411a15
push 0x5c
push edi
call fcn.00430ebe
mov ebx, dword [ebp + 8]
pop ecx
pop ecx
test eax, eax
je 0x411a15
sub eax, edi
xor ecx, ecx
sar eax, 1
mov dword [ebp - 0x18], eax
inc eax
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00425070
mov edx, eax
mov dword [ebp - 0x2c], edx
pop ecx
test edx, edx
je 0x411a18
mov ebx, dword [ebp - 0x18]
push ebx
push edi
lea eax, [ebx + 1]
push eax
push edx
call fcn.00404b40
test eax, eax
js 0x4119ff
mov edx, dword [ebp - 0x2c]
mov ecx, ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x28], ecx
jmp 0x411a1b
mov eax, dword [ebp - 0x2c]
mov ebx, 0x54f
push eax
call fcn.00425080
xor edx, edx
pop ecx
mov dword [ebp - 0x2c], edx
jmp 0x411a18
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
test edx, edx
je 0x411aa7
mov ebx, dword [esi + 4]
add ebx, 2
add ebx, ecx
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x411a44
mov eax, dword [ebp - 0x14]
cmp eax, ebx
jae 0x411a5b
push ecx
call fcn.00432c0b
and dword [esi + 0xc], 0
pop ecx
lea eax, [ebx + ebx]
mov dword [ebp - 0x14], ebx
push eax
call fcn.00432c26
mov edx, dword [ebp - 0x2c]
pop ecx
mov ecx, eax
mov eax, ebx
mov dword [esi + 0xc], ecx
push 0xe
pop ebx
test ecx, ecx
je 0x411ad3
push dword [esi]
push edx
push str._ls_ls
push eax
push dword [esi + 0xc]
call fcn.00404c00
add esp, 0x14
test eax, eax
js 0x411aa4
push dword [esi + 0xc]
lea ecx, [ebp - 0x90]
call fcn.004067b0
push 0
lea ecx, [ebp - 0x90]
call fcn.00406610
lea ecx, [ebp - 0x90]
mov ebx, eax
call fcn.00406750
jmp 0x411aa7
push 0x6f
pop ebx
cmp ebx, 0x80092026
je 0x411c54
cmp ebx, 0x800b0101
je 0x411c54
cmp ebx, 0x800b010e
je 0x411c54
test ebx, ebx
je 0x411c54
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x411ae2
mov eax, dword [esi]
mov dword [ebp - 0x14], eax
test edi, edi
jne 0x411b72
mov eax, 0x104
mov dword [ebp + 8], eax
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00425070
mov edi, eax
mov dword [ebp - 0x34], edi
pop ecx
test edi, edi
je 0x411c4c
push dword [ebp + 8]
push edi
push dword [ebp - 0x3c]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [ebp - 0x18], eax
cmp dword [ebp + 8], eax
jne 0x411b4f
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x411b4c
mov eax, dword [ebp + 8]
add eax, eax
push edi
mov dword [ebp + 8], eax
call fcn.00425080
and dword [ebp - 0x34], 0
mov eax, dword [ebp + 8]
pop ecx
jmp 0x411af2
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x411b58
mov dword [ebp - 0x30], eax
jmp 0x411b6a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
call fcn.00425080
xor edi, edi
pop ecx
mov dword [ebp - 0x34], edi
test edi, edi
je 0x411c4c
and dword [ebp + 8], 0
lea eax, [ebp + 8]
push eax
push 0x8000
push dword [ebp - 0x14]
call fcn.00404c80
test eax, eax
js 0x411c4c
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp + 8]
add ecx, 0x200
add eax, ecx
mov dword [ebp - 0x40], eax
add eax, eax
push eax
call fcn.00432c26
mov dword [ebp + 8], eax
pop ecx
test eax, eax
je 0x411c4c
test edi, edi
jne 0x411c24
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00425070
mov edi, eax
pop ecx
test edi, edi
je 0x411c21
push dword [ebp - 0x1c]
push edi
push dword [ebp - 0x3c]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x1c], eax
jne 0x411c0e
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x411c0b
mov eax, dword [ebp - 0x1c]
add eax, eax
push edi
mov dword [ebp - 0x1c], eax
call fcn.00425080
and dword [ebp - 0x34], 0
pop ecx
jmp 0x411bb8
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x411c21
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
call fcn.00425080
pop ecx
xor edi, edi
mov eax, dword [ebp + 8]
push ebx
push dword [ebp - 0x14]
push edi
push str.NotComDllGetInterface:__ls_loading__ls__WinVerifyTrust_failed_with__08x_n
push dword [ebp - 0x40]
push eax
call fcn.00404c00
add esp, 0x18
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push dword [ebp + 8]
call fcn.00432c0b
pop ecx
cmp dword [esi + 0xc], 0
je 0x411c8a
jmp 0x411c76
xor ebx, ebx
cmp dword [esi + 0xc], ebx
je 0x411c85
push 8
push ebx
push dword [esi + 0xc]
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov dword [esi + 0x10], eax
test eax, eax
jne 0x411c8a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
push dword [esi + 0xc]
call fcn.00432c0b
and dword [esi + 0xc], 0
pop ecx
jmp 0x411c8a
mov ebx, 0x54f
test edi, edi
je 0x411c95
push edi
call fcn.00425080
pop ecx
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x411ca3
push eax
call fcn.00425080
pop ecx
mov eax, ebx
jmp 0x411caa
push 0x57
pop eax
call fcn.0042dba0
ret