Function at 0x13012230
Capabilities:
Contain obfuscated stackstrings
Create thread
Get common file path
Read .ini file
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1310dee8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x754
cmp dword [0x13165094], 0
jne 0x130125f7
push 0
push 0
push 0
push 0x13012070
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov eax, dword [ebp + 8]
mov dword [0x1316509c], eax
push 0x104
lea ecx, [ebp - 0x44c]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x1301238a
lea edx, [ebp - 0x44c]
push edx
lea ecx, [ebp - 0x67c]
call fcn.13004b60
mov dword [ebp - 4], 0
mov dword [ebp - 0x660], 0
push 0
push 0x13111a38
lea ecx, [ebp - 0x67c]
call fcn.13012640
mov dword [ebp - 0x65c], eax
mov eax, dword [ebp - 0x65c]
cmp eax, dword [0x13111bbc]
je 0x1301230b
mov ecx, dword [ebp - 0x65c]
mov dword [ebp - 0x660], ecx
mov edx, dword [ebp - 0x660]
add edx, 1
push edx
push 0x13111a3c
lea ecx, [ebp - 0x67c]
call fcn.13012640
mov dword [ebp - 0x65c], eax
jmp 0x130122cf
cmp dword [ebp - 0x660], 0
jbe 0x13012378
mov eax, dword [ebp - 0x660]
push eax
push 0
lea ecx, [ebp - 0x728]
push ecx
lea ecx, [ebp - 0x67c]
call fcn.1300cb00
mov dword [ebp - 0x75c], eax
mov edx, dword [ebp - 0x75c]
mov dword [ebp - 0x760], edx
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x760]
push eax
lea ecx, [ebp - 0x67c]
call fcn.13004540
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x728]
call fcn.13003840
lea ecx, [ebp - 0x67c]
call fcn.13005d50
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x67c]
call fcn.13003840
jmp 0x1301239c
mov dword [0x13165094], 1
mov dword [ebp - 0x658], 0x13111a40
lea ecx, [ebp - 0x244]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
push 0x13111a50
lea edx, [ebp - 0x244]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
mov word [ebp - 0x44], 0x45
mov word [ebp - 0x42], 0x6e
mov word [ebp - 0x40], 0x67
mov word [ebp - 0x3e], 0x69
mov word [ebp - 0x3c], 0x6e
mov word [ebp - 0x3a], 0x65
mov word [ebp - 0x38], 0x2e
mov word [ebp - 0x36], 0x64
mov word [ebp - 0x34], 0x6c
mov word [ebp - 0x32], 0x6c
mov word [ebp - 0x30], 0
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [0x13165098], eax
lea ecx, [ebp - 0x244]
push ecx
push 0x83a
push str.AuthPort
mov edx, dword [ebp - 0x658]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [0x13158ad0], eax
mov eax, dword [0x13158ad0]
push eax
mov ecx, dword [0x13165098]
add ecx, 0x122085
push ecx
call fcn.130010b0
add esp, 8
call fcn.13012fb0
mov ecx, 0x13165100
call fcn.13015df0
mov ecx, 0x131657e0
call fcn.1301f600
mov word [ebp - 0x2c], 0x43
mov word [ebp - 0x2a], 0x6c
mov word [ebp - 0x28], 0x69
mov word [ebp - 0x26], 0x45
mov word [ebp - 0x24], 0x78
mov word [ebp - 0x22], 0x74
mov word [ebp - 0x20], 0x2e
mov word [ebp - 0x1e], 0x64
mov word [ebp - 0x1c], 0x6c
mov word [ebp - 0x1a], 0x6c
mov word [ebp - 0x18], 0
mov word [ebp - 0x654], 0
push 0x206
push 0
lea edx, [ebp - 0x652]
push edx
call fcn.130309b0
add esp, 0xc
lea eax, [ebp - 0x654]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
push 0x13111a7c
lea ecx, [ebp - 0x654]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 0x654]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
mov dword [ebp - 0x14], 0
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x654]
push edx
call fcn.130015b0
add esp, 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x14], 0
je 0x130125e5
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x6ec]
call fcn.13009dc0
lea edx, [ebp - 0x708]
push edx
lea ecx, [ebp - 0x6ec]
call fcn.13009e70
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x708]
call fcn.1302b660
cmp eax, 0x20
jne 0x130125bb
mov dword [ebp - 0x70c], 0
jmp 0x13012590
mov eax, dword [ebp - 0x70c]
add eax, 1
mov dword [ebp - 0x70c], eax
cmp dword [ebp - 0x70c], 0x20
jae 0x130125bb
mov ecx, dword [ebp - 0x70c]
push ecx
lea ecx, [ebp - 0x708]
call fcn.1300a0e0
mov edx, dword [ebp - 0x70c]
mov al, byte [eax]
mov byte [edx + 0x131650a0], al
jmp 0x13012581
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x72c], ecx
mov edx, dword [ebp - 0x72c]
push edx
call fcn.13031372
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x708]
call fcn.13004580
jmp 0x130125f7
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret