Function at 0x402a70
Capabilities:
Initialize winsock library
Set current directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0xa1a4
call fcn.00411b50
mov eax, dword [0x41d008]
xor eax, esp
mov dword [esp + 0xa1a0], eax
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
push 0x2dc6c0
call fcn.00403b7c
add esp, 4
mov dword [0x421894], eax
push 0x2dc6c0
call fcn.00403b7c
add esp, 4
mov dword [0x421884], eax
cmp dword [ebp + 8], 2
jl 0x402d4c
mov ecx, dword [esi + 4]
mov edx, ecx
lea esi, [edx + 1]
lea ebx, [ebx]
mov al, byte [edx]
inc edx
test al, al
jne 0x402ad0
lea eax, [esp + 0x10]
sub edx, esi
push eax
call fcn.00402920
mov edi, dword [esp + 0x14]
add esp, 4
mov esi, eax
test edi, edi
je 0x402d4c
test esi, esi
je 0x402d4c
push 0x8000
lea eax, [esp + 0x21ac]
push 0
push eax
call fcn.00407e30
add esp, 0xc
lea eax, [esp + 0x21a8]
push edi
push esi
push eax
call fcn.00404ba0
lea esi, [esp + 0x21b4]
add esp, 0xc
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x402b30
sub esi, ecx
je 0x402d4c
cmp esi, 4
jl 0x402d4c
xor edx, edx
lea ebx, [ebx]
xor ecx, ecx
jmp 0x402b60
lea eax, [ecx + edx]
mov al, byte [esp + eax + 0x21a8]
cmp al, byte [ecx + str.http]
jne 0x402d43
inc ecx
cmp ecx, 4
jne 0x402b60
cmp edx, 0xffffffff
je 0x402d4c
test esi, esi
je 0x402d4c
cmp esi, 6
jl 0x402d4c
xor edx, edx
jmp 0x402ba0
xor ecx, ecx
jmp 0x402bb0
lea eax, [ecx + edx]
mov al, byte [esp + eax + 0x21a8]
cmp al, byte [ecx + str..zero_]
jne 0x402d64
inc ecx
cmp ecx, 6
jne 0x402bb0
cmp edx, 0xffffffff
je 0x402d4c
test esi, esi
je 0x402d4c
cmp esi, 1
jl 0x402d4c
xor ebx, ebx
jmp 0x402bf0
xor ecx, ecx
jmp 0x402c00
lea eax, [ecx + ebx]
mov al, byte [esp + eax + 0x21a8]
cmp al, byte [ecx + 0x41b704]
jne 0x402d85
inc ecx
cmp ecx, 1
jne 0x402c00
cmp ebx, 0xffffffff
je 0x402d4c
call fcn.004024e0
push dword [0x421894]
call dword [sym.imp.KERNEL32.DLL_SetCurrentDirectoryA]
lea eax, [esp + 0x18]
push eax
push 0x101
call dword [sym.imp.WS2_32.dll_WSAStartup]
push 0x2000
push 0
push 0x41f850
call fcn.00407e30
add esp, 0xc
push 0x1000
push 0
push dword [0x421894]
call fcn.00407e30
add esp, 0xc
call fcn.004023c0
lea ecx, [eax - 1]
cmp ecx, 0xffe
ja 0x402e5d
mov esi, dword [0x421894]
push 0x1000
push 0
mov byte [esi + eax], 0
lea eax, [esp + 0x11b0]
push eax
call fcn.00407e30
mov ecx, esi
add esp, 0xc
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402cb0
sub ecx, edx
lea eax, [esp + 0x11a8]
push ecx
push esi
push eax
call fcn.00404ba0
add esp, 0xc
call fcn.00402490
push eax
lea ecx, [esp + 0x11ac]
call fcn.00402630
add esp, 4
mov dword [esp + 0x10], 0
mov esi, eax
lea ebx, [ebx]
mov ecx, esi
xor edx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402cf7
sub ecx, edi
je 0x402daa
mov eax, esi
lea edi, [eax + 1]
jmp 0x402d10
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402d10
sub eax, edi
je 0x402daa
mov ecx, dword [esp + 0x10]
mov al, byte [edx + esi]
cmp al, byte [ecx + 0x41b714]
je 0x402da6
mov ecx, esi
inc edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402d34
sub ecx, edi
cmp edx, ecx
jne 0x402d06
jmp 0x402daa
inc edx
cmp edx, esi
jne 0x402b50
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa1a0]
xor ecx, esp
call fcn.0040346d
mov esp, ebp
pop ebp
ret
inc edx
cmp edx, esi
jne 0x402ba0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa1a0]
xor ecx, esp
call fcn.0040346d
mov esp, ebp
pop ebp
ret
inc ebx
cmp ebx, esi
jne 0x402bf0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa1a0]
xor ecx, esp
call fcn.0040346d
mov esp, ebp
pop ebp
ret
mov byte [edx + esi], 0
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, 2
jne 0x402cf0
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402dc1
sub ecx, edx
je 0x402e5d
lea eax, [esp + 0x21a8]
add eax, ebx
push eax
push esi
lea eax, [esp + 0x1b0]
push str._s_s
push eax
call fcn.0040347c
add esp, 0x10
lea ecx, [esp + 0x1a8]
call fcn.00401b80
mov ecx, dword [0x421894]
cmp byte [ecx], 0
je 0x402e5d
cmp eax, 0x8000
jge 0x402e5d
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 0
push ecx
mov edx, eax
call fcn.00402800
mov edi, eax
add esp, 4
test edi, edi
je 0x402e5d
mov esi, dword [0x421884]
push 0x2dc6c0
push 0
push esi
call fcn.00407e30
add esp, 0xc
push dword [esp + 0x10]
push edi
push esi
call fcn.00404ba0
add esp, 0xc
push esi
push 0x41b720
call fcn.00403e5f
add esp, 8
mov ecx, dword [esp + 0xa1ac]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0040346d
mov esp, ebp
pop ebp
ret