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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x4c
push 0
push 0
dec ecx
jne 0x564958
push ecx
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x5654ce
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x1c0]
mov eax, 1
call fcn.00427990
mov eax, dword [ebp - 0x1c0]
mov edx, 0x5654ec
call fcn.00407588
jne 0x5649a3
mov eax, dword [0x59e714]
mov dword [eax], 3
jmp 0x56543b
mov byte [ebp - 3], 0
mov eax, 0x56551c
call fcn.0042b340
mov eax, dword [0x59ef04]
add eax, 0xc
mov edx, 0x565540
call fcn.00406970
mov eax, dword [0x59ef04]
mov word [eax + 0xbe], 0x2e
mov eax, dword [0x59f200]
mov edx, dword [0x59ef04]
mov ecx, dword [0x41c26c]
call fcn.00407c28
mov eax, dword [0x59f200]
add eax, 0xc
mov edx, 0x565560
call fcn.00406970
lea eax, [ebp - 0x1bc]
mov edx, 0x190
call fcn.0042a660
lea eax, [ebp - 0x1bc]
push eax
mov dl, 2
mov al, 2
call fcn.0040bb78
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 [0x59e8a8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.004368f0
mov ax, 0x27f
call fcn.00404b30
mov eax, dword [0x59e9ec]
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.00427990
mov eax, dword [ebp - 0x1c8]
push eax
lea eax, [ebp - 0x1c]
call fcn.004065ac
mov ecx, eax
mov eax, 0x565584
pop edx
call fcn.0057bcc0
test al, al
je 0x564aa6
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0046e9d0
lea eax, [ebp - 0x24]
call fcn.00563f40
jmp 0x56543b
lea eax, [ebp - 8]
push eax
mov eax, dword [0x59f244]
mov eax, dword [eax]
mov dword [ebp - 0x1f0], eax
mov byte [ebp - 0x1ec], 0
mov eax, dword [0x59f244]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1e8], eax
mov byte [ebp - 0x1e4], 0
mov eax, dword [0x59f244]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1e0], eax
mov byte [ebp - 0x1dc], 0
mov eax, dword [0x59f244]
movzx eax, byte [eax + 0xc]
mov dword [ebp - 0x1d8], eax
mov byte [ebp - 0x1d4], 0
mov eax, dword [0x59f244]
movzx eax, byte [eax + 0xd]
mov dword [ebp - 0x1d0], eax
mov byte [ebp - 0x1cc], 0
lea edx, [ebp - 0x1f0]
mov ecx, 4
mov eax, 0x5655b0
call fcn.00429ed0
push 0x5655dc
call fcn.00429d10
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x1f8]
call fcn.0041d09c
push dword [ebp - 0x1f8]
push 0x565600
lea edx, [ebp - 0x1fc]
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
call fcn.005816c0
push dword [ebp - 0x1fc]
push 0x565620
call fcn.004370b0
and eax, 0x7f
lea edx, [ebp - 0x200]
call fcn.0041d074
push dword [ebp - 0x200]
push 0x56564c
call fcn.00436ea0
test al, al
je 0x564b9a
call fcn.00437010
test al, al
jne 0x564b9e
xor eax, eax
jmp 0x564ba0
mov al, 1
and eax, 0x7f
lea edx, [ebp - 0x204]
call fcn.0041d074
push dword [ebp - 0x204]
push 0x565674
lea eax, [ebp - 0x208]
call fcn.00448fd0
push dword [ebp - 0x208]
push 0x565690
push 0x5656a0
call fcn.00437fe0
lea edx, [ebp - 0x20c]
call fcn.0041d074
push dword [ebp - 0x20c]
push 0x5656c4
push dword [ebp - 8]
lea eax, [ebp - 0x1f4]
mov edx, 0xf
call fcn.00407478
mov edx, dword [ebp - 0x1f4]
mov eax, dword [0x59e8a8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.004368f0
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
cmp byte [eax + 0x19], 0
je 0x564c62
lea edx, [ebp - 0x214]
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
call fcn.0041d074
mov ecx, dword [ebp - 0x214]
lea eax, [ebp - 0x210]
mov edx, 0x5656e4
call fcn.004073f0
mov edx, dword [ebp - 0x210]
mov eax, dword [0x59e8a8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.004368f0
mov byte [ebp - 4], 1
mov byte [ebp - 1], 0
xor eax, eax
push ebp
push 0x5653d9
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x218]
mov eax, dword [0x59e8fc]
mov eax, dword [eax]
call fcn.00443690
mov edx, dword [ebp - 0x218]
mov eax, dword [0x59e888]
call fcn.00406970
lea edx, [ebp - 0x21c]
mov eax, dword [0x59f198]
mov eax, dword [eax]
call fcn.00443690
mov edx, dword [ebp - 0x21c]
mov eax, dword [0x59f0fc]
call fcn.00406970
xor eax, eax
push ebp
push 0x5653c8
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
cmp byte [eax + 0x1b4], 0
jne 0x564cdf
call fcn.00562c10
call fcn.005641d0
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
cmp byte [eax + 0x1b4], 0
je 0x564d00
mov eax, dword [0x4fcea0]
call fcn.00453ca0
jmp 0x564d16
mov eax, dword [0x53c974]
call fcn.00453ca0
mov eax, dword [0x59ee34]
mov eax, dword [eax]
mov dword [0x59e3c0], eax
lea edx, [ebp - 0x220]
mov eax, dword [0x59e7b4]
mov eax, dword [eax]
call fcn.00443690
mov edx, dword [ebp - 0x220]
mov eax, dword [0x59ee34]
mov eax, dword [eax]
add eax, 0x94
call fcn.00406970
cmp dword [0x59e3c0], 0
je 0x565009
mov al, 5
call fcn.00472020
test al, al
jne 0x564d66
mov al, 0xb
call fcn.00472020
test al, al
je 0x564fa3
mov al, 5
call fcn.00472020
test al, al
je 0x564da4
mov al, 7
call fcn.00472020
test al, al
jne 0x564da4
mov al, 0xb
call fcn.00472020
test al, al
jne 0x564da4
push ebp
call fcn.00564820
pop ecx
test al, al
jne 0x564da4
call fcn.00405d98
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x56543b
mov cl, 1
mov edx, 0x565708
mov eax, 0x565738
call fcn.004440f0
mov cl, 1
mov edx, 0x56577c
mov eax, 0x5657ac
call fcn.004440f0
mov cl, 1
mov edx, 0x5657f0
mov eax, 0x565820
call fcn.004440f0
call fcn.00436ea0
test al, al
je 0x564e4f
call fcn.00437010
test al, al
jne 0x564e4f
call fcn.004370b0
test al, al
je 0x564e4f
mov al, 0xb
call fcn.00472020
test al, al
je 0x564e26
mov eax, dword [0x59e7d4]
mov eax, dword [eax]
mov dx, word [0x565850]
call fcn.00470f70
test al, al
je 0x564e4f
call fcn.00405d98
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x56543b
mov eax, dword [0x59e7d4]
mov eax, dword [eax]
mov dx, word [0x565854]
call fcn.00470f70
test al, al
je 0x564e4f
call fcn.00405d98
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x56543b
mov dl, 1
mov eax, dword [0x48e7d8]
call fcn.0048eb10
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x564f01
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 1
mov eax, dword [ebp - 0xc]
call fcn.0048ee00
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.0048ecf0
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x224]
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
lea edx, [eax + 0x150]
mov eax, 0x2a
call fcn.00500d70
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x10]
call fcn.0048f870
mov eax, dword [ebp - 0xc]
call fcn.0048ee80
test al, al
je 0x564eeb
mov dword [ebp - 0x14], 1
mov eax, dword [ebp - 0xc]
call fcn.0048ed20
test al, al
je 0x564ee3
push 0xa
call sub.kernel32.dll_Sleep_2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xc9
jne 0x564ec4
mov eax, dword [ebp - 0xc]
call fcn.0048ec10
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x564f08
mov eax, dword [ebp - 0xc]
call fcn.00404fd4
ret
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
cmp byte [eax + 0x130], 0
je 0x564fd7
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
cmp byte [eax + 0x3c], 6
jne 0x564fd7
call fcn.00563440
call fcn.00405d98
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x56543b
mov al, 9
call fcn.00472020
test al, al
je 0x565009
push ebp
call fcn.00564330
pop ecx
mov eax, 0x565864
call fcn.00471f70
test al, al
je 0x565009
call fcn.00405d98
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x56543b
mov eax, dword [0x59ee34]
mov eax, dword [eax]
call fcn.004fd550
test al, al
jne 0x56502b
call fcn.00405d98
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x56543b
mov eax, dword [0x59ee34]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x88]
cmp dword [0x59e3c0], 0
je 0x5651ed
push 0
push 0
push 0
push 0x2001
call sub.user32.dll_SystemParametersInfoW
mov al, 4
call fcn.00472020
test al, al
jne 0x56506c
mov eax, dword [0x59ebd8]
cmp byte [eax], 0
je 0x565071
call fcn.00562ef0
mov eax, dword [0x59e3c0]
call fcn.00541030
mov eax, dword [0x59e3c0]
call fcn.00541890
mov al, 4
call fcn.00472020
test al, al
je 0x56516a
mov al, 0xa
call fcn.00472020
test al, al
je 0x56516a
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
call fcn.0057fc70
test al, al
je 0x5650ce
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
cmp dword [eax + 0x5c], 0
jne 0x5650ce
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
mov dl, 2
call fcn.00586ce0
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
cmp byte [eax + 0xe4], 0
je 0x5650f9
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
cmp dword [eax + 0x5c], 0
jne 0x5650f9
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
mov dl, 1
call fcn.00586ce0
mov eax, 0x565888
call fcn.005640e0
test al, al
jne 0x5651cb
lea edx, [ebp - 0x238]
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
call fcn.00582110
mov eax, dword [ebp - 0x238]
cmp dword [eax], 0
jne 0x5651cb
mov al, 0xa
call fcn.00472020
call fcn.004e2b00
test al, al
jne 0x5651cb
mov al, 0xa
call fcn.00472020
test al, al
je 0x565158
mov byte [ebp - 4], 0
xor edx, edx
mov al, 1
call fcn.00551ca0
call fcn.00405d98
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x56543b
lea edx, [ebp - 0x23c]
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
call fcn.005819e0
mov eax, dword [ebp - 0x23c]
call fcn.00427e70
test al, al
jne 0x5651cb
mov edx, dword [0x59e764]
mov edx, dword [edx]
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
call fcn.00584000
lea eax, [ebp - 0x28]
call fcn.004065ac
lea eax, [ebp - 0x28]
call fcn.004065ac
xor edx, edx
call fcn.004e2e00
cmp dword [ebp - 0x28], 0
je 0x5651cb
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
mov edx, dword [ebp - 0x28]
call fcn.00584000
push ebp
call fcn.00564330
pop ecx
test al, al
je 0x5651e8
call fcn.00405d98
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x56543b
call fcn.0055b7c0
mov eax, dword [0x59ec88]
mov eax, dword [eax]
call fcn.00555dd0
mov eax, dword [0x59ee34]
mov eax, dword [eax]
mov byte [eax + 0xd9], 1
cmp dword [0x59e3c0], 0
je 0x56531d
call fcn.00562c80
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
cmp dword [eax + 0x160], 0
je 0x56525e
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
mov byte [eax + 0x178], 1
call fcn.005639a0
mov byte [ebp - 0x15], al
cmp byte [ebp - 0x15], 0
jne 0x565262
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
mov edx, dword [eax + 0x160]
mov eax, dword [0x59e3c0]
call fcn.0053fd40
jmp 0x565262
mov byte [ebp - 0x15], 0
mov dl, 1
mov eax, dword [0x51909c]
call fcn.005271a0
mov eax, 0x5658bc
mov dword [ebp - 0x250], eax
mov eax, 0x5658d4
mov dword [ebp - 0x24c], eax
mov eax, 0x5658ec
mov dword [ebp - 0x248], eax
mov eax, 0x56590c
mov dword [ebp - 0x244], eax
mov eax, 0x565930
mov dword [ebp - 0x240], eax
lea eax, [ebp - 0x250]
mov edx, 4
call fcn.0057bb00
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
mov ecx, dword [eax + 0x160]
lea eax, [ebp - 0x254]
mov edx, 0x565958
call fcn.004073f0
mov edx, dword [ebp - 0x254]
mov eax, dword [0x59e8a8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00436360
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
cmp dword [eax + 0x160], 0
je 0x565313
cmp byte [ebp - 0x15], 0
jne 0x565313
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
mov edx, dword [eax + 0x160]
mov eax, dword [0x59e3c0]
call fcn.0053f590
mov eax, dword [0x59e3c0]
call fcn.00549650
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
mov byte [eax + 0x178], 0
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
call fcn.005825b0
mov byte [ebp - 3], 0
mov eax, dword [0x59ee34]
mov eax, dword [eax]
call fcn.00450d90
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5653cf
cmp byte [ebp - 3], 0
je 0x565366
mov eax, dword [0x59eaa8]
mov eax, dword [eax]
call fcn.005825b0
cmp byte [ebp - 4], 0
je 0x5653ac
call fcn.00429d10
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x25c]
call fcn.0041d09c
mov ecx, dword [ebp - 0x25c]
lea eax, [ebp - 0x258]
mov edx, 0x565998
call fcn.004073f0
mov edx, dword [ebp - 0x258]
mov eax, dword [0x59e8a8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.004368f0
jmp 0x5653b6
mov eax, dword [0x59e8a8]
call fcn.00424130
call fcn.00454270
xor eax, eax
mov dword [0x59e3c0], eax
call fcn.0055bd10
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5654d8
lea eax, [ebp - 0x264]
mov edx, 5
call fcn.0040660c
lea eax, [ebp - 0x23c]
call fcn.004065ac
lea eax, [ebp - 0x238]
mov edx, dword [0x427538]
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