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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x51
push 0
push 0
dec ecx
jne 0x59e1c8
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x59ef0c
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x1c8]
mov eax, 1
call fcn.00427bb0
mov eax, dword [ebp - 0x1c8]
mov edx, 0x59ef2c
call fcn.004075b8
jne 0x59e212
mov eax, dword [0x5eb8b4]
mov dword [eax], 3
jmp 0x59ee6f
mov byte [ebp - 3], 0
mov byte [ebp - 0x29], 0
mov eax, 0x59ef5c
call fcn.0042bac0
mov eax, dword [0x5ec198]
add eax, 0xc
mov edx, 0x59ef80
call fcn.004069f0
mov eax, dword [0x5ec198]
mov word [eax + 0xbe], 0x2e
mov eax, dword [0x5ec500]
mov edx, dword [0x5ec198]
mov ecx, dword [0x41c354]
call fcn.00407c58
mov eax, dword [0x5ec500]
add eax, 0xc
mov edx, 0x59efa0
call fcn.004069f0
lea eax, [ebp - 0x1c4]
mov edx, 0x190
call fcn.0042ad80
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.00407288
mov edx, dword [ebp - 0x1cc]
mov eax, dword [0x5eba70]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0043fa80
call fcn.0059cb20
mov eax, dword [0x5ebbcc]
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.00427bb0
mov eax, dword [ebp - 0x1d0]
push eax
lea eax, [ebp - 0x1c]
call fcn.0040662c
mov ecx, eax
mov eax, 0x59efc4
pop edx
call fcn.005c6de0
test al, al
je 0x59e315
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0047a4e0
lea eax, [ebp - 0x24]
call fcn.0059c660
jmp 0x59ee6f
lea eax, [ebp - 8]
push eax
mov eax, dword [0x5ec548]
mov eax, dword [eax]
mov dword [ebp - 0x1f8], eax
mov byte [ebp - 0x1f4], 0
mov eax, dword [0x5ec548]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1f0], eax
mov byte [ebp - 0x1ec], 0
mov eax, dword [0x5ec548]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1e8], eax
mov byte [ebp - 0x1e4], 0
mov eax, dword [0x5ec548]
movzx eax, byte [eax + 0xc]
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 0x1dc], 0
mov eax, dword [0x5ec548]
movzx eax, byte [eax + 0xd]
mov dword [ebp - 0x1d8], eax
mov byte [ebp - 0x1d4], 0
lea edx, [ebp - 0x1f8]
mov ecx, 4
mov eax, 0x59eff0
call fcn.0042a550
push 0x59f01c
call fcn.0042a390
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x200]
call fcn.0041d1d4
push dword [ebp - 0x200]
push 0x59f040
lea edx, [ebp - 0x204]
mov eax, dword [0x5ebca4]
mov eax, dword [eax]
call fcn.005cc4d0
push dword [ebp - 0x204]
push 0x59f060
push 0x59f084
push 0x59f09c
call fcn.00440330
and eax, 0x7f
lea edx, [ebp - 0x208]
call fcn.0041d1ac
push dword [ebp - 0x208]
push 0x59f0c8
call fcn.00440120
test al, al
je 0x59e413
call fcn.00440290
test al, al
jne 0x59e417
xor eax, eax
jmp 0x59e419
mov al, 1
and eax, 0x7f
lea edx, [ebp - 0x20c]
call fcn.0041d1ac
push dword [ebp - 0x20c]
push 0x59f0f0
lea eax, [ebp - 0x210]
call fcn.004529b0
push dword [ebp - 0x210]
push 0x59f10c
push 0x59f11c
call fcn.00441230
lea edx, [ebp - 0x214]
call fcn.0041d1ac
push dword [ebp - 0x214]
push 0x59f140
push dword [ebp - 8]
lea eax, [ebp - 0x1fc]
mov edx, 0x11
call fcn.004074a8
mov edx, dword [ebp - 0x1fc]
mov eax, dword [0x5eba70]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0043fa80
mov eax, dword [0x5ebca4]
mov eax, dword [eax]
cmp byte [eax + 0x16], 0
je 0x59e4db
lea edx, [ebp - 0x21c]
mov eax, dword [0x5ebca4]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
call fcn.0041d1ac
mov ecx, dword [ebp - 0x21c]
lea eax, [ebp - 0x218]
mov edx, 0x59f160
call fcn.00407420
mov edx, dword [ebp - 0x218]
mov eax, dword [0x5eba70]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0043fa80
mov byte [ebp - 4], 1
mov byte [ebp - 1], 0
xor eax, eax
push ebp
push 0x59ee0b
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x220]
mov eax, dword [0x5ebad0]
mov eax, dword [eax]
call fcn.0044cfe0
mov edx, dword [ebp - 0x220]
mov eax, dword [0x5eba48]
call fcn.004069f0
lea edx, [ebp - 0x224]
mov eax, dword [0x5ec474]
mov eax, dword [eax]
call fcn.0044cfe0
mov edx, dword [ebp - 0x224]
mov eax, dword [0x5ec3c0]
call fcn.004069f0
xor eax, eax
push ebp
push 0x59edfa
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5ebca4]
mov eax, dword [eax]
cmp byte [eax + 0x1e4], 0
jne 0x59e558
call fcn.0059b010
call fcn.0059c8f0
mov eax, dword [0x5ebca4]
mov eax, dword [eax]
cmp byte [eax + 0x1e4], 0
je 0x59e579
mov eax, dword [0x55bc6c]
call fcn.0045ef10
jmp 0x59e58f
mov eax, dword [0x574450]
call fcn.0045ef10
mov eax, dword [0x5ec0b4]
mov eax, dword [eax]
mov dword [0x5eb2f0], eax
lea edx, [ebp - 0x228]
mov eax, dword [0x5eb964]
mov eax, dword [eax]
call fcn.0044cfe0
mov edx, dword [ebp - 0x228]
mov eax, dword [0x5ec0b4]
mov eax, dword [eax]
add eax, 0x94
call fcn.004069f0
cmp dword [0x5eb2f0], 0
je 0x59e9cf
mov al, 5
call fcn.0047ddd0
test al, al
jne 0x59e5df
mov al, 0xb
call fcn.0047ddd0
test al, al
je 0x59e969
mov al, 5
call fcn.0047ddd0
test al, al
je 0x59e61e
mov al, 7
call fcn.0047ddd0
test al, al
jne 0x59e61e
mov al, 0xb
call fcn.0047ddd0
test al, al
jne 0x59e61e
lea eax, [ebp - 0x29]
call fcn.0059db50
test al, al
jne 0x59e61e
call fcn.00405e18
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59ee6f
mov cl, 1
mov edx, 0x59f184
mov eax, 0x59f1b4
call fcn.0044da50
mov cl, 1
mov edx, 0x59f1f8
mov eax, 0x59f228
call fcn.0044da50
lea edx, [ebp - 0x22c]
mov eax, 0x59f26c
call fcn.005c7ac0
mov eax, dword [ebp - 0x22c]
mov cl, 1
mov edx, 0x59f2a8
call fcn.0044da50
cmp byte [ebp - 0x29], 0
je 0x59e720
mov eax, dword [0x5eb2f0]
call fcn.0055f9c0
lea edx, [ebp - 0x230]
mov eax, dword [0x5ec0d0]
mov eax, dword [eax]
call fcn.0044cfe0
mov eax, dword [ebp - 0x230]
push eax
lea edx, [ebp - 0x234]
mov eax, dword [0x5ebd74]
mov eax, dword [eax]
call fcn.0044cfe0
mov eax, dword [ebp - 0x234]
push eax
push 0
mov eax, dword [0x5ec0b4]
mov eax, dword [eax]
mov ecx, dword [eax + 0x94]
mov dl, 1
mov eax, dword [0x59adec]
call fcn.0048df80
mov dword [ebp - 0x30], eax
xor eax, eax
push ebp
push 0x59e719
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0
mov eax, dword [ebp - 0x30]
call fcn.004642f0
mov eax, dword [ebp - 0x30]
call fcn.00464690
cmp al, 2
jne 0x59e703
call fcn.00405e18
call fcn.00405e18
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59ee6f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x59e720
mov eax, dword [ebp - 0x30]
call fcn.00405038
ret
call fcn.00440120
test al, al
je 0x59e798
call fcn.00440290
test al, al
jne 0x59e798
call fcn.00440330
test al, al
je 0x59e798
mov al, 0xb
call fcn.0047ddd0
test al, al
je 0x59e76f
mov eax, dword [0x5eb980]
mov eax, dword [eax]
mov dx, word [0x59f2cc]
call fcn.0047cd10
test al, al
je 0x59e798
call fcn.00405e18
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59ee6f
mov eax, dword [0x5eb980]
mov eax, dword [eax]
mov dx, word [0x59f2d0]
call fcn.0047cd10
test al, al
je 0x59e798
call fcn.00405e18
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59ee6f
push 0
xor ecx, ecx
mov dl, 1
mov eax, dword [0x483368]
call fcn.00483680
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x59e8c7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5ebca4]
mov eax, dword [eax]
cmp dword [eax + 0xc4], 0
je 0x59e7de
mov eax, dword [0x5ebca4]
mov eax, dword [eax]
mov edx, dword [eax + 0xc4]
mov eax, dword [ebp - 0xc]
call fcn.004839e0
call fcn.0059db00
mov ecx, 1
mov edx, 2
call fcn.0043f01c
mov edx, eax
mov eax, dword [ebp - 0xc]
call fcn.00483950
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.00483840
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x238]
push eax
mov eax, dword [0x5ebca4]
mov eax, dword [eax]
lea edx, [eax + 0x180]
xor ecx, ecx
mov eax, 0x2a
call fcn.004ceb70
mov edx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x10]
call fcn.004844e0
call fcn.0059db00
test al, al
je 0x59e877
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.00483840
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x23c]
push eax
mov edx, dword [0x5ebbcc]
xor ecx, ecx
mov eax, 0x91
call fcn.004ceb70
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x10]
call fcn.004844e0
mov eax, dword [ebp - 0xc]
call fcn.00483a40
test al, al
je 0x59e8b1
mov dword [ebp - 0x14], 1
mov eax, dword [ebp - 0xc]
call fcn.00483870
test al, al
je 0x59e8a9
push 0xa
call sub.kernel32.dll_Sleep_2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xc9
jne 0x59e88a
mov eax, dword [ebp - 0xc]
call fcn.00483760
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x59e8ce
mov eax, dword [ebp - 0xc]
call fcn.00405038
ret
mov eax, dword [0x5ebca4]
mov eax, dword [eax]
cmp byte [eax + 0x160], 0
je 0x59e99d
mov eax, dword [0x5ebca4]
mov eax, dword [eax]
cmp byte [eax + 0x3c], 6
jne 0x59e99d
call fcn.0059bb60
call fcn.00405e18
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59ee6f
mov al, 9
call fcn.0047ddd0
test al, al
je 0x59e9cf
push ebp
call fcn.0059dcf0
pop ecx
mov eax, 0x59f2e0
call fcn.0047dd20
test al, al
je 0x59e9cf
call fcn.00405e18
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59ee6f
lea eax, [ebp - 4]
call fcn.0059d4c0
test al, al
je 0x59e9ed
call fcn.00405e18
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59ee6f
mov eax, dword [0x5ec0b4]
mov eax, dword [eax]
call fcn.0055c740
test al, al
jne 0x59ea0f
call fcn.00405e18
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59ee6f
mov al, 0xc
call fcn.0047ddd0
test al, al
je 0x59ea1f
call fcn.0059b250
call fcn.0059d280
test al, al
jne 0x59eaaf
mov eax, dword [0x5ebca4]
mov eax, dword [eax]
mov dl, 1
call fcn.005cbe90
mov eax, dword [0x5eba70]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x59f304
call fcn.0043f530
mov eax, dword [0x5ec0b4]
mov eax, dword [eax]
xor edx, edx
call fcn.005610a0
push 1
push 0
lea edx, [ebp - 0x250]
mov eax, dword [0x5eb964]
mov eax, dword [eax]
call fcn.0044cfe0
mov eax, dword [ebp - 0x250]
push eax
lea edx, [ebp - 0x254]
mov eax, dword [0x5ebe00]
mov eax, dword [eax]
call fcn.0044cfe0
mov edx, dword [ebp - 0x254]
mov eax, dword [0x5ec0b4]
mov eax, dword [eax]
pop ecx
call fcn.0045c210
call fcn.00405e18
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59ee6f
mov eax, dword [0x5ec0b4]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0xa8]
cmp dword [0x5eb2f0], 0
je 0x59ec09
push 0
push 0
push 0
push 0x2001
call sub.user32.dll_SystemParametersInfoW
mov al, 4
call fcn.0047ddd0
test al, al
je 0x59eaeb
call fcn.0059b620
mov eax, dword [0x5eb2f0]
call fcn.005797c0
mov eax, dword [0x5eb2f0]
call fcn.00579f60
mov al, 4
call fcn.0047ddd0
test al, al
je 0x59eb86
mov al, 0xa
call fcn.0047ddd0
test al, al
je 0x59eb86
mov eax, 0x59f34c
call fcn.0059c800
test al, al
jne 0x59ebe7
lea edx, [ebp - 0x258]
mov eax, dword [0x5ebca4]
mov eax, dword [eax]
call fcn.005cce50
mov eax, dword [ebp - 0x258]
cmp dword [eax], 0
jne 0x59ebe7
mov al, 0xa
call fcn.0047ddd0
call fcn.005662c0
test al, al
jne 0x59ebe7
mov al, 0xa
call fcn.0047ddd0
test al, al
je 0x59eb74
mov byte [ebp - 4], 0
xor edx, edx
mov al, 1
call fcn.005a1a70
call fcn.00405e18
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59ee6f
lea edx, [ebp - 0x25c]
mov eax, dword [0x5ebca4]
mov eax, dword [eax]
call fcn.005cc730
mov eax, dword [ebp - 0x25c]
call fcn.004280e0
test al, al
jne 0x59ebe7
mov edx, dword [0x5eb904]
mov edx, dword [edx]
mov eax, dword [0x5ebca4]
mov eax, dword [eax]
call fcn.005ce4a0
lea eax, [ebp - 0x28]
call fcn.0040662c
lea eax, [ebp - 0x28]
call fcn.0040662c
xor edx, edx
call fcn.005665b0
cmp dword [ebp - 0x28], 0
je 0x59ebe7
mov eax, dword [0x5ebca4]
mov eax, dword [eax]
mov edx, dword [ebp - 0x28]
call fcn.005ce4a0
push ebp
call fcn.0059dcf0
pop ecx
test al, al
je 0x59ec04
call fcn.00405e18
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59ee6f
call fcn.0058b640
mov eax, dword [0x5ebed0]
mov eax, dword [eax]
call fcn.005a5790
mov eax, dword [0x5ec0b4]
mov eax, dword [eax]
mov byte [eax + 0xd9], 1
cmp dword [0x5eb2f0], 0
je 0x59ed4f
call fcn.0059b080
mov eax, dword [0x5ebca4]
mov eax, dword [eax]
cmp dword [eax + 0x194], 0
je 0x59ec7a
mov eax, dword [0x5ebca4]
mov eax, dword [eax]
mov byte [eax + 0x1a8], 1
call fcn.0059c0c0
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
jne 0x59ec7e
mov eax, dword [0x5ebca4]
mov eax, dword [eax]
mov edx, dword [eax + 0x194]
mov eax, dword [0x5eb2f0]
call fcn.00578550
jmp 0x59ec7e
mov byte [ebp - 0x15], 0
mov dl, 1
mov eax, dword [0x534658]
call fcn.005442b0
mov eax, 0x59f380
mov dword [ebp - 0x270], eax
mov eax, 0x59f398
mov dword [ebp - 0x26c], eax
mov eax, 0x59f3b0
mov dword [ebp - 0x268], eax
mov eax, 0x59f3d0
mov dword [ebp - 0x264], eax
mov eax, 0x59f3f4
mov dword [ebp - 0x260], eax
lea eax, [ebp - 0x270]
mov edx, 4
call fcn.005c6c10
mov eax, dword [0x5ebca4]
mov eax, dword [eax]
mov ecx, dword [eax + 0x194]
lea eax, [ebp - 0x274]
mov edx, 0x59f41c
call fcn.00407420
mov edx, dword [ebp - 0x274]
mov eax, dword [0x5eba70]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0043f4b0
mov eax, dword [0x5ebca4]
mov eax, dword [eax]
cmp dword [eax + 0x194], 0
je 0x59ed40
cmp byte [ebp - 0x15], 0
jne 0x59ed40
lea edx, [ebp - 0x278]
mov eax, dword [0x5ebca4]
mov eax, dword [eax]
mov eax, dword [eax + 0x194]
call fcn.0042bde0
mov edx, dword [ebp - 0x278]
mov eax, dword [0x5eb2f0]
call fcn.00577d90
mov eax, dword [0x5eb2f0]
call fcn.005835f0
call fcn.0059d8c0
mov eax, dword [0x5ebca4]
mov eax, dword [eax]
mov byte [eax + 0x1a8], 0
mov eax, dword [0x5ebca4]
mov eax, dword [eax]
call fcn.005cd350
mov byte [ebp - 3], 0
mov eax, dword [0x5ec0b4]
mov eax, dword [eax]
call fcn.0045bff0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x59ee01
cmp byte [ebp - 3], 0
je 0x59ed98
mov eax, dword [0x5ebca4]
mov eax, dword [eax]
call fcn.005cd350
cmp byte [ebp - 4], 0
je 0x59edde
call fcn.0042a390
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x280]
call fcn.0041d1d4
mov ecx, dword [ebp - 0x280]
lea eax, [ebp - 0x27c]
mov edx, 0x59f45c
call fcn.00407420
mov edx, dword [ebp - 0x27c]
mov eax, dword [0x5eba70]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0043fa80
jmp 0x59ede8
mov eax, dword [0x5eba70]
call fcn.004241e0
call fcn.0045f510
xor eax, eax
mov dword [0x5eb2f0], eax
call fcn.0058bb20
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x59ef16
lea eax, [ebp - 0x288]
mov edx, 6
call fcn.0040668c
lea eax, [ebp - 0x25c]
call fcn.0040662c
lea eax, [ebp - 0x258]
mov edx, dword [0x427754]
call fcn.004084ec
lea eax, [ebp - 0x254]
mov edx, 3
call fcn.0040668c
lea eax, [ebp - 0x240]
call fcn.0040662c
lea eax, [ebp - 0x23c]
mov edx, 2
call fcn.004066bc
lea eax, [ebp - 0x234]
mov edx, 0xf
call fcn.0040668c
lea eax, [ebp - 0x1d0]
mov edx, 3
call fcn.0040668c
lea eax, [ebp - 0x28]
call fcn.0040662c
lea eax, [ebp - 0x1c]
call fcn.0040662c
lea eax, [ebp - 8]
call fcn.0040662c
ret