Function at 0x10006910
Capabilities:
Accept command line arguments
Create thread
Delete file
Get common file path
Initialize winsock library
Read .ini file

Disassembly:
sub esp, 0x8a4
mov eax, dword [0x100153dc]
mov dword [esp + 0x8a0], eax
mov eax, dword [esp + 0x8ac]
dec eax
jne 0x10006d6b
mov eax, dword [0x10012508]
mov ecx, dword [0x1001250c]
mov edx, dword [str.Ge__b]
mov dword [0x1003d754], eax
mov eax, dword [0x10012514]
mov dword [0x1003d760], eax
xor eax, eax
mov dword [0x1003d70c], eax
mov dword [0x1003d710], eax
mov dword [0x1003d758], ecx
mov dword [0x1003d75c], edx
xor ecx, ecx
xor edx, edx
mov dword [0x1003d714], eax
mov dword [0x1003d740], ecx
mov dword [0x1003d72c], edx
mov dword [0x1003d718], eax
mov dword [0x1003d744], ecx
mov dword [0x1003d730], edx
mov dword [0x1003d71c], eax
push esi
mov esi, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [0x1003d748], ecx
mov dword [0x1003d734], edx
mov dword [0x1003d720], eax
mov dword [0x1003d74c], ecx
mov dword [0x1003d738], edx
mov dword [0x1003d724], eax
push 0x1003d5ec
mov byte [0x1003d750], cl
mov byte [0x1003d73c], dl
mov dword [0x1003d728], eax
call esi
push 0x1003d5d4
call esi
push 0x1003d5bc
call esi
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
lea edx, [esp + 0x4a4]
nop
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x100069f0
lea ecx, [esp + 0x4a4]
push str.726f81d12cc5b4cbf2c6ab0352a01cff
push ecx
call fcn.10008cb0
add esp, 8
test eax, eax
jne 0x10006d6a
lea edx, [esp + 0x314]
push edx
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
call fcn.10001000
lea eax, [esp + 4]
push eax
push 0x10001a30
push 4
mov dword [esp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleExA]
mov ecx, dword [esp + 4]
push 0x104
push 0x1003d608
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0
push 0
lea edx, [esp + 0x21c]
push edx
lea eax, [esp + 0x14]
push eax
push 0x1003d608
call fcn.100091e8
add esp, 0x14
xor eax, eax
mov edi, edi
mov cl, byte [esp + eax + 8]
mov byte [eax + 0x1003d608], cl
inc eax
test cl, cl
jne 0x10006a80
lea eax, [esp + 0x214]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10006a98
push edi
mov edi, 0x1003d608
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x10006aa8
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x114]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea edi, [esp + 0x114]
dec edi
jmp 0x10006ae0
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x10006ae0
mov edx, dword [str.PlayMachine.tmp]
mov eax, dword [0x10012380]
mov ecx, dword [0x10012384]
mov dword [edi], edx
mov edx, dword [0x10012388]
mov dword [edi + 4], eax
lea eax, [esp + 0x114]
mov dword [edi + 8], ecx
push eax
mov dword [edi + 0xc], edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
xor eax, eax
lea ebx, [ebx]
mov cl, byte [eax + 0x1003d608]
mov byte [esp + eax + 0x10], cl
inc eax
test cl, cl
jne 0x10006b20
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x10006b34
mov ecx, dword [str._sz.ini]
mov edx, dword [0x10012468]
mov dword [edi], ecx
mov dword [edi + 4], edx
xor eax, eax
mov ecx, 8
mov esi, str.fccde0ad7d9fffe820641813fdd92fc7
mov edi, 0x1003d810
rep movsd dword es:[edi], dword [esi]
mov dword [0x1003d7c0], eax
mov ecx, 0x10
mov esi, 0x100124a0
mov edi, 0x1003d7d0
rep movsd dword es:[edi], dword [esi]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [0x1003d7c4], eax
mov dword [0x1003d7c8], eax
mov ecx, 0xc
mov edi, 0x1003d790
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x10]
push ecx
push 0x10
push 0x1003d7c0
push 0x1001249d
push str.PM10
push str.Public
mov dword [0x1001530c], 1
mov dword [0x10015310], 1
mov dword [0x1003d7cc], eax
call esi
lea edx, [esp + 0x10]
push edx
push 0x30
push 0x1003d790
push 0x1001249d
push str.PM20
push str.Public
call esi
mov eax, 0x1003d7c0
lea ecx, [eax + 1]
lea ecx, [ecx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10006bf0
sub eax, ecx
cmp eax, 1
jb 0x10006c23
mov eax, 0x1003d790
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10006c06
sub eax, edx
cmp eax, 1
jb 0x10006c23
mov dword [0x1003d78c], 1
jmp 0x10006cfc
push 1
push 5
push 0x1003d7c0
call fcn.100017a0
push 3
push 8
push 0x1003d790
call fcn.100017a0
mov edi, 0x1003d790
add esp, 0x18
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x10006c48
mov ax, word [0x1001248c]
push 3
push 4
push 0x1003d799
mov word [edi], ax
call fcn.100017a0
mov edi, 0x1003d790
add esp, 0xc
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x10006c70
mov cx, word [0x1001248c]
push 3
push 4
push 0x1003d79e
mov word [edi], cx
call fcn.100017a0
mov edi, 0x1003d790
add esp, 0xc
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x10006ca0
mov dx, word [0x1001248c]
push 3
push 4
push 0x1003d7a3
mov word [edi], dx
call fcn.100017a0
mov edi, 0x1003d790
add esp, 0xc
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x10006cd0
mov ax, word [0x1001248c]
push 3
push 0xc
push 0x1003d7a8
mov word [edi], ax
call fcn.100017a0
add esp, 0xc
mov dword [0x1003d78c], 0
lea ecx, [esp + 0x10]
push ecx
push 0x68
push str.CodeType
push str.Public
mov dword [0x1003d788], 0x32
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push str.UUWisehelper.dll
mov dword [0x1003d784], eax
mov dword [0x1003d780], 0x258
mov dword [0x1003d77c], 0x64
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x10006740
push 0
push 0
call esi
push 0
push 0
push 0
push 0x10003b90
push 0
push 0
call esi
pop edi
pop esi
mov ecx, dword [esp + 0x8a0]
mov eax, 1
call fcn.1000802f
add esp, 0x8a4
ret 0xc