Function at 0x4183c7
Capabilities:
Accept command line arguments

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xbc
mov eax, dword [0x42abd0]
xor eax, esp
mov dword [esp + 0xb8], eax
push ebx
push esi
mov esi, dword [ebp + 0x10]
xor ebx, ebx
push edi
push ebx
push ebx
push 1
push ebx
mov dword [esp + 0x34], ebx
call dword [sym.imp.KERNEL32.dll_HeapSetInformation]
push ecx
mov ecx, 0x42a00c
call fcn.00422097
lea eax, [esp + 0x18]
push eax
push esi
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov esi, eax
mov dword [esp + 0x1c], esi
cmp dword [esp + 0x18], ebx
je 0x4189ce
test esi, esi
je 0x4189ce
push 0xc
call fcn.00425677
mov ecx, dword [sym.imp.KERNEL32.dll_LocalFree]
mov edi, ebx
mov dword [esp], 0x4155b0
mov dword [eax + 4], ecx
lea ecx, [esp + 0x64]
mov dword [eax], 0x401110
mov dword [eax + 8], esi
mov dword [esp + 0x48], eax
call fcn.0041999f
push dword [esi]
lea ecx, [esp + 0x4c]
call fcn.0041999f
lea edx, [esp + 0x60]
lea ecx, [esp + 0x48]
call fcn.004179e8
lea ecx, [esp + 0x48]
mov bl, al
call fcn.00419f5b
lea ecx, [esp + 0x60]
call fcn.00419f5b
test bl, bl
je 0x418489
inc edi
cmp edi, dword [esp + 0x18]
jl 0x418499
mov esi, 0x10000
jmp 0x4189ba
mov ecx, dword [esi + edi*4]
lea edx, [esp + 0x38]
xor ebx, ebx
mov dword [esp + 0x38], ebx
call fcn.004189f6
mov esi, eax
test esi, esi
jne 0x41857f
mov ecx, dword [esp + 0x38]
call fcn.00417d8e
lea eax, [edi + 1]
mov byte [esp + 0xf], bl
mov dword [esp + 0x20], ebx
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x18]
jge 0x41852d
push 0x4155c4
lea ecx, [esp + 0x4c]
call fcn.0041999f
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x60]
push dword [esi + edi*4 + 4]
call fcn.0041999f
cmp dword [esp + 0x5c], 8
lea ecx, [esp + 0x48]
push 3
pop ebx
jb 0x418504
mov ecx, dword [esp + 0x48]
cmp dword [esp + 0x74], 8
lea eax, [esp + 0x60]
jb 0x418513
mov eax, dword [esp + 0x60]
push dword [esp + 0x58]
push ecx
push eax
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x418535
mov byte [esp + 0xe], 1
jmp 0x41853b
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
xor eax, eax
mov byte [esp + 0xe], al
test bl, 2
je 0x41854c
lea ecx, [esp + 0x60]
and ebx, 0xfffffffd
call fcn.00419f5b
test bl, 1
je 0x41855d
lea ecx, [esp + 0x48]
and ebx, 0xfffffffe
call fcn.00419f5b
cmp byte [esp + 0xe], 0
je 0x418587
mov edi, dword [esp + 0x10]
lea edx, [esp + 0x20]
mov byte [esp + 0xf], 1
mov ecx, dword [esi + edi*4]
call fcn.00418a42
mov esi, eax
test esi, esi
je 0x418587
shl esi, 0x10
jmp 0x4189ba
lea eax, [edi + 1]
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x18]
jge 0x4185ec
push 0x4155dc
lea ecx, [esp + 0x64]
call fcn.0041999f
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x48]
or ebx, 4
push dword [esi + edi*4 + 4]
call fcn.0041999f
or ebx, 8
lea ecx, [esp + 0x60]
cmp dword [esp + 0x74], 8
jb 0x4185c8
mov ecx, dword [esp + 0x60]
cmp dword [esp + 0x5c], 8
lea eax, [esp + 0x48]
jb 0x4185d7
mov eax, dword [esp + 0x48]
push ecx
push eax
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x4185f0
mov byte [esp + 0xe], 1
jmp 0x4185f6
mov esi, dword [esp + 0x1c]
xor eax, eax
mov byte [esp + 0xe], al
test bl, 8
je 0x418607
lea ecx, [esp + 0x48]
and ebx, 0xfffffff7
call fcn.00419f5b
test bl, 4
je 0x418615
lea ecx, [esp + 0x60]
call fcn.00419f5b
cmp byte [esp + 0xe], 0
je 0x418620
mov edi, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0xa8], 7
inc edi
mov dword [esp + 0xa4], eax
mov ebx, eax
mov word [esp + 0x94], ax
mov dword [esp + 0x10], ebx
cmp edi, dword [esp + 0x18]
jge 0x4186ae
cmp dword [esp + 0xa4], 0
mov eax, dword [esi + edi*4]
jne 0x41867e
mov ecx, eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [esp + 0x24]
jne 0x41865b
sub ecx, edx
sar ecx, 1
push ecx
push dword [esi + edi*4]
lea ecx, [esp + 0x9c]
call fcn.00419fd5
jmp 0x4186a3
test ebx, ebx
jne 0x418779
lea edx, [esp + 0x10]
mov ecx, eax
call fcn.004189f6
mov esi, eax
test esi, esi
jne 0x418771
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
inc edi
cmp edi, dword [esp + 0x18]
jl 0x418649
test ebx, ebx
jne 0x4186b1
xor ebx, ebx
inc ebx
xor eax, eax
mov esi, eax
mov edi, eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], eax
mov dword [esp + 0x58], eax
cmp dword [esp + 0xa4], eax
je 0x418783
sub esp, 0x18
mov word [esp + 0x60], ax
lea eax, [esp + 0xac]
mov dword [esp + 0x74], 7
mov ecx, esp
push eax
call fcn.004199e7
lea ecx, [esp + 0x60]
call fcn.00418227
test al, al
je 0x41872c
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x7c]
call fcn.004199e7
lea eax, [esp + 0x78]
mov dword [esp + 0x90], ebx
push eax
lea ecx, [esp + 0x30]
call fcn.00418a82
lea ecx, [esp + 0x78]
call fcn.00419f5b
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x7c]
call fcn.004199e7
lea eax, [esp + 0x78]
mov dword [esp + 0x90], ebx
push eax
lea ecx, [esp + 0x30]
call fcn.00418a82
lea ecx, [esp + 0x78]
call fcn.00419f5b
lea ecx, [esp + 0x48]
call fcn.00419f5b
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
jmp 0x418868
shl esi, 0x10
jmp 0x4189ae
mov esi, 0x10000
jmp 0x4189ae
push 0x405ad4
lea ecx, [esp + 0x7c]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
call fcn.0041999f
push 0x405a90
lea ecx, [esp + 0xb0]
call fcn.0041999f
push ecx
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.00423dc7
lea ecx, [esp + 0xac]
call fcn.00419f5b
lea ecx, [esp + 0x78]
call fcn.00419f5b
mov ebx, dword [esp + 0x60]
xor eax, eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x64]
sub eax, ebx
push 0x18
cdq
pop ecx
idiv ecx
mov dword [esp + 0x24], eax
test eax, eax
je 0x418856
mov esi, eax
push ebx
lea ecx, [esp + 0x7c]
call fcn.004199e7
lea eax, [esp + 0x78]
mov dword [esp + 0x90], 1
push eax
lea ecx, [esp + 0x30]
call fcn.00418a82
lea ecx, [esp + 0x78]
call fcn.00419f5b
mov eax, dword [esp + 0x10]
add ebx, 0x18
inc eax
mov dword [esp + 0x10], eax
cmp eax, esi
jb 0x418812
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
lea ecx, [esp + 0x60]
call fcn.00419768
lea ecx, [esp + 0x48]
call fcn.00423d8e
cmp byte [esp + 0xe], 0
je 0x418883
mov ecx, dword [esp + 0x38]
lea edx, [esp + 0x2c]
call fcn.00418319
mov esi, eax
jmp 0x4189a5
push dword [esp + 0x38]
xor eax, eax
push eax
push 0x438
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov ebx, eax
test ebx, ebx
jne 0x4188ae
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
or esi, 0x20000
jmp 0x4189a5
push 0xc
call fcn.00425677
pop ecx
mov ecx, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [eax], 0x40111c
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [esp + 0x40], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
cmp byte [esp + 0xf], al
je 0x41893f
cmp esi, edi
je 0x418991
cmp dword [esi + 0x14], 8
mov ecx, esi
mov eax, dword [esi + 0x18]
mov dword [esp + 0x10], eax
jb 0x4188f9
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x64]
call fcn.00417c8e
xor ecx, ecx
test eax, eax
je 0x418918
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x24], ecx
xor ecx, ecx
mov dword [esp + 0x38], eax
inc ecx
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x24]
push ecx
push eax
lea eax, [esp + 0x40]
mov ecx, ebx
push eax
call fcn.00424d83
test eax, eax
je 0x4189c7
add esi, 0x1c
cmp esi, edi
jne 0x4188e8
jmp 0x41898f
cmp esi, edi
je 0x418991
cmp dword [esi + 0x14], 8
mov ecx, esi
mov eax, dword [esi + 0x18]
mov dword [esp + 0x20], eax
jb 0x418954
mov ecx, dword [esi]
push ecx
lea edx, [esp + 0x64]
call fcn.00417c8e
xor ecx, ecx
test eax, eax
je 0x418973
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
xor ecx, ecx
mov dword [esp + 0x24], eax
inc ecx
push ecx
lea eax, [esp + 0x14]
mov ecx, ebx
push eax
lea edx, [esp + 0x2c]
call fcn.00424b1b
test eax, eax
je 0x4189c7
add esi, 0x1c
cmp esi, edi
jne 0x418943
xor eax, eax
mov esi, eax
lea ecx, [esp + 0x60]
call fcn.0041958c
lea ecx, [esp + 0x40]
call fcn.00417cfb
lea ecx, [esp + 0x2c]
call fcn.00418ac1
lea ecx, [esp + 0x94]
call fcn.00419f5b
lea ecx, [esp + 0x44]
call fcn.00417cfb
mov eax, esi
jmp 0x4189d9
mov esi, 0x30000
jmp 0x418993
call dword [sym.imp.KERNEL32.dll_GetLastError]
or eax, 0x10000
mov ecx, dword [esp + 0xc4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00425660
mov esp, ebp
pop ebp
ret 0x10