Function at 0x10016e20
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x328
mov eax, dword [0x1008bb60]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0xb8], 0
mov byte [ebp - 0x90], 0
push 0x7f
push 0
lea eax, [ebp - 0x8f]
push eax
call fcn.10041d70
add esp, 0xc
lea ecx, [ebp - 0xc4]
call fcn.100021d0
lea ecx, [ebp - 0xb4]
call fcn.100024f0
mov byte [ebp - 0x2e0], 0
push 0x1ff
push 0
lea ecx, [ebp - 0x2df]
push ecx
call fcn.10041d70
add esp, 0xc
mov byte [ebp - 0xd4], 0
xor edx, edx
mov dword [ebp - 0xd3], edx
mov dword [ebp - 0xcf], edx
mov dword [ebp - 0xcb], edx
mov word [ebp - 0xc7], dx
mov byte [ebp - 0xc5], dl
lea ecx, [ebp - 0xbc]
call fcn.100016b0
lea ecx, [ebp - 0x10]
call fcn.100016b0
lea ecx, [ebp - 0xa8]
call fcn.100016b0
lea ecx, [ebp - 0xa4]
call fcn.1002db60
lea eax, [ebp - 0x90]
push eax
call fcn.10016d20
add esp, 4
push 0x200
lea ecx, [ebp - 0x2e0]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [ebp - 0xa4]
call fcn.1002d5b0
lea edx, [ebp - 0x2e0]
push edx
push 0x100733e4
lea eax, [ebp - 0xbc]
push eax
call fcn.100030c0
add esp, 0xc
push 0x5c
lea ecx, [ebp - 0xbc]
call fcn.10002970
push eax
lea ecx, [ebp - 0x2ec]
push ecx
lea ecx, [ebp - 0xbc]
call fcn.100029c0
push eax
lea ecx, [ebp - 0xbc]
call fcn.100016f0
lea ecx, [ebp - 0x2ec]
call fcn.100016d0
push 0x100733e8
lea edx, [ebp - 0xbc]
push edx
lea eax, [ebp - 0x2f0]
push eax
call fcn.10002af0
add esp, 0xc
push eax
lea ecx, [ebp - 0x10]
call fcn.100016f0
lea ecx, [ebp - 0x2f0]
call fcn.100016d0
push 0x100733f4
lea ecx, [ebp - 0xbc]
push ecx
lea edx, [ebp - 0x2f4]
push edx
call fcn.10002af0
add esp, 0xc
push eax
lea ecx, [ebp - 0xa8]
call fcn.100016f0
lea ecx, [ebp - 0x2f4]
call fcn.100016d0
push str.dg_public
lea ecx, [ebp - 0xc4]
call fcn.100022c0
push 0x10
lea eax, [ebp + 0x14]
push eax
push str.uuid
lea ecx, [ebp - 0xc4]
call fcn.10002370
call fcn.10001600
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp + 8]
mov dword [ebp - 0xdc], ecx
cmp dword [ebp - 0xdc], 0
jne 0x1001700b
mov dword [ebp - 0x2fc], 0
jmp 0x10017073
mov edx, dword [ebp - 0xdc]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x3fffffff
jle 0x10017033
mov dword [ebp - 0x300], 0
jmp 0x10017067
mov eax, dword [ebp - 8]
shl eax, 1
call fcn.10041b20
mov dword [ebp - 0x304], esp
mov eax, dword [ebp - 0xd8]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0xdc]
push edx
mov eax, dword [ebp - 0x304]
push eax
call fcn.10001610
mov dword [ebp - 0x300], eax
mov ecx, dword [ebp - 0x300]
mov dword [ebp - 0x2fc], ecx
mov edx, dword [ebp - 0x2fc]
push edx
push str.pg_version
lea ecx, [ebp - 0xc4]
call fcn.100022f0
lea eax, [ebp - 0x90]
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0
jne 0x100170ab
mov dword [ebp - 0x308], 0
jmp 0x10017113
mov ecx, dword [ebp - 0xdc]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x3fffffff
jle 0x100170d3
mov dword [ebp - 0x30c], 0
jmp 0x10017107
mov eax, dword [ebp - 8]
shl eax, 1
call fcn.10041b20
mov dword [ebp - 0x310], esp
mov edx, dword [ebp - 0xd8]
push edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xdc]
push ecx
mov edx, dword [ebp - 0x310]
push edx
call fcn.10001610
mov dword [ebp - 0x30c], eax
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x308], eax
mov ecx, dword [ebp - 0x308]
push ecx
push str.os_version
lea ecx, [ebp - 0xc4]
call fcn.100022f0
call fcn.10019960
movzx edx, al
test edx, edx
je 0x1001714d
push 0x10073450
push 0x10073458
lea ecx, [ebp - 0xc4]
call fcn.100022f0
jmp 0x10017162
push 0x10073478
push str.os_architecture
lea ecx, [ebp - 0xc4]
call fcn.100022f0
push 0
lea ecx, [ebp - 0xa8]
call fcn.10001730
push eax
push 0
push 0x100734a0
push 0x100734a8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0xc], eax
lea ecx, [ebp - 0x10]
call fcn.10025f80
push eax
push 0x64b
push 0x100734b0
push 0x100734b8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x2e4], eax
cmp dword [ebp - 0xc], 0
jne 0x100171d8
push 0
lea ecx, [ebp - 0xa8]
call fcn.10001730
push eax
push 0x3e8
push 0x100734c0
push str.Channel
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0xc]
push eax
push 0x100734cc
lea ecx, [ebp - 0xc4]
call fcn.10002330
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0xdc], ecx
cmp dword [ebp - 0xdc], 0
jne 0x1001720a
mov dword [ebp - 0x314], 0
jmp 0x10017272
mov edx, dword [ebp - 0xdc]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x3fffffff
jle 0x10017232
mov dword [ebp - 0x318], 0
jmp 0x10017266
mov eax, dword [ebp - 8]
shl eax, 1
call fcn.10041b20
mov dword [ebp - 0x31c], esp
mov eax, dword [ebp - 0xd8]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0xdc]
push edx
mov eax, dword [ebp - 0x31c]
push eax
call fcn.10001610
mov dword [ebp - 0x318], eax
mov ecx, dword [ebp - 0x318]
mov dword [ebp - 0x314], ecx
mov edx, dword [ebp - 0x314]
push edx
push 0x100734d4
lea ecx, [ebp - 0xc4]
call fcn.100022f0
mov eax, dword [ebp - 0x2e4]
push eax
push str.trynum
lea ecx, [ebp - 0xc4]
call fcn.10002330
lea ecx, [ebp - 0x98]
call fcn.10025f80
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0
jne 0x100172c6
mov dword [ebp - 0x320], 0
jmp 0x1001732e
mov ecx, dword [ebp - 0xdc]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x3fffffff
jle 0x100172ee
mov dword [ebp - 0x324], 0
jmp 0x10017322
mov eax, dword [ebp - 8]
shl eax, 1
call fcn.10041b20
mov dword [ebp - 0x328], esp
mov edx, dword [ebp - 0xd8]
push edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xdc]
push ecx
mov edx, dword [ebp - 0x328]
push edx
call fcn.10001610
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x324]
mov dword [ebp - 0x320], eax
mov ecx, dword [ebp - 0x320]
push ecx
push str.svrid
lea ecx, [ebp - 0xc4]
call fcn.100022f0
push 0x100734f8
push 0x100734fc
lea ecx, [ebp - 0xc4]
call fcn.100022f0
mov edx, dword [ebp - 0x9c]
push edx
push str.usertype_public
lea ecx, [ebp - 0xc4]
call fcn.10002330
lea ecx, [ebp - 0xc4]
call fcn.100023b0
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
je 0x1001739e
push 0
lea ecx, [ebp - 0xc4]
call fcn.100024b0
mov dword [ebp - 0xb8], eax
lea ecx, [ebp - 0xc4]
call fcn.10002480
push eax
lea ecx, [ebp - 0xc4]
call fcn.10002450
push eax
lea ecx, [ebp - 0xb4]
call fcn.100025d0
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x2f8], eax
lea ecx, [ebp - 0xa4]
call fcn.10024d10
lea ecx, [ebp - 0xa8]
call fcn.100016d0
lea ecx, [ebp - 0x10]
call fcn.100016d0
lea ecx, [ebp - 0xbc]
call fcn.100016d0
lea ecx, [ebp - 0xb4]
call fcn.100025a0
lea ecx, [ebp - 0xc4]
call fcn.10002280
mov eax, dword [ebp - 0x2f8]
lea esp, [ebp - 0x328]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10041acb
mov esp, ebp
pop ebp
ret