Function at 0x5964b0
Capabilities:
Accept command line arguments
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x51
push 0
push 0
dec ecx
jne 0x5964b8
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x5971ea
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x1c8]
mov eax, 1
call fcn.00427ea0
mov eax, dword [ebp - 0x1c8]
mov edx, 0x597208
call fcn.0040759c
jne 0x596502
mov eax, dword [0x5df894]
mov dword [eax], 3
jmp 0x59714d
mov byte [ebp - 3], 0
mov byte [ebp - 0x29], 0
mov eax, 0x597238
call fcn.0042bd40
mov eax, dword [0x5e0170]
add eax, 0xc
mov edx, 0x59725c
call fcn.004069d4
mov eax, dword [0x5e0170]
mov word [eax + 0xbe], 0x2e
mov eax, dword [0x5e04e0]
mov edx, dword [0x5e0170]
mov ecx, dword [0x41c324]
call fcn.00407c3c
mov eax, dword [0x5e04e0]
add eax, 0xc
mov edx, 0x59727c
call fcn.004069d4
lea eax, [ebp - 0x1c4]
mov edx, 0x190
call fcn.0042b000
lea eax, [ebp - 0x1c4]
push eax
mov dl, 2
mov al, 2
call fcn.0040bbe4
push eax
call sub.ws2_32.dll_WSAStartup
call sub.kernel32.dll_GetCommandLineW_1
mov edx, eax
lea eax, [ebp - 0x1cc]
call fcn.0040726c
mov edx, dword [ebp - 0x1cc]
mov eax, dword [0x5dfa4c]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0043f8a0
call fcn.00594e20
mov eax, dword [0x5dfb9c]
mov edx, dword [eax]
mov dword [ebp - 0x24], edx
mov edx, dword [eax + 4]
mov dword [ebp - 0x20], edx
lea edx, [ebp - 0x1d0]
mov eax, 1
call fcn.00427ea0
mov eax, dword [ebp - 0x1d0]
push eax
lea eax, [ebp - 0x1c]
call fcn.00406610
mov ecx, eax
mov eax, 0x5972a0
pop edx
call fcn.005bbf60
test al, al
je 0x596605
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0047a260
lea eax, [ebp - 0x24]
call fcn.00594960
jmp 0x59714d
lea eax, [ebp - 8]
push eax
mov eax, dword [0x5e0528]
mov eax, dword [eax]
mov dword [ebp - 0x1f8], eax
mov byte [ebp - 0x1f4], 0
mov eax, dword [0x5e0528]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1f0], eax
mov byte [ebp - 0x1ec], 0
mov eax, dword [0x5e0528]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1e8], eax
mov byte [ebp - 0x1e4], 0
mov eax, dword [0x5e0528]
movzx eax, byte [eax + 0xc]
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 0x1dc], 0
mov eax, dword [0x5e0528]
movzx eax, byte [eax + 0xd]
mov dword [ebp - 0x1d8], eax
mov byte [ebp - 0x1d4], 0
lea edx, [ebp - 0x1f8]
mov ecx, 4
mov eax, 0x5972cc
call fcn.0042a7c0
push 0x5972f8
call fcn.0042a600
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x200]
call fcn.0041d1e0
push dword [ebp - 0x200]
push 0x59731c
lea edx, [ebp - 0x204]
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
call fcn.005c1650
push dword [ebp - 0x204]
push 0x59733c
push 0x597360
push 0x59738c
call fcn.00440070
and eax, 0x7f
lea edx, [ebp - 0x208]
call fcn.0041d1b8
push dword [ebp - 0x208]
push 0x5973b8
call fcn.0043fe60
test al, al
je 0x596703
call fcn.0043ffd0
test al, al
jne 0x596707
xor eax, eax
jmp 0x596709
mov al, 1
and eax, 0x7f
lea edx, [ebp - 0x20c]
call fcn.0041d1b8
push dword [ebp - 0x20c]
push 0x5973e0
lea eax, [ebp - 0x210]
call fcn.00452680
push dword [ebp - 0x210]
push 0x5973fc
push 0x59740c
call fcn.00440f70
lea edx, [ebp - 0x214]
call fcn.0041d1b8
push dword [ebp - 0x214]
push 0x597430
push dword [ebp - 8]
lea eax, [ebp - 0x1fc]
mov edx, 0x11
call fcn.0040748c
mov edx, dword [ebp - 0x1fc]
mov eax, dword [0x5dfa4c]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0043f8a0
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
cmp byte [eax + 0x16], 0
je 0x5967cb
lea edx, [ebp - 0x21c]
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
call fcn.0041d1b8
mov ecx, dword [ebp - 0x21c]
lea eax, [ebp - 0x218]
mov edx, 0x597450
call fcn.00407404
mov edx, dword [ebp - 0x218]
mov eax, dword [0x5dfa4c]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0043f8a0
mov byte [ebp - 4], 1
mov byte [ebp - 1], 0
xor eax, eax
push ebp
push 0x5970e9
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x220]
mov eax, dword [0x5dfaa8]
mov eax, dword [eax]
call fcn.0044cd20
mov edx, dword [ebp - 0x220]
mov eax, dword [0x5dfa24]
call fcn.004069d4
lea edx, [ebp - 0x224]
mov eax, dword [0x5e0454]
mov eax, dword [eax]
call fcn.0044cd20
mov edx, dword [ebp - 0x224]
mov eax, dword [0x5e03a0]
call fcn.004069d4
xor eax, eax
push ebp
push 0x5970d8
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
cmp byte [eax + 0x1dc], 0
jne 0x596848
call fcn.00593440
call fcn.00594bf0
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
cmp byte [eax + 0x1dc], 0
je 0x596869
mov eax, dword [0x55732c]
call fcn.0045ed80
jmp 0x59687f
mov eax, dword [0x56e4b4]
call fcn.0045ed80
mov eax, dword [0x5e0088]
mov eax, dword [eax]
mov dword [0x5df2e0], eax
lea edx, [ebp - 0x228]
mov eax, dword [0x5df940]
mov eax, dword [eax]
call fcn.0044cd20
mov edx, dword [ebp - 0x228]
mov eax, dword [0x5e0088]
mov eax, dword [eax]
add eax, 0x94
call fcn.004069d4
cmp dword [0x5df2e0], 0
je 0x596cbf
mov al, 5
call fcn.0047d980
test al, al
jne 0x5968cf
mov al, 0xb
call fcn.0047d980
test al, al
je 0x596c59
mov al, 5
call fcn.0047d980
test al, al
je 0x59690e
mov al, 7
call fcn.0047d980
test al, al
jne 0x59690e
mov al, 0xb
call fcn.0047d980
test al, al
jne 0x59690e
lea eax, [ebp - 0x29]
call fcn.00595e30
test al, al
jne 0x59690e
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59714d
mov cl, 1
mov edx, 0x597474
mov eax, 0x5974a4
call fcn.0044d790
mov cl, 1
mov edx, 0x5974e8
mov eax, 0x597518
call fcn.0044d790
lea edx, [ebp - 0x22c]
mov eax, 0x59755c
call fcn.005bcc40
mov eax, dword [ebp - 0x22c]
mov cl, 1
mov edx, 0x597598
call fcn.0044d790
cmp byte [ebp - 0x29], 0
je 0x596a10
mov eax, dword [0x5df2e0]
call fcn.005597c0
lea edx, [ebp - 0x230]
mov eax, dword [0x5e00a4]
mov eax, dword [eax]
call fcn.0044cd20
mov eax, dword [ebp - 0x230]
push eax
lea edx, [ebp - 0x234]
mov eax, dword [0x5dfd44]
mov eax, dword [eax]
call fcn.0044cd20
mov eax, dword [ebp - 0x234]
push eax
push 0
mov eax, dword [0x5e0088]
mov eax, dword [eax]
mov ecx, dword [eax + 0x94]
mov dl, 1
mov eax, dword [0x59321c]
call fcn.0048da40
mov dword [ebp - 0x30], eax
xor eax, eax
push ebp
push 0x596a09
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0
mov eax, dword [ebp - 0x30]
call fcn.004640c0
mov eax, dword [ebp - 0x30]
call fcn.00464460
cmp al, 2
jne 0x5969f3
call fcn.00405dfc
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59714d
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x596a10
mov eax, dword [ebp - 0x30]
call fcn.00405038
ret
call fcn.0043fe60
test al, al
je 0x596a88
call fcn.0043ffd0
test al, al
jne 0x596a88
call fcn.00440070
test al, al
je 0x596a88
mov al, 0xb
call fcn.0047d980
test al, al
je 0x596a5f
mov eax, dword [0x5df95c]
mov eax, dword [eax]
mov dx, word [0x5975bc]
call fcn.0047c8d0
test al, al
je 0x596a88
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59714d
mov eax, dword [0x5df95c]
mov eax, dword [eax]
mov dx, word [0x5975c0]
call fcn.0047c8d0
test al, al
je 0x596a88
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59714d
push 0
xor ecx, ecx
mov dl, 1
mov eax, dword [0x482f18]
call fcn.00483230
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x596bb7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
cmp dword [eax + 0xc4], 0
je 0x596ace
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
mov edx, dword [eax + 0xc4]
mov eax, dword [ebp - 0xc]
call fcn.00483590
call fcn.00595de0
mov ecx, 1
mov edx, 2
call fcn.00452cfc
mov edx, eax
mov eax, dword [ebp - 0xc]
call fcn.00483500
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.004833f0
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x238]
push eax
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
lea edx, [eax + 0x178]
xor ecx, ecx
mov eax, 0x2a
call fcn.004cdc10
mov edx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x10]
call fcn.00484090
call fcn.00595de0
test al, al
je 0x596b67
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004833f0
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x23c]
push eax
mov edx, dword [0x5dfb9c]
xor ecx, ecx
mov eax, 0x91
call fcn.004cdc10
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x10]
call fcn.00484090
mov eax, dword [ebp - 0xc]
call fcn.004835f0
test al, al
je 0x596ba1
mov dword [ebp - 0x14], 1
mov eax, dword [ebp - 0xc]
call fcn.00483420
test al, al
je 0x596b99
push 0xa
call sub.kernel32.dll_Sleep_2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xc9
jne 0x596b7a
mov eax, dword [ebp - 0xc]
call fcn.00483310
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x596bbe
mov eax, dword [ebp - 0xc]
call fcn.00405038
ret
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
cmp byte [eax + 0x158], 0
je 0x596c8d
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
cmp byte [eax + 0x3c], 6
jne 0x596c8d
call fcn.00593e60
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59714d
mov al, 9
call fcn.0047d980
test al, al
je 0x596cbf
push ebp
call fcn.00595fd0
pop ecx
mov eax, 0x5975d0
call fcn.0047d8d0
test al, al
je 0x596cbf
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59714d
lea eax, [ebp - 4]
call fcn.005957a0
test al, al
je 0x596cdd
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59714d
mov eax, dword [0x5e0088]
mov eax, dword [eax]
call fcn.00557e00
test al, al
jne 0x596cff
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59714d
mov al, 0xc
call fcn.0047d980
test al, al
je 0x596d0f
call fcn.00593680
call fcn.00595580
test al, al
jne 0x596d8d
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
mov dl, 1
call fcn.005c1120
mov eax, dword [0x5dfa4c]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x5975f4
call fcn.0043f350
push 1
push 0
lea edx, [ebp - 0x250]
mov eax, dword [0x5df940]
mov eax, dword [eax]
call fcn.0044cd20
mov eax, dword [ebp - 0x250]
push eax
lea edx, [ebp - 0x254]
mov eax, dword [0x5dfdd0]
mov eax, dword [eax]
call fcn.0044cd20
mov edx, dword [ebp - 0x254]
mov eax, dword [0x5e0088]
mov eax, dword [eax]
pop ecx
call fcn.0045c080
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59714d
mov eax, dword [0x5e0088]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0xa8]
cmp dword [0x5df2e0], 0
je 0x596ee7
push 0
push 0
push 0
push 0x2001
call sub.user32.dll_SystemParametersInfoW
mov al, 4
call fcn.0047d980
test al, al
je 0x596dc9
call fcn.00593920
mov eax, dword [0x5df2e0]
call fcn.00573630
mov eax, dword [0x5df2e0]
call fcn.00573dd0
mov al, 4
call fcn.0047d980
test al, al
je 0x596e64
mov al, 0xa
call fcn.0047d980
test al, al
je 0x596e64
mov eax, 0x59763c
call fcn.00594b00
test al, al
jne 0x596ec5
lea edx, [ebp - 0x258]
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
call fcn.005c1dd0
mov eax, dword [ebp - 0x258]
cmp dword [eax], 0
jne 0x596ec5
mov al, 0xa
call fcn.0047d980
call fcn.00560af0
test al, al
jne 0x596ec5
mov al, 0xa
call fcn.0047d980
test al, al
je 0x596e52
mov byte [ebp - 4], 0
xor edx, edx
mov al, 1
call fcn.00599ca0
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59714d
lea edx, [ebp - 0x25c]
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
call fcn.005c18b0
mov eax, dword [ebp - 0x25c]
call fcn.004283d0
test al, al
jne 0x596ec5
mov edx, dword [0x5df8e4]
mov edx, dword [edx]
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
call fcn.005c3360
lea eax, [ebp - 0x28]
call fcn.00406610
lea eax, [ebp - 0x28]
call fcn.00406610
xor edx, edx
call fcn.00560de0
cmp dword [ebp - 0x28], 0
je 0x596ec5
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
mov edx, dword [ebp - 0x28]
call fcn.005c3360
push ebp
call fcn.00595fd0
pop ecx
test al, al
je 0x596ee2
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59714d
call fcn.00584200
mov eax, dword [0x5dfea0]
mov eax, dword [eax]
call fcn.0059d9d0
mov eax, dword [0x5e0088]
mov eax, dword [eax]
mov byte [eax + 0xd9], 1
cmp dword [0x5df2e0], 0
je 0x59702d
call fcn.005934b0
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
cmp dword [eax + 0x18c], 0
je 0x596f58
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
mov byte [eax + 0x1a0], 1
call fcn.005943c0
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
jne 0x596f5c
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
mov edx, dword [eax + 0x18c]
mov eax, dword [0x5df2e0]
call fcn.005723a0
jmp 0x596f5c
mov byte [ebp - 0x15], 0
mov dl, 1
mov eax, dword [0x530480]
call fcn.0053f6a0
mov eax, 0x597670
mov dword [ebp - 0x270], eax
mov eax, 0x597688
mov dword [ebp - 0x26c], eax
mov eax, 0x5976a0
mov dword [ebp - 0x268], eax
mov eax, 0x5976c0
mov dword [ebp - 0x264], eax
mov eax, 0x5976e4
mov dword [ebp - 0x260], eax
lea eax, [ebp - 0x270]
mov edx, 4
call fcn.005bbd90
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
mov ecx, dword [eax + 0x18c]
lea eax, [ebp - 0x274]
mov edx, 0x59770c
call fcn.00407404
mov edx, dword [ebp - 0x274]
mov eax, dword [0x5dfa4c]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0043f2d0
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
cmp dword [eax + 0x18c], 0
je 0x59701e
cmp byte [ebp - 0x15], 0
jne 0x59701e
lea edx, [ebp - 0x278]
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
mov eax, dword [eax + 0x18c]
call fcn.0042c060
mov edx, dword [ebp - 0x278]
mov eax, dword [0x5df2e0]
call fcn.00571be0
mov eax, dword [0x5df2e0]
call fcn.0057c9b0
call fcn.00595ba0
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
mov byte [eax + 0x1a0], 0
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
call fcn.005c22d0
mov byte [ebp - 3], 0
mov eax, dword [0x5e0088]
mov eax, dword [eax]
call fcn.0045be30
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5970df
cmp byte [ebp - 3], 0
je 0x597076
mov eax, dword [0x5dfc78]
mov eax, dword [eax]
call fcn.005c22d0
cmp byte [ebp - 4], 0
je 0x5970bc
call fcn.0042a600
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x280]
call fcn.0041d1e0
mov ecx, dword [ebp - 0x280]
lea eax, [ebp - 0x27c]
mov edx, 0x59774c
call fcn.00407404
mov edx, dword [ebp - 0x27c]
mov eax, dword [0x5dfa4c]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0043f8a0
jmp 0x5970c6
mov eax, dword [0x5dfa4c]
call fcn.004244f8
call fcn.0045f380
xor eax, eax
mov dword [0x5df2e0], eax
call fcn.005846e0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5971f4
lea eax, [ebp - 0x288]
mov edx, 6
call fcn.00406670
lea eax, [ebp - 0x25c]
call fcn.00406610
lea eax, [ebp - 0x258]
mov edx, dword [0x427a4c]
call fcn.004084d0
lea eax, [ebp - 0x254]
mov edx, 3
call fcn.00406670
lea eax, [ebp - 0x240]
call fcn.00406610
lea eax, [ebp - 0x23c]
mov edx, 2
call fcn.004066a0
lea eax, [ebp - 0x234]
mov edx, 0xf
call fcn.00406670
lea eax, [ebp - 0x1d0]
mov edx, 3
call fcn.00406670
lea eax, [ebp - 0x28]
call fcn.00406610
lea eax, [ebp - 0x1c]
call fcn.00406610
lea eax, [ebp - 8]
call fcn.00406610
ret