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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x51
push 0
push 0
dec ecx
jne 0x5945e8
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x59530e
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x1c8]
mov eax, 1
call fcn.00427f40
mov eax, dword [ebp - 0x1c8]
mov edx, 0x59532c
call fcn.0040759c
jne 0x594632
mov eax, dword [0x5dc974]
mov dword [eax], 3
jmp 0x595271
mov byte [ebp - 3], 0
mov byte [ebp - 0x29], 0
mov eax, 0x59535c
call fcn.0042bde0
mov eax, dword [0x5dd24c]
add eax, 0xc
mov edx, 0x595380
call fcn.004069d4
mov eax, dword [0x5dd24c]
mov word [eax + 0xbe], 0x2e
mov eax, dword [0x5dd5b8]
mov edx, dword [0x5dd24c]
mov ecx, dword [0x41c3b4]
call fcn.00407c3c
mov eax, dword [0x5dd5b8]
add eax, 0xc
mov edx, 0x5953a0
call fcn.004069d4
lea eax, [ebp - 0x1c4]
mov edx, 0x190
call fcn.0042b0a0
lea eax, [ebp - 0x1c4]
push eax
mov dl, 2
mov al, 2
call fcn.0040bc10
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 [0x5dcb2c]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0043fce0
call fcn.00593120
mov eax, dword [0x5dcc7c]
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.00427f40
mov eax, dword [ebp - 0x1d0]
push eax
lea eax, [ebp - 0x1c]
call fcn.00406610
mov ecx, eax
mov eax, 0x5953c4
pop edx
call fcn.005b9d90
test al, al
je 0x594735
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0047a360
lea eax, [ebp - 0x24]
call fcn.00592c60
jmp 0x595271
lea eax, [ebp - 8]
push eax
mov eax, dword [0x5dd600]
mov eax, dword [eax]
mov dword [ebp - 0x1f8], eax
mov byte [ebp - 0x1f4], 0
mov eax, dword [0x5dd600]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1f0], eax
mov byte [ebp - 0x1ec], 0
mov eax, dword [0x5dd600]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1e8], eax
mov byte [ebp - 0x1e4], 0
mov eax, dword [0x5dd600]
movzx eax, byte [eax + 0xc]
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 0x1dc], 0
mov eax, dword [0x5dd600]
movzx eax, byte [eax + 0xd]
mov dword [ebp - 0x1d8], eax
mov byte [ebp - 0x1d4], 0
lea edx, [ebp - 0x1f8]
mov ecx, 4
mov eax, 0x5953f0
call fcn.0042a860
push 0x59541c
call fcn.0042a6a0
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x200]
call fcn.0041d270
push dword [ebp - 0x200]
push 0x595440
lea edx, [ebp - 0x204]
mov eax, dword [0x5dcd54]
mov eax, dword [eax]
call fcn.005bf3d0
push dword [ebp - 0x204]
push 0x595460
call fcn.004404b0
and eax, 0x7f
lea edx, [ebp - 0x208]
call fcn.0041d248
push dword [ebp - 0x208]
push 0x59548c
call fcn.004402a0
test al, al
je 0x594829
call fcn.00440410
test al, al
jne 0x59482d
xor eax, eax
jmp 0x59482f
mov al, 1
and eax, 0x7f
lea edx, [ebp - 0x20c]
call fcn.0041d248
push dword [ebp - 0x20c]
push 0x5954b4
lea eax, [ebp - 0x210]
call fcn.00452a90
push dword [ebp - 0x210]
push 0x5954d0
push 0x5954e0
call fcn.00441400
lea edx, [ebp - 0x214]
call fcn.0041d248
push dword [ebp - 0x214]
push 0x595504
push dword [ebp - 8]
lea eax, [ebp - 0x1fc]
mov edx, 0xf
call fcn.0040748c
mov edx, dword [ebp - 0x1fc]
mov eax, dword [0x5dcb2c]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0043fce0
mov eax, dword [0x5dcd54]
mov eax, dword [eax]
cmp byte [eax + 0x16], 0
je 0x5948f1
lea edx, [ebp - 0x21c]
mov eax, dword [0x5dcd54]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
call fcn.0041d248
mov ecx, dword [ebp - 0x21c]
lea eax, [ebp - 0x218]
mov edx, 0x595524
call fcn.00407404
mov edx, dword [ebp - 0x218]
mov eax, dword [0x5dcb2c]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0043fce0
mov byte [ebp - 4], 1
mov byte [ebp - 1], 0
xor eax, eax
push ebp
push 0x59520f
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x220]
mov eax, dword [0x5dcb8c]
mov eax, dword [eax]
call fcn.0044d190
mov edx, dword [ebp - 0x220]
mov eax, dword [0x5dcb04]
call fcn.004069d4
lea edx, [ebp - 0x224]
mov eax, dword [0x5dd52c]
mov eax, dword [eax]
call fcn.0044d190
mov edx, dword [ebp - 0x224]
mov eax, dword [0x5dd478]
call fcn.004069d4
xor eax, eax
push ebp
push 0x5951fe
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5dcd54]
mov eax, dword [eax]
cmp byte [eax + 0x1dc], 0
jne 0x59496e
call fcn.00591750
call fcn.00592ef0
mov eax, dword [0x5dcd54]
mov eax, dword [eax]
cmp byte [eax + 0x1dc], 0
je 0x59498f
mov eax, dword [0x555f9c]
call fcn.0045f080
jmp 0x5949a5
mov eax, dword [0x56b1a4]
call fcn.0045f080
mov eax, dword [0x5dd160]
mov eax, dword [eax]
mov dword [0x5dc3c0], eax
lea edx, [ebp - 0x228]
mov eax, dword [0x5dca20]
mov eax, dword [eax]
call fcn.0044d190
mov edx, dword [ebp - 0x228]
mov eax, dword [0x5dd160]
mov eax, dword [eax]
add eax, 0x94
call fcn.004069d4
cmp dword [0x5dc3c0], 0
je 0x594de5
mov al, 5
call fcn.0047da80
test al, al
jne 0x5949f5
mov al, 0xb
call fcn.0047da80
test al, al
je 0x594d7f
mov al, 5
call fcn.0047da80
test al, al
je 0x594a34
mov al, 7
call fcn.0047da80
test al, al
jne 0x594a34
mov al, 0xb
call fcn.0047da80
test al, al
jne 0x594a34
lea eax, [ebp - 0x29]
call fcn.00593f70
test al, al
jne 0x594a34
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x595271
mov cl, 1
mov edx, 0x595548
mov eax, 0x595578
call fcn.0044dbf0
mov cl, 1
mov edx, 0x5955bc
mov eax, 0x5955ec
call fcn.0044dbf0
lea edx, [ebp - 0x22c]
mov eax, 0x595630
call fcn.005baa70
mov eax, dword [ebp - 0x22c]
mov cl, 1
mov edx, 0x59566c
call fcn.0044dbf0
cmp byte [ebp - 0x29], 0
je 0x594b36
mov eax, dword [0x5dc3c0]
call fcn.00572710
lea edx, [ebp - 0x230]
mov eax, dword [0x5dd17c]
mov eax, dword [eax]
call fcn.0044d190
mov eax, dword [ebp - 0x230]
push eax
lea edx, [ebp - 0x234]
mov eax, dword [0x5dce20]
mov eax, dword [eax]
call fcn.0044d190
mov eax, dword [ebp - 0x234]
push eax
push 0
mov eax, dword [0x5dd160]
mov eax, dword [eax]
mov ecx, dword [eax + 0x94]
mov dl, 1
mov eax, dword [0x59152c]
call fcn.0048dba0
mov dword [ebp - 0x30], eax
xor eax, eax
push ebp
push 0x594b2f
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0
mov eax, dword [ebp - 0x30]
call fcn.00464350
mov eax, dword [ebp - 0x30]
call fcn.004646f0
cmp al, 2
jne 0x594b19
call fcn.00405dfc
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x595271
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x594b36
mov eax, dword [ebp - 0x30]
call fcn.00405038
ret
call fcn.004402a0
test al, al
je 0x594bae
call fcn.00440410
test al, al
jne 0x594bae
call fcn.004404b0
test al, al
je 0x594bae
mov al, 0xb
call fcn.0047da80
test al, al
je 0x594b85
mov eax, dword [0x5dca3c]
mov eax, dword [eax]
mov dx, word [0x595690]
call fcn.0047c9d0
test al, al
je 0x594bae
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x595271
mov eax, dword [0x5dca3c]
mov eax, dword [eax]
mov dx, word [0x595694]
call fcn.0047c9d0
test al, al
je 0x594bae
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x595271
push 0
xor ecx, ecx
mov dl, 1
mov eax, dword [0x482ff8]
call fcn.00483310
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x594cdd
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5dcd54]
mov eax, dword [eax]
cmp dword [eax + 0xc4], 0
je 0x594bf4
mov eax, dword [0x5dcd54]
mov eax, dword [eax]
mov edx, dword [eax + 0xc4]
mov eax, dword [ebp - 0xc]
call fcn.00483670
call fcn.00593f20
mov ecx, 1
mov edx, 2
call fcn.0045310c
mov edx, eax
mov eax, dword [ebp - 0xc]
call fcn.004835e0
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.004834d0
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x238]
push eax
mov eax, dword [0x5dcd54]
mov eax, dword [eax]
lea edx, [eax + 0x178]
xor ecx, ecx
mov eax, 0x2a
call fcn.004cdd80
mov edx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x10]
call fcn.00484170
call fcn.00593f20
test al, al
je 0x594c8d
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.004834d0
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x23c]
push eax
mov edx, dword [0x5dcc7c]
xor ecx, ecx
mov eax, 0x91
call fcn.004cdd80
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x10]
call fcn.00484170
mov eax, dword [ebp - 0xc]
call fcn.004836d0
test al, al
je 0x594cc7
mov dword [ebp - 0x14], 1
mov eax, dword [ebp - 0xc]
call fcn.00483500
test al, al
je 0x594cbf
push 0xa
call sub.kernel32.dll_Sleep_2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xc9
jne 0x594ca0
mov eax, dword [ebp - 0xc]
call fcn.004833f0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x594ce4
mov eax, dword [ebp - 0xc]
call fcn.00405038
ret
mov eax, dword [0x5dcd54]
mov eax, dword [eax]
cmp byte [eax + 0x158], 0
je 0x594db3
mov eax, dword [0x5dcd54]
mov eax, dword [eax]
cmp byte [eax + 0x3c], 6
jne 0x594db3
call fcn.00592160
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x595271
mov al, 9
call fcn.0047da80
test al, al
je 0x594de5
push ebp
call fcn.00594110
pop ecx
mov eax, 0x5956a4
call fcn.0047d9d0
test al, al
je 0x594de5
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x595271
lea eax, [ebp - 4]
call fcn.005938e0
test al, al
je 0x594e03
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x595271
mov eax, dword [0x5dd160]
mov eax, dword [eax]
call fcn.005567b0
test al, al
jne 0x594e25
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x595271
mov al, 0xc
call fcn.0047da80
test al, al
je 0x594e35
call fcn.00591980
call fcn.005932e0
test al, al
jne 0x594eb3
mov eax, dword [0x5dcd54]
mov eax, dword [eax]
mov dl, 1
call fcn.005beea0
mov eax, dword [0x5dcb2c]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x5956c8
call fcn.0043f790
push 1
push 0
lea edx, [ebp - 0x250]
mov eax, dword [0x5dca20]
mov eax, dword [eax]
call fcn.0044d190
mov eax, dword [ebp - 0x250]
push eax
lea edx, [ebp - 0x254]
mov eax, dword [0x5dceac]
mov eax, dword [eax]
call fcn.0044d190
mov edx, dword [ebp - 0x254]
mov eax, dword [0x5dd160]
mov eax, dword [eax]
pop ecx
call fcn.0045c380
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x595271
mov eax, dword [0x5dd160]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x98]
cmp dword [0x5dc3c0], 0
je 0x59500d
push 0
push 0
push 0
push 0x2001
call sub.user32.dll_SystemParametersInfoW
mov al, 4
call fcn.0047da80
test al, al
je 0x594eef
call fcn.00591c20
mov eax, dword [0x5dc3c0]
call fcn.005702e0
mov eax, dword [0x5dc3c0]
call fcn.00570a70
mov al, 4
call fcn.0047da80
test al, al
je 0x594f8a
mov al, 0xa
call fcn.0047da80
test al, al
je 0x594f8a
mov eax, 0x595710
call fcn.00592e00
test al, al
jne 0x594feb
lea edx, [ebp - 0x258]
mov eax, dword [0x5dcd54]
mov eax, dword [eax]
call fcn.005bfb50
mov eax, dword [ebp - 0x258]
cmp dword [eax], 0
jne 0x594feb
mov al, 0xa
call fcn.0047da80
call fcn.0055d770
test al, al
jne 0x594feb
mov al, 0xa
call fcn.0047da80
test al, al
je 0x594f78
mov byte [ebp - 4], 0
xor edx, edx
mov al, 1
call fcn.00597d30
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x595271
lea edx, [ebp - 0x25c]
mov eax, dword [0x5dcd54]
mov eax, dword [eax]
call fcn.005bf630
mov eax, dword [ebp - 0x25c]
call fcn.00428470
test al, al
jne 0x594feb
mov edx, dword [0x5dc9c4]
mov edx, dword [edx]
mov eax, dword [0x5dcd54]
mov eax, dword [eax]
call fcn.005c10b0
lea eax, [ebp - 0x28]
call fcn.00406610
lea eax, [ebp - 0x28]
call fcn.00406610
xor edx, edx
call fcn.0055da60
cmp dword [ebp - 0x28], 0
je 0x594feb
mov eax, dword [0x5dcd54]
mov eax, dword [eax]
mov edx, dword [ebp - 0x28]
call fcn.005c10b0
push ebp
call fcn.00594110
pop ecx
test al, al
je 0x595008
call fcn.00405dfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x595271
call fcn.00582a60
mov eax, dword [0x5dcf78]
mov eax, dword [eax]
call fcn.0059ba30
mov eax, dword [0x5dd160]
mov eax, dword [eax]
mov byte [eax + 0xd9], 1
cmp dword [0x5dc3c0], 0
je 0x595153
call fcn.005917c0
mov eax, dword [0x5dcd54]
mov eax, dword [eax]
cmp dword [eax + 0x18c], 0
je 0x59507e
mov eax, dword [0x5dcd54]
mov eax, dword [eax]
mov byte [eax + 0x1a0], 1
call fcn.005926c0
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
jne 0x595082
mov eax, dword [0x5dcd54]
mov eax, dword [eax]
mov edx, dword [eax + 0x18c]
mov eax, dword [0x5dc3c0]
call fcn.0056efd0
jmp 0x595082
mov byte [ebp - 0x15], 0
mov dl, 1
mov eax, dword [0x52f360]
call fcn.0053e520
mov eax, 0x595744
mov dword [ebp - 0x270], eax
mov eax, 0x59575c
mov dword [ebp - 0x26c], eax
mov eax, 0x595774
mov dword [ebp - 0x268], eax
mov eax, 0x595794
mov dword [ebp - 0x264], eax
mov eax, 0x5957b8
mov dword [ebp - 0x260], eax
lea eax, [ebp - 0x270]
mov edx, 4
call fcn.005b9bd0
mov eax, dword [0x5dcd54]
mov eax, dword [eax]
mov ecx, dword [eax + 0x18c]
lea eax, [ebp - 0x274]
mov edx, 0x5957e0
call fcn.00407404
mov edx, dword [ebp - 0x274]
mov eax, dword [0x5dcb2c]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0043f710
mov eax, dword [0x5dcd54]
mov eax, dword [eax]
cmp dword [eax + 0x18c], 0
je 0x595144
cmp byte [ebp - 0x15], 0
jne 0x595144
lea edx, [ebp - 0x278]
mov eax, dword [0x5dcd54]
mov eax, dword [eax]
mov eax, dword [eax + 0x18c]
call fcn.0042c100
mov edx, dword [ebp - 0x278]
mov eax, dword [0x5dc3c0]
call fcn.0056e820
mov eax, dword [0x5dc3c0]
call fcn.0057b270
call fcn.00593ce0
mov eax, dword [0x5dcd54]
mov eax, dword [eax]
mov byte [eax + 0x1a0], 0
mov eax, dword [0x5dcd54]
mov eax, dword [eax]
call fcn.005c0020
mov byte [ebp - 3], 0
mov eax, dword [0x5dd160]
mov eax, dword [eax]
call fcn.0045c130
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x595205
cmp byte [ebp - 3], 0
je 0x59519c
mov eax, dword [0x5dcd54]
mov eax, dword [eax]
call fcn.005c0020
cmp byte [ebp - 4], 0
je 0x5951e2
call fcn.0042a6a0
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x280]
call fcn.0041d270
mov ecx, dword [ebp - 0x280]
lea eax, [ebp - 0x27c]
mov edx, 0x595820
call fcn.00407404
mov edx, dword [ebp - 0x27c]
mov eax, dword [0x5dcb2c]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0043fce0
jmp 0x5951ec
mov eax, dword [0x5dcb2c]
call fcn.00424588
call fcn.0045f680
xor eax, eax
mov dword [0x5dc3c0], eax
call fcn.00582f30
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x595318
lea eax, [ebp - 0x288]
mov edx, 6
call fcn.00406670
lea eax, [ebp - 0x25c]
call fcn.00406610
lea eax, [ebp - 0x258]
mov edx, dword [0x427aec]
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