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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x51
push 0
push 0
dec ecx
jne 0x594c38
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x59595e
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x1c8]
mov eax, 1
call fcn.00427ed0
mov eax, dword [ebp - 0x1c8]
mov edx, 0x59597c
call fcn.0040759c
jne 0x594c82
mov eax, dword [0x5dd994]
mov dword [eax], 3
jmp 0x5958c1
mov byte [ebp - 3], 0
mov byte [ebp - 0x29], 0
mov eax, 0x5959ac
call fcn.0042bd70
mov eax, dword [0x5de274]
add eax, 0xc
mov edx, 0x5959d0
call fcn.004069d4
mov eax, dword [0x5de274]
mov word [eax + 0xbe], 0x2e
mov eax, dword [0x5de5e4]
mov edx, dword [0x5de274]
mov ecx, dword [0x41c344]
call fcn.00407c3c
mov eax, dword [0x5de5e4]
add eax, 0xc
mov edx, 0x5959f0
call fcn.004069d4
lea eax, [ebp - 0x1c4]
mov edx, 0x190
call fcn.0042b030
lea eax, [ebp - 0x1c4]
push eax
mov dl, 2
mov al, 2
call fcn.0040bc00
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 [0x5ddb4c]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0043fc70
call fcn.00593770
mov eax, dword [0x5ddc9c]
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.00427ed0
mov eax, dword [ebp - 0x1d0]
push eax
lea eax, [ebp - 0x1c]
call fcn.00406610
mov ecx, eax
mov eax, 0x595a14
pop edx
call fcn.005ba440
test al, al
je 0x594d85
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0047a450
lea eax, [ebp - 0x24]
call fcn.005932b0
jmp 0x5958c1
lea eax, [ebp - 8]
push eax
mov eax, dword [0x5de62c]
mov eax, dword [eax]
mov dword [ebp - 0x1f8], eax
mov byte [ebp - 0x1f4], 0
mov eax, dword [0x5de62c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1f0], eax
mov byte [ebp - 0x1ec], 0
mov eax, dword [0x5de62c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1e8], eax
mov byte [ebp - 0x1e4], 0
mov eax, dword [0x5de62c]
movzx eax, byte [eax + 0xc]
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 0x1dc], 0
mov eax, dword [0x5de62c]
movzx eax, byte [eax + 0xd]
mov dword [ebp - 0x1d8], eax
mov byte [ebp - 0x1d4], 0
lea edx, [ebp - 0x1f8]
mov ecx, 4
mov eax, 0x595a40
call fcn.0042a7f0
push 0x595a6c
call fcn.0042a630
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x200]
call fcn.0041d200
push dword [ebp - 0x200]
push 0x595a90
lea edx, [ebp - 0x204]
mov eax, dword [0x5ddd78]
mov eax, dword [eax]
call fcn.005bfa80
push dword [ebp - 0x204]
push 0x595ab0
call fcn.00440440
and eax, 0x7f
lea edx, [ebp - 0x208]
call fcn.0041d1d8
push dword [ebp - 0x208]
push 0x595adc
call fcn.00440230
test al, al
je 0x594e79
call fcn.004403a0
test al, al
jne 0x594e7d
xor eax, eax
jmp 0x594e7f
mov al, 1
and eax, 0x7f
lea edx, [ebp - 0x20c]
call fcn.0041d1d8
push dword [ebp - 0x20c]
push 0x595b04
lea eax, [ebp - 0x210]
call fcn.00452a20
push dword [ebp - 0x210]
push 0x595b20
push 0x595b30
call fcn.00441390
lea edx, [ebp - 0x214]
call fcn.0041d1d8
push dword [ebp - 0x214]
push 0x595b54
push dword [ebp - 8]
lea eax, [ebp - 0x1fc]
mov edx, 0xf
call fcn.0040748c
mov edx, dword [ebp - 0x1fc]
mov eax, dword [0x5ddb4c]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0043fc70
mov eax, dword [0x5ddd78]
mov eax, dword [eax]
cmp byte [eax + 0x16], 0
je 0x594f41
lea edx, [ebp - 0x21c]
mov eax, dword [0x5ddd78]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
call fcn.0041d1d8
mov ecx, dword [ebp - 0x21c]
lea eax, [ebp - 0x218]
mov edx, 0x595b74
call fcn.00407404
mov edx, dword [ebp - 0x218]
mov eax, dword [0x5ddb4c]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0043fc70
mov byte [ebp - 4], 1
mov byte [ebp - 1], 0
xor eax, eax
push ebp
push 0x59585f
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x220]
mov eax, dword [0x5ddbac]
mov eax, dword [eax]
call fcn.0044d120
mov edx, dword [ebp - 0x220]
mov eax, dword [0x5ddb24]
call fcn.004069d4
lea edx, [ebp - 0x224]
mov eax, dword [0x5de558]
mov eax, dword [eax]
call fcn.0044d120
mov edx, dword [ebp - 0x224]
mov eax, dword [0x5de4a4]
call fcn.004069d4
xor eax, eax
push ebp
push 0x59584e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5ddd78]
mov eax, dword [eax]
cmp byte [eax + 0x1dc], 0
jne 0x594fbe
call fcn.00591da0
call fcn.00593540
mov eax, dword [0x5ddd78]
mov eax, dword [eax]
cmp byte [eax + 0x1dc], 0
je 0x594fdf
mov eax, dword [0x55652c]
call fcn.0045f0f0
jmp 0x594ff5
mov eax, dword [0x56b734]
call fcn.0045f0f0
mov eax, dword [0x5de188]
mov eax, dword [eax]
mov dword [0x5dd3e0], eax
lea edx, [ebp - 0x228]
mov eax, dword [0x5dda40]
mov eax, dword [eax]
call fcn.0044d120
mov edx, dword [ebp - 0x228]
mov eax, dword [0x5de188]
mov eax, dword [eax]
add eax, 0x94
call fcn.004069d4
cmp dword [0x5dd3e0], 0
je 0x595435
mov al, 5
call fcn.0047db70
test al, al
jne 0x595045
mov al, 0xb
call fcn.0047db70
test al, al
je 0x5953cf
mov al, 5
call fcn.0047db70
test al, al
je 0x595084
mov al, 7
call fcn.0047db70
test al, al
jne 0x595084
mov al, 0xb
call fcn.0047db70
test al, al
jne 0x595084
lea eax, [ebp - 0x29]
call fcn.005945c0
test al, al
jne 0x595084
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5958c1
mov cl, 1
mov edx, 0x595b98
mov eax, 0x595bc8
call fcn.0044db80
mov cl, 1
mov edx, 0x595c0c
mov eax, 0x595c3c
call fcn.0044db80
lea edx, [ebp - 0x22c]
mov eax, 0x595c80
call fcn.005bb120
mov eax, dword [ebp - 0x22c]
mov cl, 1
mov edx, 0x595cbc
call fcn.0044db80
cmp byte [ebp - 0x29], 0
je 0x595186
mov eax, dword [0x5dd3e0]
call fcn.00572ce0
lea edx, [ebp - 0x230]
mov eax, dword [0x5de1a4]
mov eax, dword [eax]
call fcn.0044d120
mov eax, dword [ebp - 0x230]
push eax
lea edx, [ebp - 0x234]
mov eax, dword [0x5dde44]
mov eax, dword [eax]
call fcn.0044d120
mov eax, dword [ebp - 0x234]
push eax
push 0
mov eax, dword [0x5de188]
mov eax, dword [eax]
mov ecx, dword [eax + 0x94]
mov dl, 1
mov eax, dword [0x591b7c]
call fcn.0048dbf0
mov dword [ebp - 0x30], eax
xor eax, eax
push ebp
push 0x59517f
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0
mov eax, dword [ebp - 0x30]
call fcn.004643c0
mov eax, dword [ebp - 0x30]
call fcn.00464760
cmp al, 2
jne 0x595169
call fcn.00405dfc
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5958c1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x595186
mov eax, dword [ebp - 0x30]
call fcn.00405038
ret
call fcn.00440230
test al, al
je 0x5951fe
call fcn.004403a0
test al, al
jne 0x5951fe
call fcn.00440440
test al, al
je 0x5951fe
mov al, 0xb
call fcn.0047db70
test al, al
je 0x5951d5
mov eax, dword [0x5dda5c]
mov eax, dword [eax]
mov dx, word [0x595ce0]
call fcn.0047cac0
test al, al
je 0x5951fe
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5958c1
mov eax, dword [0x5dda5c]
mov eax, dword [eax]
mov dx, word [0x595ce4]
call fcn.0047cac0
test al, al
je 0x5951fe
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5958c1
push 0
xor ecx, ecx
mov dl, 1
mov eax, dword [0x4830e8]
call fcn.00483400
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x59532d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5ddd78]
mov eax, dword [eax]
cmp dword [eax + 0xc4], 0
je 0x595244
mov eax, dword [0x5ddd78]
mov eax, dword [eax]
mov edx, dword [eax + 0xc4]
mov eax, dword [ebp - 0xc]
call fcn.00483760
call fcn.00594570
mov ecx, 1
mov edx, 2
call fcn.0045309c
mov edx, eax
mov eax, dword [ebp - 0xc]
call fcn.004836d0
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.004835c0
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x238]
push eax
mov eax, dword [0x5ddd78]
mov eax, dword [eax]
lea edx, [eax + 0x178]
xor ecx, ecx
mov eax, 0x2a
call fcn.004cdfd0
mov edx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x10]
call fcn.00484260
call fcn.00594570
test al, al
je 0x5952dd
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004835c0
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x23c]
push eax
mov edx, dword [0x5ddc9c]
xor ecx, ecx
mov eax, 0x91
call fcn.004cdfd0
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x10]
call fcn.00484260
mov eax, dword [ebp - 0xc]
call fcn.004837c0
test al, al
je 0x595317
mov dword [ebp - 0x14], 1
mov eax, dword [ebp - 0xc]
call fcn.004835f0
test al, al
je 0x59530f
push 0xa
call sub.kernel32.dll_Sleep_2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xc9
jne 0x5952f0
mov eax, dword [ebp - 0xc]
call fcn.004834e0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x595334
mov eax, dword [ebp - 0xc]
call fcn.00405038
ret
mov eax, dword [0x5ddd78]
mov eax, dword [eax]
cmp byte [eax + 0x158], 0
je 0x595403
mov eax, dword [0x5ddd78]
mov eax, dword [eax]
cmp byte [eax + 0x3c], 6
jne 0x595403
call fcn.005927b0
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5958c1
mov al, 9
call fcn.0047db70
test al, al
je 0x595435
push ebp
call fcn.00594760
pop ecx
mov eax, 0x595cf4
call fcn.0047dac0
test al, al
je 0x595435
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5958c1
lea eax, [ebp - 4]
call fcn.00593f30
test al, al
je 0x595453
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5958c1
mov eax, dword [0x5de188]
mov eax, dword [eax]
call fcn.00556d40
test al, al
jne 0x595475
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5958c1
mov al, 0xc
call fcn.0047db70
test al, al
je 0x595485
call fcn.00591fd0
call fcn.00593930
test al, al
jne 0x595503
mov eax, dword [0x5ddd78]
mov eax, dword [eax]
mov dl, 1
call fcn.005bf550
mov eax, dword [0x5ddb4c]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x595d18
call fcn.0043f720
push 1
push 0
lea edx, [ebp - 0x250]
mov eax, dword [0x5dda40]
mov eax, dword [eax]
call fcn.0044d120
mov eax, dword [ebp - 0x250]
push eax
lea edx, [ebp - 0x254]
mov eax, dword [0x5dded0]
mov eax, dword [eax]
call fcn.0044d120
mov edx, dword [ebp - 0x254]
mov eax, dword [0x5de188]
mov eax, dword [eax]
pop ecx
call fcn.0045c3f0
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5958c1
mov eax, dword [0x5de188]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x98]
cmp dword [0x5dd3e0], 0
je 0x59565d
push 0
push 0
push 0
push 0x2001
call sub.user32.dll_SystemParametersInfoW
mov al, 4
call fcn.0047db70
test al, al
je 0x59553f
call fcn.00592270
mov eax, dword [0x5dd3e0]
call fcn.005708b0
mov eax, dword [0x5dd3e0]
call fcn.00571040
mov al, 4
call fcn.0047db70
test al, al
je 0x5955da
mov al, 0xa
call fcn.0047db70
test al, al
je 0x5955da
mov eax, 0x595d60
call fcn.00593450
test al, al
jne 0x59563b
lea edx, [ebp - 0x258]
mov eax, dword [0x5ddd78]
mov eax, dword [eax]
call fcn.005c0200
mov eax, dword [ebp - 0x258]
cmp dword [eax], 0
jne 0x59563b
mov al, 0xa
call fcn.0047db70
call fcn.0055dd00
test al, al
jne 0x59563b
mov al, 0xa
call fcn.0047db70
test al, al
je 0x5955c8
mov byte [ebp - 4], 0
xor edx, edx
mov al, 1
call fcn.00598380
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5958c1
lea edx, [ebp - 0x25c]
mov eax, dword [0x5ddd78]
mov eax, dword [eax]
call fcn.005bfce0
mov eax, dword [ebp - 0x25c]
call fcn.00428400
test al, al
jne 0x59563b
mov edx, dword [0x5dd9e4]
mov edx, dword [edx]
mov eax, dword [0x5ddd78]
mov eax, dword [eax]
call fcn.005c1760
lea eax, [ebp - 0x28]
call fcn.00406610
lea eax, [ebp - 0x28]
call fcn.00406610
xor edx, edx
call fcn.0055dff0
cmp dword [ebp - 0x28], 0
je 0x59563b
mov eax, dword [0x5ddd78]
mov eax, dword [eax]
mov edx, dword [ebp - 0x28]
call fcn.005c1760
push ebp
call fcn.00594760
pop ecx
test al, al
je 0x595658
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5958c1
call fcn.00582f60
mov eax, dword [0x5ddfa0]
mov eax, dword [eax]
call fcn.0059c080
mov eax, dword [0x5de188]
mov eax, dword [eax]
mov byte [eax + 0xd9], 1
cmp dword [0x5dd3e0], 0
je 0x5957a3
call fcn.00591e10
mov eax, dword [0x5ddd78]
mov eax, dword [eax]
cmp dword [eax + 0x18c], 0
je 0x5956ce
mov eax, dword [0x5ddd78]
mov eax, dword [eax]
mov byte [eax + 0x1a0], 1
call fcn.00592d10
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
jne 0x5956d2
mov eax, dword [0x5ddd78]
mov eax, dword [eax]
mov edx, dword [eax + 0x18c]
mov eax, dword [0x5dd3e0]
call fcn.0056f5a0
jmp 0x5956d2
mov byte [ebp - 0x15], 0
mov dl, 1
mov eax, dword [0x52f8f0]
call fcn.0053eab0
mov eax, 0x595d94
mov dword [ebp - 0x270], eax
mov eax, 0x595dac
mov dword [ebp - 0x26c], eax
mov eax, 0x595dc4
mov dword [ebp - 0x268], eax
mov eax, 0x595de4
mov dword [ebp - 0x264], eax
mov eax, 0x595e08
mov dword [ebp - 0x260], eax
lea eax, [ebp - 0x270]
mov edx, 4
call fcn.005ba280
mov eax, dword [0x5ddd78]
mov eax, dword [eax]
mov ecx, dword [eax + 0x18c]
lea eax, [ebp - 0x274]
mov edx, 0x595e30
call fcn.00407404
mov edx, dword [ebp - 0x274]
mov eax, dword [0x5ddb4c]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0043f6a0
mov eax, dword [0x5ddd78]
mov eax, dword [eax]
cmp dword [eax + 0x18c], 0
je 0x595794
cmp byte [ebp - 0x15], 0
jne 0x595794
lea edx, [ebp - 0x278]
mov eax, dword [0x5ddd78]
mov eax, dword [eax]
mov eax, dword [eax + 0x18c]
call fcn.0042c090
mov edx, dword [ebp - 0x278]
mov eax, dword [0x5dd3e0]
call fcn.0056edf0
mov eax, dword [0x5dd3e0]
call fcn.0057b770
call fcn.00594330
mov eax, dword [0x5ddd78]
mov eax, dword [eax]
mov byte [eax + 0x1a0], 0
mov eax, dword [0x5ddd78]
mov eax, dword [eax]
call fcn.005c06d0
mov byte [ebp - 3], 0
mov eax, dword [0x5de188]
mov eax, dword [eax]
call fcn.0045c1a0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x595855
cmp byte [ebp - 3], 0
je 0x5957ec
mov eax, dword [0x5ddd78]
mov eax, dword [eax]
call fcn.005c06d0
cmp byte [ebp - 4], 0
je 0x595832
call fcn.0042a630
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x280]
call fcn.0041d200
mov ecx, dword [ebp - 0x280]
lea eax, [ebp - 0x27c]
mov edx, 0x595e70
call fcn.00407404
mov edx, dword [ebp - 0x27c]
mov eax, dword [0x5ddb4c]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0043fc70
jmp 0x59583c
mov eax, dword [0x5ddb4c]
call fcn.00424518
call fcn.0045f6f0
xor eax, eax
mov dword [0x5dd3e0], eax
call fcn.00583430
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x595968
lea eax, [ebp - 0x288]
mov edx, 6
call fcn.00406670
lea eax, [ebp - 0x25c]
call fcn.00406610
lea eax, [ebp - 0x258]
mov edx, dword [0x427a7c]
call fcn.0040851c
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