Function at 0x10054a4c
Capabilities:
Accept command line arguments

Disassembly:
push 0xc5c
mov eax, 0x100d3531
call fcn.1000240f
mov esi, 0x10106908
push esi
mov dword [ebp - 0xc5c], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp byte [0x1013d1b1], bl
jne 0x10054e07
push ebx
push ebx
push 4
lea ecx, [ebp - 0x430]
call fcn.1004c4c8
push 0x20019
lea ecx, [ebp - 0x430]
mov byte [ebp - 4], 1
call fcn.10006b9b
push eax
lea ecx, [ebp - 0x430]
call fcn.10006c72
test eax, eax
jne 0x10054df2
mov dword [ebp - 0x414], ebx
push ebx
push 0x10054e1c
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x430]
mov byte [ebp - 4], 2
call fcn.1004c8b6
test eax, eax
jne 0x10054af1
push 0xa
push dword [ebp - 0x414]
call fcn.10040784
test eax, eax
setg byte [0x10107ca0]
push ebx
push 0x10054e38
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x430]
call fcn.1004c8b6
test eax, eax
jne 0x10054b23
push 0xa
push dword [ebp - 0x414]
call fcn.10040784
test eax, eax
setg byte [0x10107ca1]
push ebx
push 0x10054e4c
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x430]
call fcn.1004c8b6
test eax, eax
jne 0x10054b55
push 0xa
push dword [ebp - 0x414]
call fcn.10040784
test eax, eax
setg byte [0x10107ca8]
lea eax, [ebp - 0x830]
mov dword [ebp - 0x840], eax
xor eax, eax
lea edi, [ebp - 0x830]
mov dword [ebp - 0x83c], 0x200
mov byte [ebp - 0x838], bl
mov dword [ebp - 0x834], ebx
mov word [ebp - 0x830], ax
stosd dword es:[edi], eax
mov word [ebp - 0x82c], ax
push ebx
push 0x10054e74
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x430]
mov byte [ebp - 4], 3
call fcn.1004c8b6
test eax, eax
jne 0x10054bf4
lea eax, [ebp - 0xc58]
push eax
call fcn.100532d9
mov eax, dword [eax]
mov dword [ebp - 0xc54], eax
push eax
lea ecx, [ebp - 0x840]
mov byte [ebp - 4], 4
call fcn.10047bfa
lea ecx, [ebp - 0xc54]
mov byte [ebp - 4], 3
call fcn.10006af6
push dword [ebp - 0x414]
lea ecx, [ebp - 0x840]
call fcn.10047839
jmp 0x10054c21
push ebx
push 0x10054e90
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x430]
call fcn.1004c8b6
test eax, eax
jne 0x10054c21
push dword [ebp - 0x414]
lea ecx, [ebp - 0x840]
call fcn.10047bfa
mov eax, dword [ebp - 0x840]
xor ecx, ecx
cmp cx, word [eax]
je 0x10054dd5
push eax
mov byte [ebp - 0x838], 1
call dword [sym.imp.SHLWAPI.dll_PathRemoveExtensionW]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
and dword [ebp - 0xc44], 0
mov ebx, eax
lea eax, [ebp - 0xc40]
mov dword [ebp - 0xc50], eax
xor eax, eax
lea edi, [ebp - 0xc40]
mov dword [ebp - 0xc4c], 0x200
mov word [ebp - 0xc40], ax
stosd dword es:[edi], eax
mov word [ebp - 0xc3c], ax
push dword [ebp - 0xc4c]
mov byte [ebp - 4], 5
push dword [ebp - 0xc50]
mov byte [ebp - 0xc48], 1
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x10054cce
push 0x80004005
push 0x66673573
lea eax, [ebp - 0xc68]
push eax
call fcn.10043c9d
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.10042b2d
lea ecx, [ebp - 0xc68]
mov byte [ebp - 4], 5
call fcn.100424ca
push dword [ebp - 0xc50]
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
lea ecx, [ebp - 0x840]
mov esi, eax
call fcn.10047f82
mov edi, dword [ebp - 0x840]
push ebx
push esi
call fcn.1000861a
push eax
push edi
lea eax, [ebp - 0x840]
push 0x10054ea4
push eax
call fcn.10047a30
add esp, 0x14
xor ebx, ebx
push ebx
push 0x80
push 0x7021
push dword [ebp - 0x840]
mov ecx, 0x10108ccc
call fcn.10050239
test al, al
je 0x10054dbc
mov byte [0x1013d1b2], 1
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov edi, eax
test edi, edi
je 0x10054d51
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x10054d55
mov esi, ebx
jmp 0x10054d6c
lea esi, [eax + eax]
mov eax, esi
call fcn.10010877
mov eax, esp
push ebx
push esi
push edi
push eax
call fcn.1004b614
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push esi
push 0x10054ec4
push 0x3ff
lea eax, [ebp - 0x410]
push 0x400
push eax
call dword [sym.imp.MSVCR100.dll__snprintf_s]
mov edx, dword [0x10108ccc]
add esp, 0x18
push 2
push ebx
push ebx
mov ecx, 0x10108ccc
mov esi, eax
call dword [edx + 8]
push esi
lea eax, [ebp - 0x410]
push eax
push dword [0x10108cd4]
call fcn.1004f1cd
jmp 0x10054dc2
mov byte [0x1013d1b2], bl
lea eax, [ebp - 0xc50]
push eax
mov ecx, eax
call fcn.1000854f
mov esi, 0x10106908
lea eax, [ebp - 0x840]
push eax
mov ecx, eax
call fcn.1000854f
lea ecx, [ebp - 0x414]
mov byte [ebp - 4], 1
call fcn.10006af6
lea ecx, [ebp - 0x430]
mov byte [0x1013d1b1], 1
mov byte [ebp - 4], bl
call fcn.1000856c
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea esp, [ebp - 0xc78]
call fcn.10002550
ret