Function at 0x401330
Capabilities:
Check mutex on windows
Create thread

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x3048
call fcn.004070e0
mov eax, dword [0x42cf34]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x3018], 0xa
mov eax, dword [0x42b1d0]
mov dword [ebp - 0x1004], eax
mov ecx, dword [0x42b1d4]
mov dword [ebp - 0x1000], ecx
mov dx, word [0x42b1d8]
mov word [ebp - 0xffc], dx
push 0xff6
push 0
lea eax, [ebp - 0xffa]
push eax
call fcn.00407d10
add esp, 0xc
mov dword [ebp - 0x3014], 0
mov dword [ebp - 0x301c], 0
mov dword [ebp - 0x303c], 0
mov dword [ebp - 0x3034], 0
mov ecx, dword [ebp + 8]
mov dword [0x42d88c], ecx
mov edx, dword [ebp + 0xc]
mov dword [0x42f890], edx
mov dword [0x431308], 0
mov dword [0x431300], 0
push str.127.0.0.1
push 0x430300
call fcn.0040a290
add esp, 8
push str.f:h:u:p:n:gq
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00406e20
add esp, 0xc
mov dword [ebp - 0x3008], eax
cmp dword [ebp - 0x3008], 0xffffffff
je 0x401640
mov edx, dword [ebp - 0x3008]
mov dword [ebp - 0x3010], edx
mov eax, dword [ebp - 0x3010]
sub eax, 0x3a
mov dword [ebp - 0x3010], eax
cmp dword [ebp - 0x3010], 0x3b
ja case.0x401449.1
mov ecx, dword [ebp - 0x3010]
movzx edx, byte [ecx + 0x401dc0]
jmp dword [edx*4 + 0x401d98]
mov dword [0x42d884], 1
push 0x1000
mov eax, dword [0x4302f0]
push eax
push 0x42d890
call fcn.0040a5b0
add esp, 0xc
mov ecx, 1
imul edx, ecx, 0xfff
mov dword [ebp - 0x3024], edx
cmp dword [ebp - 0x3024], 0x1000
jae 0x401491
jmp 0x401496
call fcn.0040722d
mov eax, dword [ebp - 0x3024]
mov byte [eax + 0x42d890], 0
jmp case.0x401449.1
mov dword [0x42d888], 1
push 0x1000
mov ecx, dword [0x4302f0]
push ecx
push 0x42e890
call fcn.0040a5b0
add esp, 0xc
mov edx, 1
imul eax, edx, 0xfff
mov dword [ebp - 0x3028], eax
cmp dword [ebp - 0x3028], 0x1000
jae 0x4014ea
jmp 0x4014ef
call fcn.0040722d
mov ecx, dword [ebp - 0x3028]
mov byte [ecx + 0x42e890], 0
jmp case.0x401449.1
cmp dword [0x431304], 0
jne 0x401514
mov dword [ebp - 0x301c], 1
push 0x1000
mov edx, dword [0x4302f0]
push edx
push 0x430300
call fcn.0040a5b0
add esp, 0xc
mov eax, 1
imul ecx, eax, 0xfff
mov dword [ebp - 0x302c], ecx
cmp dword [ebp - 0x302c], 0x1000
jae 0x40154c
jmp 0x401551
call fcn.0040722d
mov edx, dword [ebp - 0x302c]
mov byte [edx + 0x430300], 0
jmp case.0x401449.1
cmp dword [0x431304], 0
jne 0x401576
mov dword [ebp - 0x301c], 1
mov dword [ebp - 0x3034], 1
push 0x1000
mov eax, dword [0x4302f0]
push eax
lea ecx, [ebp - 0x2004]
push ecx
call fcn.0040a5b0
add esp, 0xc
mov edx, 1
imul eax, edx, 0xfff
mov dword [ebp - 0x3030], eax
cmp dword [ebp - 0x3030], 0x1000
jae 0x4015b9
jmp 0x4015be
call fcn.0040722d
mov ecx, dword [ebp - 0x3030]
mov byte [ebp + ecx - 0x2004], 0
jmp case.0x401449.1
mov dword [0x431308], 1
jmp case.0x401449.1
mov dword [0x431300], 1
jmp case.0x401449.1
mov edx, dword [0x4302f0]
push edx
call fcn.0040aedf
add esp, 4
mov dword [ebp - 0x3018], eax
jmp case.0x401449.1
mov eax, dword [0x42f898]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4 - 4]
push edx
push str.AAAAAA____Unknown_glAAobal_option__s_n
call fcn.00401e00
add esp, 8
jmp 0x401d87
mov eax, dword [0x42f898]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4 - 4]
push edx
push str.AAAAAA_____s_option_arguAAment_was_not_supplied_n
call fcn.00401e00
add esp, 8
jmp 0x401d87
jmp 0x4013ec
push 0
mov eax, dword [ebp - 0x3018]
push eax
mov ecx, dword [ebp - 0x3018]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
mov dword [0x42d878], eax
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [0x42d87c], eax
cmp dword [ebp - 0x301c], 0
je 0x401932
mov edx, dword [0x42f898]
mov eax, dword [0x42f890]
lea ecx, [eax + edx*4]
mov edx, 4
shl edx, 0
mov eax, dword [ecx + edx - 4]
push eax
push 0x42b254
call fcn.0040a443
add esp, 8
test eax, eax
jne 0x4016b1
mov dword [0x42f894], 1
call fcn.00405e60
test eax, eax
je 0x4016c7
push str.____WARNING:_Running_as_SAAYSTEM._This_will_fail_as_SYSTEM_cannot_authenticate_remotely._Run_as_a_standard_user._n
call fcn.00402030
add esp, 4
mov ecx, dword [0x42f898]
cmp ecx, dword [ebp + 8]
jl 0x4016e4
push str.____No_arguments_supplied_to_be_pasAAsed_to_remote_service_n
call fcn.00402030
add esp, 4
jmp 0x401d87
cmp dword [ebp - 0x3034], 0
je 0x40188d
push 0x42b0e4
lea edx, [ebp - 0x2004]
push edx
call fcn.0040b3f5
add esp, 8
mov dword [ebp - 0x3038], eax
cmp dword [ebp - 0x3038], 0
jne 0x401726
push str.____InvalAAid_Filename_n
call fcn.00402030
add esp, 4
jmp 0x401d87
mov eax, dword [ebp - 0x3038]
push eax
push 0xfff
lea ecx, [ebp - 0x3004]
push ecx
call fcn.0040b333
add esp, 0xc
test eax, eax
je 0x401875
push 0x430300
push 0x42b328
lea edx, [ebp - 0x3004]
push edx
call fcn.00402490
add esp, 0xc
push 1
push 0x430300
call fcn.0040a520
add esp, 4
add eax, 1
push eax
call fcn.0040a6d4
add esp, 8
mov dword [ebp - 0x3014], eax
push 0x430300
mov eax, dword [ebp - 0x3014]
push eax
call fcn.0040a290
add esp, 8
cmp dword [0x42d884], 0
je 0x4017fd
cmp dword [0x42d888], 0
je 0x4017fd
push 0xffffffffffffffff
mov ecx, dword [0x42d878]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0xffffffffffffffff
mov edx, dword [0x42d87c]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [0x42d880]
add eax, 1
mov dword [0x42d880], eax
mov ecx, dword [0x42d87c]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push 0
push 0
mov edx, dword [ebp - 0x3014]
push edx
push 0x4022e0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x401870
cmp dword [0x42d884], 0
jne 0x401863
cmp dword [0x42d888], 0
jne 0x401863
push 0xffffffffffffffff
mov eax, dword [0x42d878]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0xffffffffffffffff
mov ecx, dword [0x42d87c]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [0x42d880]
add edx, 1
mov dword [0x42d880], edx
mov eax, dword [0x42d87c]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push 0
push 0
mov ecx, dword [ebp - 0x3014]
push ecx
push 0x402260
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x401870
push str.____Please_supplAAAAy_either_both_username_and_password_or_neither_when_connecting_remotely_n
call fcn.00402030
add esp, 4
jmp 0x401726
cmp dword [0x42d880], 0
jle 0x401888
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x401875
jmp 0x401d87
cmp dword [0x42d884], 0
je 0x4018d9
cmp dword [0x42d888], 0
je 0x4018d9
mov edx, dword [0x42f894]
push edx
mov eax, dword [0x42f898]
mov ecx, dword [ebp + 0xc]
lea edx, [ecx + eax*4 - 4]
push edx
mov eax, dword [ebp + 8]
sub eax, dword [0x42f898]
add eax, 1
push eax
push 0x42e890
push 0x42d890
push 0x430300
call fcn.00404e80
add esp, 0x18
jmp 0x40192d
cmp dword [0x42d884], 0
jne 0x401920
cmp dword [0x42d888], 0
jne 0x401920
mov ecx, dword [0x42f894]
push ecx
mov edx, dword [0x42f898]
mov eax, dword [ebp + 0xc]
lea ecx, [eax + edx*4 - 4]
push ecx
mov edx, dword [ebp + 8]
sub edx, dword [0x42f898]
add edx, 1
push edx
push 0
push 0
push 0x430300
call fcn.00404e80
add esp, 0x18
jmp 0x40192d
push str.____Please_supply_either_both_uAAsername_and_password_or_neither_when_connecting_remotely_n
call fcn.00402030
add esp, 4
jmp 0x401d87
mov eax, dword [0x42f898]
cmp eax, dword [ebp + 8]
jge 0x40194e
mov ecx, dword [0x42f898]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x300c], eax
mov ecx, dword [0x42f898]
add ecx, 1
mov dword [0x42f898], ecx
call fcn.00405e60
test eax, eax
jne 0x401973
push str.____WARNING:_NotAA_running_as_SYSTEM._Not_all_tokens_will_be_available._n
call fcn.00402030
add esp, 4
mov edx, dword [ebp - 0x300c]
push edx
push str.list_tokens
call fcn.0040a443
add esp, 8
test eax, eax
jne 0x401a28
push 0x42b32c
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00406e20
add esp, 0xc
mov dword [ebp - 0x3008], eax
cmp dword [ebp - 0x3008], 0
je 0x401a23
mov edx, dword [ebp - 0x3008]
mov dword [ebp - 0x3020], edx
cmp dword [ebp - 0x3020], 0xffffffff
je 0x4019fa
cmp dword [ebp - 0x3020], 0x67
je 0x4019eb
cmp dword [ebp - 0x3020], 0x75
je 0x4019dc
jmp 0x401a0c
push 0
call fcn.00403160
add esp, 4
jmp 0x401d87
push 1
call fcn.00403160
add esp, 4
jmp 0x401d87
push str.AAAAAA____No_listAA_tokens_command_options_specified_n
call fcn.00401e00
add esp, 4
jmp 0x401d87
push str.AAAAAA____UnknownA_list_tokens_command_option_n
call fcn.00401e00
add esp, 4
jmp 0x401d87
jmp 0x401d87
mov eax, dword [ebp - 0x300c]
push eax
push str.execute
call fcn.0040a443
add esp, 8
test eax, eax
jne 0x401af1
push 0x42b25c
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00406e20
add esp, 0xc
mov dword [ebp - 0x3008], eax
cmp dword [ebp - 0x3008], 0xffffffff
je 0x401a9f
mov eax, dword [ebp - 0x3008]
mov dword [ebp - 0x3048], eax
cmp dword [ebp - 0x3048], 0x63
je 0x401a7f
jmp 0x401a8b
mov dword [ebp - 0x303c], 1
jmp 0x401a9d
push str.AAAAAA____Unknown_execAAute_command_option_n
call fcn.00401e00
add esp, 4
jmp 0x401d87
jmp 0x401a44
mov ecx, dword [ebp + 8]
sub ecx, dword [0x42f898]
cmp ecx, 2
jge 0x401abf
push str.AAAAAA____Not_enough_arguAAments_supplied_to_execute_command_n
call fcn.00401e00
add esp, 4
jmp 0x401d87
mov edx, dword [ebp - 0x303c]
push edx
mov eax, dword [0x42f898]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4 + 4]
push edx
mov eax, dword [0x42f898]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
push edx
call fcn.00403cd0
add esp, 0xc
jmp 0x401d87
mov eax, dword [ebp - 0x300c]
push eax
push str.snarf_hashes
call fcn.0040a443
add esp, 8
test eax, eax
jne 0x401b43
mov ecx, dword [ebp + 8]
sub ecx, dword [0x42f898]
cmp ecx, 1
jge 0x401b29
push str.AAAAAA____Not_enough_AA_supplied_to_snarf_hashes_command_n
call fcn.00401e00
add esp, 4
jmp 0x401d87
mov edx, dword [0x42f898]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00402520
add esp, 4
jmp 0x401d87
mov edx, dword [ebp - 0x300c]
push edx
push 0x42b570
call fcn.0040a443
add esp, 8
test eax, eax
je 0x401b8f
mov eax, dword [ebp - 0x300c]
push eax
push 0x42b57c
call fcn.0040a443
add esp, 8
test eax, eax
je 0x401b8f
mov ecx, dword [ebp - 0x300c]
push ecx
push 0x42b590
call fcn.0040a443
add esp, 8
test eax, eax
jne 0x401d4c
push 0x42b5a0
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00406e20
add esp, 0xc
mov dword [ebp - 0x3008], eax
cmp dword [ebp - 0x3008], 0xffffffff
je 0x401c5d
mov ecx, dword [ebp - 0x3008]
mov dword [ebp - 0x3040], ecx
cmp dword [ebp - 0x3040], 0x3a
je 0x401c26
cmp dword [ebp - 0x3040], 0x68
je 0x401bd7
jmp 0x401c46
push 0x1000
mov edx, dword [0x4302f0]
push edx
lea eax, [ebp - 0x1004]
push eax
call fcn.0040a5b0
add esp, 0xc
mov ecx, 1
imul edx, ecx, 0xfff
mov dword [ebp - 0x3044], edx
cmp dword [ebp - 0x3044], 0x1000
jae 0x401c11
jmp 0x401c16
call fcn.0040722d
mov eax, dword [ebp - 0x3044]
mov byte [ebp + eax - 0x1004], 0
jmp 0x401c58
mov ecx, dword [0x42f898]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4 - 4]
push eax
push str.AAAAAA____list_AAtokens__s_option_argument_was_not_supplied_n
call fcn.00401e00
add esp, 8
jmp 0x401d87
push str.AAAAAA____UnknowAAn_add_user_command_option_n
call fcn.00401e00
add esp, 4
jmp 0x401d87
jmp 0x401b8f
mov ecx, dword [ebp + 8]
sub ecx, dword [0x42f898]
cmp ecx, 2
jge 0x401c7d
push str.AAAAAA____Not_enough_argumeAAnts_supplied_to_command_n
call fcn.00401e00
add esp, 4
jmp 0x401d87
mov edx, dword [ebp - 0x300c]
push edx
push str.add_user
call fcn.0040a443
add esp, 8
test eax, eax
jne 0x401cc2
mov eax, dword [0x42f898]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4 + 4]
push edx
mov eax, dword [0x42f898]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4]
push edx
lea eax, [ebp - 0x1004]
push eax
call fcn.004062b0
add esp, 0xc
jmp 0x401d48
mov ecx, dword [ebp - 0x300c]
push ecx
push str.add_localgroup_user
call fcn.0040a443
add esp, 8
test eax, eax
jne 0x401d06
mov edx, dword [0x42f898]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4 + 4]
push ecx
mov edx, dword [0x42f898]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*4]
push ecx
lea edx, [ebp - 0x1004]
push edx
call fcn.00406ad0
add esp, 0xc
jmp 0x401d48
mov eax, dword [ebp - 0x300c]
push eax
push str.add_group_user
call fcn.0040a443
add esp, 8
test eax, eax
jne 0x401d48
mov ecx, dword [0x42f898]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4 + 4]
push eax
mov ecx, dword [0x42f898]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4]
push eax
lea ecx, [ebp - 0x1004]
push ecx
call fcn.004066d0
add esp, 0xc
jmp 0x401d87
mov edx, dword [ebp - 0x300c]
push edx
push str.cleanup
call fcn.0040a443
add esp, 8
test eax, eax
jne 0x401d73
push str.AAAAAA____cleanup_coAAmmand_not_valid_in_this_context._Needs_to_be_a_remote_connection_n
call fcn.00401e00
add esp, 4
jmp 0x401d87
mov eax, dword [ebp - 0x300c]
push eax
push str.AAAAAA____Unknown_command__s_n
call fcn.00401e00
add esp, 8
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004070d2
mov esp, ebp
pop ebp
ret