Function at 0x41b210
Capabilities:
Check os version
Create udp socket
Get hostname
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4329b9
mov eax, dword fs:[0]
push eax
sub esp, 0x694
mov eax, dword [0x446050]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov bl, byte [0x449dc3]
mov byte [ebp - 0x454], bl
mov dword [ebp - 0x470], 0x448f75
mov dword [ebp - 0x4d0], 0x449d72
mov dword [ebp - 0x4c4], 0x44aef8
xor esi, esi
mov dword [ebp - 0x468], esi
mov dword [ebp - 0x464], 0xffffffff
mov dword [ebp - 0x478], str...localmachine
mov dword [ebp - 0x45c], esi
cmp dword [0x449ee4], esi
jne 0x41b2ac
mov dword [0x449f70], 0x94
push 0x449f70
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
jmp 0x41b2bf
mov ecx, 0x25
mov esi, 0x44c2a0
mov edi, 0x449f70
rep movsd dword es:[edi], dword [esi]
xor esi, esi
mov ecx, 2
cmp dword [0x449f80], ecx
jne 0x41b2e0
mov eax, dword [0x449f74]
cmp eax, 5
jb 0x41b2e0
jne 0x41b2ea
cmp dword [0x449f78], ecx
jae 0x41b2ea
mov dword [ebp - 0x478], 0x4364e7
push 0x4111d0
call fcn.0041fdf6
add esp, 4
mov dword [ebp - 0x4b0], eax
mov dword [ebp - 4], esi
mov byte [ebp - 0x44d], 0
mov byte [ebp - 4], 1
push 0x401
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.WS2_32.dll_gethostname]
cmp eax, 0xffffffff
jne 0x41b340
mov dword [ebp - 0x4a0], 0x401
lea ecx, [ebp - 0x4a0]
push ecx
lea edx, [ebp - 0x420]
push edx
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
test bl, bl
je 0x41b350
call fcn.0041aa70
mov byte [ebp - 0x44d], 1
push 0x4478b0
lea edx, [ebp - 0x420]
call fcn.00409350
mov byte [ebp - 0x46a], 0
lea eax, [ebp - 0x538]
push eax
call fcn.0041cb90
mov byte [ebp - 4], 2
mov byte [ebp - 4], 3
lea esi, [ebp - 0x654]
call fcn.0041c180
mov edi, eax
lea esi, [ebp - 0x664]
call fcn.0041c150
mov ecx, dword [edi + 4]
push ecx
mov edx, dword [edi]
push edx
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
lea eax, [ebp - 0x64c]
push eax
call fcn.0041e230
mov byte [ebp - 4], 4
mov cl, byte [0x449d72]
mov byte [ebp - 0x45d], cl
test bl, bl
je 0x41b3cd
call fcn.0041aa90
mov byte [ebp - 0x44d], 0
push 0x11
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
mov dword [ebp - 0x464], esi
test esi, esi
je 0x41b3f1
cmp esi, 0xffffffff
je 0x41b3f1
mov eax, 1
jmp 0x41b3f3
xor eax, eax
mov byte [0x449d72], al
test al, al
je 0x41b5b4
push esi
call fcn.0041b100
add esp, 4
mov edi, eax
mov dword [ebp - 0x468], edi
test edi, edi
je 0x41b491
xor esi, esi
mov dword [ebp - 0x4c8], esi
cmp esi, dword [edi]
jge 0x41b471
mov eax, dword [edi + esi*8 + 4]
mov edx, 2
cmp dx, word [eax]
jne 0x41b46e
mov ecx, dword [edi + esi*8 + 8]
push ecx
push eax
lea edx, [ebp - 0x44c]
push edx
call fcn.00424d80
add esp, 0xc
mov eax, dword [ebp - 0x448]
test eax, eax
je 0x41b46e
cmp eax, 0x100007f
je 0x41b46e
lea eax, [ebp - 0x44c]
push eax
lea ecx, [ebp - 0x69c]
push ecx
lea ebx, [ebp - 0x538]
call fcn.0041c330
inc esi
jmp 0x41b417
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [ebp - 0x468], 0
mov esi, dword [ebp - 0x464]
xor eax, eax
mov dword [ebp - 0x498], eax
mov dword [ebp - 0x494], eax
mov dword [ebp - 0x490], eax
mov dword [ebp - 0x48c], eax
mov dword [ebp - 0x488], eax
mov dword [ebp - 0x484], eax
mov dword [ebp - 0x480], eax
mov dword [ebp - 0x47c], eax
mov dword [ebp - 0x494], 2
mov dword [ebp - 0x498], 3
lea edx, [ebp - 0x458]
push edx
lea eax, [ebp - 0x498]
push eax
push 0
mov ecx, dword [ebp - 0x478]
push ecx
call dword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
jne 0x41b5ad
mov eax, dword [ebp - 0x458]
cmp dword [eax + 0x14], 0
je 0x41b544
mov ecx, dword [eax + 0x14]
cmp byte [ecx], 0
je 0x41b544
cmp dword [0x4478ac], 0x10
mov eax, dword [0x447898]
jae 0x41b523
mov eax, 0x447898
push eax
push ecx
call fcn.0041f9ca
add esp, 8
test eax, eax
je 0x41b544
push 0x447894
mov edx, dword [ebp - 0x458]
mov edx, dword [edx + 0x14]
call fcn.00409350
mov esi, dword [ebp - 0x458]
mov dword [ebp - 0x474], esi
test esi, esi
je 0x41b59a
mov eax, dword [esi + 0x10]
push eax
mov ecx, dword [esi + 0x18]
push ecx
lea edx, [ebp - 0x44c]
push edx
call fcn.00424d80
add esp, 0xc
mov eax, dword [ebp - 0x448]
test eax, eax
je 0x41b595
cmp eax, 0x100007f
je 0x41b595
lea eax, [ebp - 0x44c]
push eax
lea ecx, [ebp - 0x678]
push ecx
lea ebx, [ebp - 0x538]
call fcn.0041c330
mov esi, dword [esi + 0x1c]
jmp 0x41b54a
mov edx, dword [ebp - 0x458]
push edx
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
mov esi, dword [ebp - 0x464]
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
mov al, byte [ebp - 0x45d]
mov ecx, dword [ebp - 0x4d0]
cmp al, byte [ecx]
je 0x41b5ca
inc dword [ebp - 0x45c]
mov eax, dword [ebp - 0x630]
mov dword [ebp - 0x598], eax
mov ecx, dword [ebp - 0x51c]
mov dword [ebp - 0x5e8], ecx
cmp eax, ecx
jne 0x41b6d9
mov eax, dword [ebp - 0x520]
mov dword [ebp - 0x5b0], eax
mov eax, dword [eax]
mov dword [ebp - 0x5f4], eax
mov dword [ebp - 0x4ac], 0
mov edi, eax
mov dword [ebp - 0x4a8], edi
mov ebx, dword [ebp - 0x538]
mov dword [ebp - 0x4ac], ebx
mov eax, dword [ebp - 0x634]
mov dword [ebp - 0x5d8], eax
mov dword [ebp - 0x4f8], 0
mov ecx, eax
mov dword [ebp - 0x4f4], ecx
mov edx, dword [ebp - 0x64c]
mov dword [ebp - 0x4f8], edx
mov dword [ebp - 0x574], eax
mov eax, dword [eax]
mov dword [ebp - 0x4d4], eax
mov dword [ebp - 0x500], 0
mov dword [ebp - 0x4fc], eax
mov esi, edx
mov dword [ebp - 0x500], esi
mov dword [ebp - 0x5fc], ebx
mov dword [ebp - 0x5f8], edi
mov dword [ebp - 0x5ac], edx
mov dword [ebp - 0x5a8], ecx
mov dword [ebp - 0x5e4], esi
mov dword [ebp - 0x5e0], eax
mov byte [ebp - 0x4d8], 0
mov dword [ebp - 0x5b8], edx
mov dword [ebp - 0x5b4], ecx
mov dword [ebp - 0x560], esi
mov dword [ebp - 0x55c], eax
mov ebx, dword [ebp - 0x4d8]
push ebx
mov ebx, dword [ebp - 0x4d4]
push ebx
push edi
mov edi, dword [ebp - 0x4ac]
push edi
push ecx
push edx
push eax
push esi
call fcn.0041e610
add esp, 0x20
test al, al
jne 0x41b777
mov bl, byte [ebp - 0x454]
test bl, bl
je 0x41b6ef
call fcn.0041aa70
mov byte [ebp - 0x44d], 1
mov eax, dword [ebp - 0x520]
mov dword [ebp - 0x5d4], eax
xor esi, esi
mov dword [ebp - 0x4f0], esi
mov ecx, eax
mov dword [ebp - 0x4ec], ecx
mov edx, dword [ebp - 0x538]
mov dword [ebp - 0x4f0], edx
mov dword [ebp - 0x5dc], eax
mov eax, dword [eax]
mov dword [ebp - 0x4bc], eax
mov dword [ebp - 0x4e8], esi
mov dword [ebp - 0x4e4], eax
mov esi, edx
mov dword [ebp - 0x4e8], esi
mov dword [ebp - 0x5c4], edx
mov dword [ebp - 0x5c0], ecx
mov dword [ebp - 0x5f0], esi
mov dword [ebp - 0x5ec], eax
push ecx
push edx
push eax
push esi
mov edx, dword [ebp - 0x4bc]
push edx
call fcn.0041e460
test bl, bl
je 0x41b771
call fcn.0041aa90
mov byte [ebp - 0x44d], 0
inc dword [ebp - 0x45c]
mov bl, byte [ebp - 0x454]
test bl, bl
je 0x41b78d
call fcn.0041aa70
mov byte [ebp - 0x44d], 1
mov byte [ebp - 0x469], 0
lea eax, [ebp - 0x558]
push eax
call fcn.0041ce90
mov byte [ebp - 4], 5
mov byte [ebp - 4], 6
lea esi, [ebp - 0x66c]
call fcn.0041c240
mov edi, eax
lea esi, [ebp - 0x65c]
call fcn.0041c210
mov ecx, dword [edi + 4]
push ecx
mov edx, dword [edi]
push edx
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
lea eax, [ebp - 0x62c]
push eax
call fcn.0041e320
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x470]
mov dl, byte [ecx]
mov byte [ebp - 0x45e], dl
test bl, bl
je 0x41b7fc
call fcn.0041aa90
mov byte [ebp - 0x44d], 0
push 0x11
push 2
push 0x17
call dword [sym.imp.WS2_32.dll_socket]
mov edi, eax
mov dword [ebp - 0x464], edi
test edi, edi
je 0x41b820
cmp edi, 0xffffffff
je 0x41b820
mov eax, 1
jmp 0x41b822
xor eax, eax
mov ecx, dword [ebp - 0x470]
mov byte [ecx], al
test al, al
je 0x41ba40
push edi
call fcn.0041b100
add esp, 4
mov esi, eax
mov dword [ebp - 0x468], esi
test esi, esi
je 0x41b8d4
xor edi, edi
mov dword [ebp - 0x4a4], edi
cmp edi, dword [esi]
jge 0x41b8b4
mov eax, dword [esi + edi*8 + 4]
mov edx, 0x17
cmp dx, word [eax]
jne 0x41b8b1
mov ecx, dword [esi + edi*8 + 8]
push ecx
push eax
lea edx, [ebp - 0x43c]
push edx
call fcn.00424d80
add esp, 0xc
lea eax, [ebp - 0x434]
call fcn.0041a8b0
test al, al
jne 0x41b8b1
lea eax, [ebp - 0x434]
call fcn.0041a8f0
test al, al
jne 0x41b8b1
lea eax, [ebp - 0x43c]
push eax
lea ecx, [ebp - 0x558]
push ecx
lea ebx, [ebp - 0x690]
call fcn.0041c490
inc edi
jmp 0x41b84d
push esi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [ebp - 0x468], 0
mov edi, dword [ebp - 0x464]
xor eax, eax
mov dword [ebp - 0x498], eax
mov dword [ebp - 0x494], eax
mov dword [ebp - 0x490], eax
mov dword [ebp - 0x48c], eax
mov dword [ebp - 0x488], eax
mov dword [ebp - 0x484], eax
mov dword [ebp - 0x480], eax
mov dword [ebp - 0x47c], eax
mov dword [ebp - 0x494], 0x17
mov dword [ebp - 0x498], 3
lea edx, [ebp - 0x458]
push edx
lea eax, [ebp - 0x498]
push eax
push 0
mov ecx, dword [ebp - 0x478]
push ecx
call dword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
jne 0x41ba39
cmp dword [0x4478a8], eax
jne 0x41b990
mov eax, dword [ebp - 0x458]
cmp dword [eax + 0x14], 0
je 0x41b990
mov eax, dword [eax + 0x14]
cmp byte [eax], 0
je 0x41b990
cmp dword [0x4478ac], 0x10
mov ecx, dword [0x447898]
jae 0x41b96f
mov ecx, 0x447898
push ecx
push eax
call fcn.0041f9ca
add esp, 8
test eax, eax
je 0x41b990
push 0x447894
mov edx, dword [ebp - 0x458]
mov edx, dword [edx + 0x14]
call fcn.00409350
mov esi, dword [ebp - 0x458]
mov dword [ebp - 0x474], esi
test esi, esi
je 0x41ba26
xor eax, eax
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x438], eax
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x430], eax
mov dword [ebp - 0x42c], eax
mov dword [ebp - 0x428], eax
mov dword [ebp - 0x424], eax
mov eax, dword [esi + 0x10]
push eax
mov ecx, dword [esi + 0x18]
push ecx
lea edx, [ebp - 0x43c]
push edx
call fcn.00424d80
add esp, 0xc
lea eax, [ebp - 0x434]
call fcn.0041a8b0
test al, al
jne 0x41ba1e
lea eax, [ebp - 0x434]
call fcn.0041a8f0
test al, al
jne 0x41ba1e
lea eax, [ebp - 0x43c]
push eax
lea ecx, [ebp - 0x558]
push ecx
lea ebx, [ebp - 0x684]
call fcn.0041c490
mov esi, dword [esi + 0x1c]
jmp 0x41b996
mov edx, dword [ebp - 0x458]
push edx
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
mov edi, dword [ebp - 0x464]
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
mov al, byte [ebp - 0x45e]
mov ecx, dword [ebp - 0x470]
cmp al, byte [ecx]
je 0x41ba56
inc dword [ebp - 0x45c]
mov eax, dword [ebp - 0x610]
mov dword [ebp - 0x5a0], eax
mov ecx, dword [ebp - 0x53c]
mov dword [ebp - 0x60c], ecx
cmp eax, ecx
jne 0x41bb65
mov eax, dword [ebp - 0x540]
mov dword [ebp - 0x59c], eax
mov eax, dword [eax]
mov dword [ebp - 0x580], eax
mov dword [ebp - 0x4b8], 0
mov edi, eax
mov dword [ebp - 0x4b4], edi
mov ebx, dword [ebp - 0x558]
mov dword [ebp - 0x4b8], ebx
mov eax, dword [ebp - 0x614]
mov dword [ebp - 0x5a4], eax
mov dword [ebp - 0x508], 0
mov ecx, eax
mov dword [ebp - 0x504], ecx
mov edx, dword [ebp - 0x62c]
mov dword [ebp - 0x508], edx
mov dword [ebp - 0x58c], eax
mov eax, dword [eax]
mov dword [ebp - 0x4cc], eax
mov dword [ebp - 0x4e0], 0
mov dword [ebp - 0x4dc], eax
mov esi, edx
mov dword [ebp - 0x4e0], esi
mov dword [ebp - 0x5d0], ebx
mov dword [ebp - 0x5cc], edi
mov dword [ebp - 0x608], edx
mov dword [ebp - 0x604], ecx
mov dword [ebp - 0x568], esi
mov dword [ebp - 0x564], eax
mov byte [ebp - 0x4c0], 0
mov dword [ebp - 0x570], edx
mov dword [ebp - 0x56c], ecx
mov dword [ebp - 0x57c], esi
mov dword [ebp - 0x578], eax
mov ebx, dword [ebp - 0x4c0]
push ebx
mov ebx, dword [ebp - 0x4cc]
push ebx
push edi
mov edi, dword [ebp - 0x4b8]
push edi
push ecx
push edx
push eax
push esi
call fcn.0041e8a0
add esp, 0x20
test al, al
jne 0x41bc03
mov bl, byte [ebp - 0x454]
test bl, bl
je 0x41bb7b
call fcn.0041aa70
mov byte [ebp - 0x44d], 1
mov eax, dword [ebp - 0x540]
mov dword [ebp - 0x5bc], eax
xor esi, esi
mov dword [ebp - 0x518], esi
mov ecx, eax
mov dword [ebp - 0x514], ecx
mov edx, dword [ebp - 0x558]
mov dword [ebp - 0x518], edx
mov dword [ebp - 0x5c8], eax
mov eax, dword [eax]
mov dword [ebp - 0x49c], eax
mov dword [ebp - 0x510], esi
mov dword [ebp - 0x50c], eax
mov esi, edx
mov dword [ebp - 0x510], esi
mov dword [ebp - 0x588], edx
mov dword [ebp - 0x584], ecx
mov dword [ebp - 0x594], esi
mov dword [ebp - 0x590], eax
push ecx
push edx
push eax
push esi
mov edx, dword [ebp - 0x49c]
push edx
call fcn.0041e4f0
test bl, bl
je 0x41bbfd
call fcn.0041aa90
mov byte [ebp - 0x44d], 0
inc dword [ebp - 0x45c]
cmp dword [0x4478a8], 0
jne 0x41bc5b
mov esi, 0x10
cmp dword [0x4478c8], esi
mov eax, dword [0x4478b4]
jae 0x41bc23
mov eax, 0x4478b4
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x41bc3e
cmp dword [eax], 0
je 0x41bc3e
mov eax, dword [eax]
cmp byte [eax], 0
je 0x41bc3e
mov edx, eax
jmp 0x41bc51
cmp dword [0x4478c8], esi
mov edx, dword [0x4478b4]
jae 0x41bc51
mov edx, 0x4478b4
push 0x447894
call fcn.00409350
mov byte [ebp - 4], 6
lea eax, [ebp - 0x62c]
push eax
call fcn.0041bd90
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x558]
push ecx
call fcn.0041bd90
mov byte [ebp - 4], 3
lea edx, [ebp - 0x64c]
push edx
call fcn.0041bd40
mov byte [ebp - 4], 1
lea eax, [ebp - 0x538]
push eax
call fcn.0041bd40
mov dword [ebp - 4], 0
mov cl, byte [ebp - 0x44d]
test cl, cl
je 0x41bcc5
cmp byte [0x449dc3], 0
je 0x41bcc5
mov edx, dword [ebp - 0x4c4]
add edx, 0x3c
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebp - 0x45c], 0
setne bl
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x4b0]
push eax
call fcn.0041fdf6
add esp, 4
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0041f826
mov esp, ebp
pop ebp
ret