Function at 0x100192e
Capabilities:
Initialize winsock library
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1d0
or dword [ebp - 0x34], 0xffffffff
or dword [ebp - 0x20], 0xffffffff
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov eax, dword [esi]
xor ebx, ebx
and byte [ebp - 0x24], bl
and byte [ebp - 1], bl
push edi
mov dword [0x100302c], eax
lea eax, [ebp - 0x1d0]
xor edi, edi
push eax
inc edi
push 0x101
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x2c], edi
call dword [sym.imp.WS2_32.dll_WSAStartup]
cmp eax, 0xffffffff
jne 0x10019ab
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [0x100302c]
push 0x2716
push 2
call fcn.01001268
add esp, 0x10
push edi
jmp 0x1001d5d
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, eax
jns 0x10019c7
mov dword [0x100300c], edi
mov dword [0x1003014], 0x10011dc
jmp 0x10019d7
mov dword [0x100300c], ebx
mov dword [0x1003014], 0x1001198
cmp dword [ebp + 8], 2
jge 0x10019e4
push 0x43
call fcn.0100190a
cmp dword [ebp + 8], edi
mov dword [ebp - 0x1c], edi
jg 0x1001a28
xor esi, esi
mov eax, dword [ebp - 0x18]
dec eax
je 0x1001e75
dec eax
je 0x1001e15
dec eax
je 0x1001dd5
dec eax
je 0x1001d63
cmp dword [ebp - 0x28], esi
jne 0x1001ea0
push 0x127
call fcn.0100190a
jmp 0x1001ea0
mov esi, dword [ebp + 0xc]
lea ebx, [esi + edi*4]
mov eax, dword [ebx]
mov cl, byte [eax]
cmp cl, 0x2d
je 0x1001cb2
cmp cl, 0x2f
je 0x1001cb2
cmp dword [ebp - 0x18], 0
jne 0x1001acf
push eax
call dword [sym.imp.msvcrt.dll__strupr]
mov ebx, dword [ebx]
pop ecx
push 6
mov edi, 0x100118c
mov esi, ebx
pop ecx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x1001a71
mov dword [ebp - 0x18], 1
jmp 0x1001cf6
push 4
pop eax
mov edi, 0x1001188
mov esi, ebx
mov ecx, eax
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x1001a8f
mov dword [ebp - 0x18], 2
jmp 0x1001cf6
push 7
mov edi, 0x1001180
mov esi, ebx
pop ecx
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x1001aab
mov dword [ebp - 0x18], 3
jmp 0x1001cf6
push 7
mov edi, 0x1001178
mov esi, ebx
pop ecx
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x1001ac3
mov dword [ebp - 0x18], eax
jmp 0x1001cf6
push 0x78
call fcn.0100190a
jmp 0x1001cf6
cmp dword [ebp - 8], 0
jne 0x1001b50
mov esi, eax
push 2
mov dword [ebp - 8], eax
mov edi, 0x1001174
pop ecx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x1001af5
or dword [ebp - 0xc], 0xffffffff
mov byte [ebp - 1], 1
jmp 0x1001cf6
mov esi, dword [sym.imp.msvcrt.dll_strchr]
push 0x2a
push dword [ebp - 8]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1001b46
push 0x3f
push dword [ebp - 8]
call esi
test eax, eax
pop ecx
pop ecx
jne 0x1001b46
push dword [ebp - 8]
jmp section..htext
mov eax, dword [ebx]
mov dword [ebp - 0x40], eax
jmp 0x1001cf6
push 0x100116c
push eax
call dword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
pop ecx
pop ecx
jne 0x1001b6e
mov dword [ebp - 0x38], 1
jmp 0x1001cf6
push 0x1001164
push dword [ebx]
call dword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
pop ecx
pop ecx
jne 0x1001b8d
mov dword [ebp - 0x30], 1
jmp 0x1001cf6
push 0x1001160
push dword [ebx]
call dword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
pop ecx
pop ecx
jne 0x1001bac
mov dword [ebp - 0x3c], 1
jmp 0x1001cf6
xor eax, eax
cmp dword [ebp - 0x38], eax
je 0x1001bfa
mov ebx, dword [ebx]
and dword [ebp - 0x38], eax
push ebx
call fcn.010022a4
test al, al
je 0x1001d33
push ebx
call fcn.01002814
cmp eax, 0xffffffff
mov dword [ebp - 0x34], eax
jne 0x1001cf6
push 0x10
mov edi, 0x1001140
mov esi, ebx
pop ecx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x1001cf6
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x1c]
push dword [eax + ecx*4]
jmp 0x1001d36
cmp dword [ebp - 0x30], eax
je 0x1001c32
push dword [ebx]
and dword [ebp - 0x30], 0
call dword [sym.imp.msvcrt.dll_atoi]
cmp eax, 1
pop ecx
mov dword [ebp - 0x2c], eax
jb 0x1001c1f
cmp eax, 0x270f
jbe 0x1001cf6
push dword [esi + edi*4]
push dword [0x100302c]
push 0x272d
jmp 0x1001d51
cmp dword [ebp - 0x3c], eax
je 0x1001c67
xor eax, eax
push eax
push eax
push dword [ebx]
mov dword [ebp - 0x3c], eax
call dword [sym.imp.msvcrt.dll_strtol]
add esp, 0xc
test eax, eax
mov dword [ebp - 0x20], eax
jne 0x1001cf6
push dword [esi + edi*4]
push dword [0x100302c]
push 0x2731
jmp 0x1001d51
cmp dword [ebp - 0x14], eax
jne 0x1001d43
mov esi, dword [ebx]
push 2
mov edi, 0x1001174
pop ecx
xor eax, eax
mov dword [ebp - 0x14], esi
repe cmpsb byte [esi], byte es:[edi]
jne 0x1001c89
or dword [ebp - 0x10], 0xffffffff
jmp 0x1001cf6
push dword [ebp - 0x14]
call fcn.010027e8
cmp eax, 0xffffffff
mov dword [ebp - 0x10], eax
jne 0x1001cf6
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x1c]
push dword [eax + ecx*4]
push dword [0x100302c]
push 0x2714
jmp 0x1001d51
lea esi, [eax + 1]
jmp 0x1001cf0
movsx eax, al
push eax
call dword [sym.imp.msvcrt.dll_toupper]
cmp eax, 0x46
pop ecx
je 0x1001ce8
cmp eax, 0x50
je 0x1001cd5
push 0x66
call fcn.0100190a
jmp 0x1001cef
cmp dword [0x100300c], 0
jne 0x1001ce4
mov byte [ebp - 0x24], 1
jmp 0x1001cef
push 0x59
jmp 0x1001cce
mov dword [ebp - 0x28], 1
inc esi
mov al, byte [esi]
test al, al
jne 0x1001cb7
mov edi, dword [ebp - 0x1c]
inc edi
cmp edi, dword [ebp + 8]
mov dword [ebp - 0x1c], edi
jl 0x1001a25
xor esi, esi
cmp dword [ebp - 0x28], esi
je 0x10019ee
call fcn.0100176f
cmp eax, esi
je 0x10019ee
push eax
push 0x2720
push 2
jmp 0x1008496
push dword [esi + edi*4]
push dword [0x100302c]
push 0x271c
jmp 0x1001d51
push dword [esi + edi*4]
push dword [0x100302c]
push 0x2715
push 2
call fcn.01001268
add esp, 0x10
push 1
call dword [sym.imp.msvcrt.dll_exit]
cmp dword [ebp - 8], esi
mov dword [ebp + 0xc], esi
je 0x1001d7c
cmp dword [ebp - 0x14], esi
je 0x1001d7c
cmp dword [ebp - 0xc], 0xffffffff
je 0x1001d7c
cmp dword [ebp - 0x10], 0xffffffff
jne 0x1001d86
push 0x10c
call fcn.0100190a
push dword [ebp - 0x20]
push 0xffffffffffffffff
push esi
push dword [ebp - 0xc]
push dword [ebp - 8]
call fcn.0100212b
cmp eax, esi
jne 0x1001dca
cmp dword [0x1003018], esi
jbe 0x1001ea0
push dword [ebp - 0x20]
lea eax, [ebp + 0xc]
push eax
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
push dword [ebp - 0x10]
push dword [ebp - 0x34]
push dword [ebp - 0xc]
call fcn.01001fef
cmp eax, esi
je 0x1001ea0
push eax
push 0x2721
jmp 0x1001e96
cmp dword [ebp - 8], esi
jne 0x1001de4
push 0xf9
call fcn.0100190a
cmp byte [ebp - 1], 0
jne 0x1001dee
push 0x57
jmp 0x1001e0b
push dword [ebp - 0x20]
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push dword [ebp - 0xc]
push dword [ebp - 8]
call fcn.0100212b
cmp eax, esi
je 0x1001ea0
push eax
push 0x271f
jmp 0x1001e96
cmp dword [ebp - 8], esi
mov dword [ebp + 0xc], esi
je 0x1001e2e
cmp dword [ebp - 0xc], 0xffffffff
je 0x1001e2e
cmp dword [ebp - 0x14], esi
je 0x1001e2e
cmp dword [ebp - 0x10], 0xffffffff
jne 0x1001e38
push 0xe3
call fcn.0100190a
push dword [ebp - 0x20]
lea eax, [ebp + 0xc]
push eax
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
push dword [ebp - 0x10]
push dword [ebp - 0x34]
push dword [ebp - 0xc]
call fcn.01001fef
cmp eax, esi
je 0x1001e5f
push eax
push 0x271e
jmp 0x1001e96
cmp dword [ebp + 0xc], esi
je 0x1001ea0
push dword [ebp + 0xc]
push 0x2723
push 2
call fcn.01001268
jmp 0x1001e9d
push dword [ebp - 0x40]
push dword [ebp - 0x24]
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push dword [ebp - 0xc]
push dword [ebp - 8]
call fcn.010022d7
cmp eax, esi
je 0x1001ea0
push eax
push 0x2722
push 2
call fcn.01001327
add esp, 0xc
pop edi
pop esi
xor eax, eax
pop ebx
leave
ret