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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x4c
push 0
push 0
dec ecx
jne 0x5658a8
push ecx
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x56641e
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x1c0]
mov eax, 1
call fcn.004277e0
mov eax, dword [ebp - 0x1c0]
mov edx, 0x56643c
call fcn.00407588
jne 0x5658f3
mov eax, dword [0x59f714]
mov dword [eax], 3
jmp 0x56638b
mov byte [ebp - 3], 0
mov eax, 0x56646c
call fcn.0042b190
mov eax, dword [0x59ff14]
add eax, 0xc
mov edx, 0x566490
call fcn.00406970
mov eax, dword [0x59ff14]
mov word [eax + 0xbe], 0x2e
mov eax, dword [0x5a021c]
mov edx, dword [0x59ff14]
mov ecx, dword [0x41c27c]
call fcn.00407c28
mov eax, dword [0x5a021c]
add eax, 0xc
mov edx, 0x5664b0
call fcn.00406970
lea eax, [ebp - 0x1bc]
mov edx, 0x190
call fcn.0042a4b0
lea eax, [ebp - 0x1bc]
push eax
mov dl, 2
mov al, 2
call fcn.0040bb88
push eax
call sub.ws2_32.dll_WSAStartup
call sub.kernel32.dll_GetCommandLineW_1
mov edx, eax
lea eax, [ebp - 0x1c4]
call fcn.00407258
mov edx, dword [ebp - 0x1c4]
mov eax, dword [0x59f8a8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00436740
mov ax, 0x27f
call fcn.00404b30
mov eax, dword [0x59f9ec]
mov edx, dword [eax]
mov dword [ebp - 0x24], edx
mov edx, dword [eax + 4]
mov dword [ebp - 0x20], edx
lea edx, [ebp - 0x1c8]
mov eax, 1
call fcn.004277e0
mov eax, dword [ebp - 0x1c8]
push eax
lea eax, [ebp - 0x1c]
call fcn.004065ac
mov ecx, eax
mov eax, 0x5664d4
pop edx
call fcn.0057d4f0
test al, al
je 0x5659f6
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0046e9c0
lea eax, [ebp - 0x24]
call fcn.00564e90
jmp 0x56638b
lea eax, [ebp - 8]
push eax
mov eax, dword [0x5a025c]
mov eax, dword [eax]
mov dword [ebp - 0x1f0], eax
mov byte [ebp - 0x1ec], 0
mov eax, dword [0x5a025c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1e8], eax
mov byte [ebp - 0x1e4], 0
mov eax, dword [0x5a025c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 0x1dc], 0
mov eax, dword [0x5a025c]
movzx eax, byte [eax + 0xc]
mov dword [ebp - 0x1d8], eax
mov byte [ebp - 0x1d4], 0
mov eax, dword [0x5a025c]
movzx eax, byte [eax + 0xd]
mov dword [ebp - 0x1d0], eax
mov byte [ebp - 0x1cc], 0
lea edx, [ebp - 0x1f0]
mov ecx, 4
mov eax, 0x566500
call fcn.00429d20
push 0x56652c
call fcn.00429b60
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x1f8]
call fcn.0041d070
push dword [ebp - 0x1f8]
push 0x566550
lea edx, [ebp - 0x1fc]
mov eax, dword [0x59faac]
mov eax, dword [eax]
call fcn.00582fd0
push dword [ebp - 0x1fc]
push 0x566570
call fcn.00436f00
and eax, 0x7f
lea edx, [ebp - 0x200]
call fcn.0041d048
push dword [ebp - 0x200]
push 0x56659c
call fcn.00436cf0
test al, al
je 0x565aea
call fcn.00436e60
test al, al
jne 0x565aee
xor eax, eax
jmp 0x565af0
mov al, 1
and eax, 0x7f
lea edx, [ebp - 0x204]
call fcn.0041d048
push dword [ebp - 0x204]
push 0x5665c4
lea eax, [ebp - 0x208]
call fcn.00448dc0
push dword [ebp - 0x208]
push 0x5665e0
push 0x5665f0
call fcn.00437e30
lea edx, [ebp - 0x20c]
call fcn.0041d048
push dword [ebp - 0x20c]
push 0x566614
push dword [ebp - 8]
lea eax, [ebp - 0x1f4]
mov edx, 0xf
call fcn.00407478
mov edx, dword [ebp - 0x1f4]
mov eax, dword [0x59f8a8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00436740
mov eax, dword [0x59faac]
mov eax, dword [eax]
cmp byte [eax + 0x19], 0
je 0x565bb2
lea edx, [ebp - 0x214]
mov eax, dword [0x59faac]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
call fcn.0041d048
mov ecx, dword [ebp - 0x214]
lea eax, [ebp - 0x210]
mov edx, 0x566634
call fcn.004073f0
mov edx, dword [ebp - 0x210]
mov eax, dword [0x59f8a8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00436740
mov byte [ebp - 4], 1
mov byte [ebp - 1], 0
xor eax, eax
push ebp
push 0x566329
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x218]
mov eax, dword [0x59f8fc]
mov eax, dword [eax]
call fcn.00443480
mov edx, dword [ebp - 0x218]
mov eax, dword [0x59f888]
call fcn.00406970
lea edx, [ebp - 0x21c]
mov eax, dword [0x5a01b0]
mov eax, dword [eax]
call fcn.00443480
mov edx, dword [ebp - 0x21c]
mov eax, dword [0x5a0118]
call fcn.00406970
xor eax, eax
push ebp
push 0x566318
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x59faac]
mov eax, dword [eax]
cmp byte [eax + 0x1b4], 0
jne 0x565c2f
call fcn.00563b60
call fcn.00565120
mov eax, dword [0x59faac]
mov eax, dword [eax]
cmp byte [eax + 0x1b4], 0
je 0x565c50
mov eax, dword [0x4fda50]
call fcn.00453c00
jmp 0x565c66
mov eax, dword [0x53d5d4]
call fcn.00453c00
mov eax, dword [0x59fe44]
mov eax, dword [eax]
mov dword [0x59f3c0], eax
lea edx, [ebp - 0x220]
mov eax, dword [0x59f7b0]
mov eax, dword [eax]
call fcn.00443480
mov edx, dword [ebp - 0x220]
mov eax, dword [0x59fe44]
mov eax, dword [eax]
add eax, 0x94
call fcn.00406970
cmp dword [0x59f3c0], 0
je 0x565f59
mov al, 5
call fcn.00472010
test al, al
jne 0x565cb6
mov al, 0xb
call fcn.00472010
test al, al
je 0x565ef3
mov al, 5
call fcn.00472010
test al, al
je 0x565cf4
mov al, 7
call fcn.00472010
test al, al
jne 0x565cf4
mov al, 0xb
call fcn.00472010
test al, al
jne 0x565cf4
push ebp
call fcn.00565770
pop ecx
test al, al
jne 0x565cf4
call fcn.00405d98
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x56638b
mov cl, 1
mov edx, 0x566658
mov eax, 0x566688
call fcn.00443ee0
mov cl, 1
mov edx, 0x5666cc
mov eax, 0x5666fc
call fcn.00443ee0
mov cl, 1
mov edx, 0x566740
mov eax, 0x566770
call fcn.00443ee0
call fcn.00436cf0
test al, al
je 0x565d9f
call fcn.00436e60
test al, al
jne 0x565d9f
call fcn.00436f00
test al, al
je 0x565d9f
mov al, 0xb
call fcn.00472010
test al, al
je 0x565d76
mov eax, dword [0x59f7d4]
mov eax, dword [eax]
mov dx, word [0x5667a0]
call fcn.00470f60
test al, al
je 0x565d9f
call fcn.00405d98
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x56638b
mov eax, dword [0x59f7d4]
mov eax, dword [eax]
mov dx, word [0x5667a4]
call fcn.00470f60
test al, al
je 0x565d9f
call fcn.00405d98
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x56638b
mov dl, 1
mov eax, dword [0x48ecb8]
call fcn.0048eff0
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x565e51
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.0048f2e0
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.0048f1d0
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x224]
mov eax, dword [0x59faac]
mov eax, dword [eax]
lea edx, [eax + 0x150]
mov eax, 0x2a
call fcn.00501930
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x10]
call fcn.0048fd50
mov eax, dword [ebp - 0xc]
call fcn.0048f360
test al, al
je 0x565e3b
mov dword [ebp - 0x14], 1
mov eax, dword [ebp - 0xc]
call fcn.0048f200
test al, al
je 0x565e33
push 0xa
call sub.kernel32.dll_Sleep_2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xc9
jne 0x565e14
mov eax, dword [ebp - 0xc]
call fcn.0048f0f0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x565e58
mov eax, dword [ebp - 0xc]
call fcn.00404fd4
ret
mov eax, dword [0x59faac]
mov eax, dword [eax]
cmp byte [eax + 0x130], 0
je 0x565f27
mov eax, dword [0x59faac]
mov eax, dword [eax]
cmp byte [eax + 0x3c], 6
jne 0x565f27
call fcn.00564390
call fcn.00405d98
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x56638b
mov al, 9
call fcn.00472010
test al, al
je 0x565f59
push ebp
call fcn.00565280
pop ecx
mov eax, 0x5667b4
call fcn.00471f60
test al, al
je 0x565f59
call fcn.00405d98
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x56638b
mov eax, dword [0x59fe44]
mov eax, dword [eax]
call fcn.004fe100
test al, al
jne 0x565f7b
call fcn.00405d98
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x56638b
mov eax, dword [0x59fe44]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x8c]
cmp dword [0x59f3c0], 0
je 0x56613d
push 0
push 0
push 0
push 0x2001
call sub.user32.dll_SystemParametersInfoW
mov al, 4
call fcn.00472010
test al, al
jne 0x565fbc
mov eax, dword [0x59fbe0]
cmp byte [eax], 0
je 0x565fc1
call fcn.00563e40
mov eax, dword [0x59f3c0]
call fcn.00541ca0
mov eax, dword [0x59f3c0]
call fcn.00542500
mov al, 4
call fcn.00472010
test al, al
je 0x5660ba
mov al, 0xa
call fcn.00472010
test al, al
je 0x5660ba
mov eax, dword [0x59faac]
mov eax, dword [eax]
call fcn.00581580
test al, al
je 0x56601e
mov eax, dword [0x59faac]
mov eax, dword [eax]
cmp dword [eax + 0x5c], 0
jne 0x56601e
mov eax, dword [0x59faac]
mov eax, dword [eax]
mov dl, 2
call fcn.005885f0
mov eax, dword [0x59faac]
mov eax, dword [eax]
cmp byte [eax + 0xe4], 0
je 0x566049
mov eax, dword [0x59faac]
mov eax, dword [eax]
cmp dword [eax + 0x5c], 0
jne 0x566049
mov eax, dword [0x59faac]
mov eax, dword [eax]
mov dl, 1
call fcn.005885f0
mov eax, 0x5667d8
call fcn.00565030
test al, al
jne 0x56611b
lea edx, [ebp - 0x238]
mov eax, dword [0x59faac]
mov eax, dword [eax]
call fcn.00583a20
mov eax, dword [ebp - 0x238]
cmp dword [eax], 0
jne 0x56611b
mov al, 0xa
call fcn.00472010
call fcn.004e3670
test al, al
jne 0x56611b
mov al, 0xa
call fcn.00472010
test al, al
je 0x5660a8
mov byte [ebp - 4], 0
xor edx, edx
mov al, 1
call fcn.00552930
call fcn.00405d98
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x56638b
lea edx, [ebp - 0x23c]
mov eax, dword [0x59faac]
mov eax, dword [eax]
call fcn.005832f0
mov eax, dword [ebp - 0x23c]
call fcn.00427cc0
test al, al
jne 0x56611b
mov edx, dword [0x59f764]
mov edx, dword [edx]
mov eax, dword [0x59faac]
mov eax, dword [eax]
call fcn.00585910
lea eax, [ebp - 0x28]
call fcn.004065ac
lea eax, [ebp - 0x28]
call fcn.004065ac
xor edx, edx
call fcn.004e39a0
cmp dword [ebp - 0x28], 0
je 0x56611b
mov eax, dword [0x59faac]
mov eax, dword [eax]
mov edx, dword [ebp - 0x28]
call fcn.00585910
push ebp
call fcn.00565280
pop ecx
test al, al
je 0x566138
call fcn.00405d98
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x56638b
call fcn.0055c600
mov eax, dword [0x59fc90]
mov eax, dword [eax]
call fcn.00556a80
mov eax, dword [0x59fe44]
mov eax, dword [eax]
mov byte [eax + 0xd9], 1
cmp dword [0x59f3c0], 0
je 0x56626d
call fcn.00563bd0
mov eax, dword [0x59faac]
mov eax, dword [eax]
cmp dword [eax + 0x160], 0
je 0x5661ae
mov eax, dword [0x59faac]
mov eax, dword [eax]
mov byte [eax + 0x178], 1
call fcn.005648f0
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
jne 0x5661b2
mov eax, dword [0x59faac]
mov eax, dword [eax]
mov edx, dword [eax + 0x160]
mov eax, dword [0x59f3c0]
call fcn.005409b0
jmp 0x5661b2
mov byte [ebp - 0x15], 0
mov dl, 1
mov eax, dword [0x519c68]
call fcn.00527ea0
mov eax, 0x56680c
mov dword [ebp - 0x250], eax
mov eax, 0x566824
mov dword [ebp - 0x24c], eax
mov eax, 0x56683c
mov dword [ebp - 0x248], eax
mov eax, 0x56685c
mov dword [ebp - 0x244], eax
mov eax, 0x566880
mov dword [ebp - 0x240], eax
lea eax, [ebp - 0x250]
mov edx, 4
call fcn.0057d330
mov eax, dword [0x59faac]
mov eax, dword [eax]
mov ecx, dword [eax + 0x160]
lea eax, [ebp - 0x254]
mov edx, 0x5668a8
call fcn.004073f0
mov edx, dword [ebp - 0x254]
mov eax, dword [0x59f8a8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.004361b0
mov eax, dword [0x59faac]
mov eax, dword [eax]
cmp dword [eax + 0x160], 0
je 0x566263
cmp byte [ebp - 0x15], 0
jne 0x566263
mov eax, dword [0x59faac]
mov eax, dword [eax]
mov edx, dword [eax + 0x160]
mov eax, dword [0x59f3c0]
call fcn.00540200
mov eax, dword [0x59f3c0]
call fcn.0054a2e0
mov eax, dword [0x59faac]
mov eax, dword [eax]
mov byte [eax + 0x178], 0
mov eax, dword [0x59faac]
mov eax, dword [eax]
call fcn.00583ec0
mov byte [ebp - 3], 0
mov eax, dword [0x59fe44]
mov eax, dword [eax]
call fcn.00450d30
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x56631f
cmp byte [ebp - 3], 0
je 0x5662b6
mov eax, dword [0x59faac]
mov eax, dword [eax]
call fcn.00583ec0
cmp byte [ebp - 4], 0
je 0x5662fc
call fcn.00429b60
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x25c]
call fcn.0041d070
mov ecx, dword [ebp - 0x25c]
lea eax, [ebp - 0x258]
mov edx, 0x5668e8
call fcn.004073f0
mov edx, dword [ebp - 0x258]
mov eax, dword [0x59f8a8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00436740
jmp 0x566306
mov eax, dword [0x59f8a8]
call fcn.00423f7c
call fcn.004541d0
xor eax, eax
mov dword [0x59f3c0], eax
call fcn.0055cad0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x566428
lea eax, [ebp - 0x264]
mov edx, 5
call fcn.0040660c
lea eax, [ebp - 0x23c]
call fcn.004065ac
lea eax, [ebp - 0x238]
mov edx, dword [0x427388]
call fcn.004084f0
lea eax, [ebp - 0x234]
call fcn.004065ac
lea eax, [ebp - 0x228]
call fcn.004065ac
lea eax, [ebp - 0x224]
call fcn.004065d0
lea eax, [ebp - 0x220]
mov edx, 0xc
call fcn.0040660c
lea eax, [ebp - 0x1c8]
mov edx, 3
call fcn.0040660c
lea eax, [ebp - 0x28]
call fcn.004065ac
lea eax, [ebp - 0x1c]
call fcn.004065ac
lea eax, [ebp - 8]
call fcn.004065ac
ret