Function at 0x46ac32
Capabilities:
Accept command line arguments

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
xor edx, edx
push ebx
push esi
mov ebx, edx
mov dword [esp + 0x1c], edx
push edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], edx
mov dword [esp + 0x10], edx
mov esi, 0x5012b0
mov dword [0x5012c0], edx
mov dword [0x5012b0], edx
mov edi, 0x5012d8
mov dword [0x5012c8], 1
mov dword [0x5012cc], edx
mov dword [0x5012d8], 0x407218
mov dword [section..data], esi
mov ecx, dword [edi]
lea eax, [esi + 8]
push eax
push edx
push edx
lea eax, [esp + 0x20]
mov dword [esp + 0x20], ecx
push eax
push 1
push ecx
push esi
mov dword [esp + 0x34], edx
lea edi, [edi + 4]
push 0x468a80
mov dword [esi + 0x20], ecx
call dword [sym.imp.ADVAPI32.dll_RegisterTraceGuidsW]
mov esi, dword [esi]
push 0
pop edx
test esi, esi
jne 0x46ac8a
mov ecx, 0x501298
call fcn.0046bc57
mov esi, section..data
test al, al
je 0x46ae58
xor eax, eax
mov word [esp + 0xc], ax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea edx, [esp + 0xc]
mov ecx, eax
call fcn.004f6221
mov edi, eax
test edi, edi
jns 0x46ad3c
mov eax, dword [section..data]
cmp eax, esi
je 0x46b01f
test byte [eax + 0x1c], 8
je 0x46b01f
cmp byte [eax + 0x19], 2
jb 0x46b01f
call fcn.0042386b
push edi
push 0x40f6ec
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x3e
mov edx, 0x40f87c
pop ecx
call fcn.0042371b
jmp 0x46b01f
cmp byte [esp + 0xc], bl
je 0x46ae58
mov cl, byte [esp + 0xd]
xor esi, esi
inc esi
call fcn.00469dc2
mov edi, eax
test edi, edi
jns 0x46ada5
mov eax, dword [section..data]
cmp eax, section..data
je 0x46b021
test byte [eax + 0x1c], 8
je 0x46b021
cmp byte [eax + 0x19], 2
jb 0x46b021
call fcn.0042386b
push edi
push 0x40f714
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x3f
mov edx, 0x40f87c
pop ecx
call fcn.0042371b
jmp 0x46b021
je 0x46b021
cmp edi, 1
je 0x46adfd
mov eax, dword [section..data]
mov edi, 0x8000ffff
cmp eax, section..data
je 0x46b021
test byte [eax + 0x1c], 8
je 0x46b021
cmp byte [eax + 0x19], 2
jb 0x46b021
call fcn.0042386b
push edi
push eax
mov eax, dword [section..data]
mov edx, 0x40f87c
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x40
pop ecx
call fcn.00421fda
jmp 0x46b021
mov dl, byte [esp + 0xd]
mov ecx, dword [ebp + 8]
call fcn.0046a6ec
mov edi, eax
test edi, edi
jns 0x46ae51
mov eax, dword [section..data]
cmp eax, section..data
je 0x46b021
test byte [eax + 0x1c], 8
je 0x46b021
cmp byte [eax + 0x19], 2
jb 0x46b021
call fcn.0042386b
push edi
push 0x40f72c
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x41
jmp 0x46ad95
xor edi, edi
jmp 0x46b021
mov ecx, 0x5000a0
call fcn.0041e951
call fcn.00463136
call fcn.004917e8
call fcn.00491833
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_HeapSetInformation]
test eax, eax
jne 0x46aec4
mov eax, dword [section..data]
cmp eax, esi
je 0x46aec4
test byte [eax + 0x1c], 1
je 0x46aec4
cmp byte [eax + 0x19], 2
jb 0x46aec4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
call fcn.0042386b
push esi
push eax
mov eax, dword [section..data]
mov edx, 0x40f87c
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x42
pop ecx
call fcn.00421fda
mov esi, section..data
mov ecx, dword [ebp + 8]
call fcn.00483f8a
mov edi, eax
test edi, edi
jns 0x46af11
mov eax, dword [section..data]
cmp eax, esi
je 0x46b01f
test byte [eax + 0x1c], 8
je 0x46b01f
cmp byte [eax + 0x19], 2
jb 0x46b01f
call fcn.0042386b
push edi
push 0x40f744
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x43
jmp 0x46ad2c
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
mov edi, eax
test edi, edi
jns 0x46af5e
mov eax, dword [section..data]
cmp eax, esi
je 0x46b01f
test byte [eax + 0x1c], 8
je 0x46b01f
cmp byte [eax + 0x19], 2
jb 0x46b01f
call fcn.0042386b
push edi
push 0x40f768
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x44
jmp 0x46ad2c
call fcn.004ea5ff
mov edi, eax
test edi, edi
jns 0x46afa8
mov eax, dword [section..data]
cmp eax, esi
je 0x46b01f
test byte [eax + 0x1c], 8
je 0x46b01f
cmp byte [eax + 0x19], 2
jb 0x46b01f
call fcn.0042386b
push edi
push 0x40f780
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x45
jmp 0x46ad2c
mov ecx, dword [ebp + 8]
call fcn.004ea8df
mov ecx, dword [ebp + 8]
test eax, eax
jne 0x46afbe
call fcn.004ea7af
jmp 0x46b01f
call fcn.004ead44
mov esi, eax
mov dword [esp + 0x14], esi
test esi, esi
jne 0x46afd2
mov ecx, dword [ebp + 8]
jmp 0x46afb7
call fcn.00468fa8
mov ebx, eax
mov dword [esp + 0xc], ebx
test ebx, ebx
jne 0x46b0a0
mov eax, dword [section..data]
cmp eax, section..data
je 0x46b01b
test byte [eax + 0x1c], 1
je 0x46b01b
cmp byte [eax + 0x19], 2
jb 0x46b01b
call fcn.0042386b
push eax
mov eax, dword [section..data]
mov edx, 0x40f87c
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x46
pop ecx
call fcn.004238e7
mov ebx, dword [esp + 0x1c]
mov esi, ebx
mov ecx, 0x501298
call fcn.0046bc57
test al, al
je 0x46b32d
test esi, esi
jne 0x46b305
call dword [sym.imp.ole32.dll_CoUninitialize]
call fcn.004840c4
mov esi, eax
test esi, esi
jns 0x46b25d
mov ecx, dword [section..data]
mov edi, section..data
cmp ecx, edi
je 0x46b262
test byte [ecx + 0x1c], 8
je 0x46b262
cmp byte [ecx + 0x19], 2
jb 0x46b262
call fcn.0042386b
push esi
push 0x40f800
push eax
mov eax, dword [section..data]
mov edx, 0x40f87c
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x4b
pop ecx
call fcn.0042371b
jmp 0x46b262
mov eax, dword [section..data]
cmp eax, section..data
je 0x46b0d7
test byte [eax + 0x1c], 1
je 0x46b0d7
cmp byte [eax + 0x19], 5
jb 0x46b0d7
call fcn.0042386b
push ebx
push eax
mov eax, dword [section..data]
mov edx, 0x40f87c
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x47
pop ecx
call fcn.004330da
lea ecx, [esp + 0x20]
call fcn.0046c970
mov edi, eax
test edi, edi
jns 0x46b122
mov eax, dword [section..data]
cmp eax, section..data
je 0x46b122
test byte [eax + 0x1c], 8
je 0x46b122
cmp byte [eax + 0x19], 2
jb 0x46b122
call fcn.0042386b
push edi
push 0x40f7bc
push eax
mov eax, dword [section..data]
mov edx, 0x40f87c
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x48
pop ecx
call fcn.0042371b
push 0x40eafc
push ebx
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
je 0x46b137
xor eax, eax
inc eax
jmp 0x46b13b
mov eax, dword [esp + 0x24]
test edi, edi
js 0x46b232
mov esi, dword [esp + 0x20]
mov ebx, eax
xor ebx, 1
add ebx, ebx
mov edi, dword [esi + 0x34]
test edi, edi
je 0x46b1cc
neg eax
mov ecx, edi
sbb eax, eax
and eax, 3
add eax, 0xfffffffc
push eax
call dword [0x5035f0]
call edi
test eax, eax
je 0x46b1cc
xor edi, edi
cmp ebx, 2
jne 0x46b17a
call fcn.0046cfe8
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
call fcn.00469389
test eax, eax
je 0x46b245
mov eax, dword [section..data]
cmp eax, section..data
je 0x46b1c5
test byte [eax + 0x1c], 1
je 0x46b1c5
cmp byte [eax + 0x19], 4
jb 0x46b1c5
call fcn.0042386b
push eax
mov eax, dword [section..data]
mov edx, 0x40f87c
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x4a
pop ecx
call fcn.004238e7
xor ebx, ebx
jmp 0x46b01f
mov esi, dword [esi + 0x30]
mov edi, 0x80004001
test esi, esi
je 0x46b1e5
push ebx
mov ecx, esi
call dword [0x5035f0]
call esi
mov edi, eax
test edi, edi
jns 0x46b170
mov eax, dword [section..data]
cmp eax, section..data
je 0x46b17a
test byte [eax + 0x1c], 8
je 0x46b17a
cmp byte [eax + 0x19], 2
jb 0x46b17a
call fcn.0042386b
push edi
push 0x40f7e0
push eax
mov eax, dword [section..data]
mov edx, 0x40f87c
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x49
pop ecx
call fcn.0042371b
jmp 0x46b17a
test eax, eax
jne 0x46b182
call dword [sym.imp.USER32.dll_SetProcessDPIAware]
jmp 0x46b182
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push ebx
push esi
call fcn.004696bc
mov esi, dword [esp + 0x10]
mov ebx, eax
jmp 0x46b021
mov edi, section..data
call fcn.004ea75c
mov esi, eax
test esi, esi
jns 0x46b2a7
mov ecx, dword [section..data]
cmp ecx, edi
je 0x46b2db
test byte [ecx + 0x1c], 8
je 0x46b2ad
cmp byte [ecx + 0x19], 2
jb 0x46b2ad
call fcn.0042386b
push esi
push 0x40f824
push eax
mov eax, dword [section..data]
mov edx, 0x40f87c
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x4c
pop ecx
call fcn.0042371b
mov ecx, dword [section..data]
cmp ecx, edi
je 0x46b2db
test byte [ecx + 0x1c], 1
je 0x46b2db
cmp byte [ecx + 0x19], 5
jb 0x46b2db
call fcn.0042386b
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x4d
mov edx, 0x40f87c
pop ecx
call fcn.004238e7
mov eax, dword [0x5000bc]
mov ecx, dword [0x5000b8]
and dword [0x5000a0], 0
and dword [0x5000b8], 0
and dword [0x5000bc], 0
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_EventUnregister]
jmp 0x46b31a
test edi, edi
jns 0x46b315
push ecx
push ecx
mov ecx, dword [ebp + 8]
mov edx, edi
call fcn.0046a1c9
mov edi, section..data
mov esi, dword [section..data]
cmp esi, edi
je 0x46b42f
jmp 0x46b425
call dword [sym.imp.ole32.dll_CoUninitialize]
call fcn.004840c4
mov esi, eax
test esi, esi
jns 0x46b37f
mov ecx, dword [section..data]
mov edi, section..data
cmp ecx, edi
je 0x46b384
test byte [ecx + 0x1c], 8
je 0x46b384
cmp byte [ecx + 0x19], 2
jb 0x46b384
call fcn.0042386b
push esi
push 0x40f800
push eax
mov eax, dword [section..data]
mov edx, 0x40f87c
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x4e
pop ecx
call fcn.0042371b
jmp 0x46b384
mov edi, section..data
call fcn.004ea75c
mov esi, eax
test esi, esi
jns 0x46b3cd
mov ecx, dword [section..data]
cmp ecx, edi
je 0x46b2db
test byte [ecx + 0x1c], 8
je 0x46b3d3
cmp byte [ecx + 0x19], 2
jb 0x46b3d3
call fcn.0042386b
push esi
push 0x40f824
push eax
mov eax, dword [section..data]
mov edx, 0x40f87c
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x4f
pop ecx
call fcn.0042371b
mov ecx, dword [section..data]
cmp ecx, edi
je 0x46b2db
test byte [ecx + 0x1c], 1
je 0x46b2db
cmp byte [ecx + 0x19], 5
jb 0x46b2db
call fcn.0042386b
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x50
jmp 0x46b2d0
mov eax, dword [esi + 8]
or eax, dword [esi + 0xc]
je 0x46b423
push dword [esi + 0xc]
push dword [esi + 8]
call dword [sym.imp.ADVAPI32.dll_UnregisterTraceGuids]
and dword [esi + 8], 0
and dword [esi + 0xc], 0
mov esi, dword [esi]
test esi, esi
jne 0x46b407
mov dword [section..data], edi
lea ecx, [esp + 0x20]
call fcn.004229fc
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret 0x10