Function at 0x10036080
Capabilities:
Query environment variable
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100394dc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x944
mov dword [ebp - 0x924], ecx
mov dword [ebp - 0x920], 0
mov eax, dword [ebp - 0x924]
push eax
lea ecx, [ebp - 0x814]
call fcn.100052d0
mov dword [ebp - 4], 0
xor ecx, ecx
mov word [ebp - 0x80c], cx
push 0x7fe
push 0
lea edx, [ebp - 0x80a]
push edx
call fcn.1001b770
add esp, 0xc
xor eax, eax
mov word [ebp - 0x830], ax
xor ecx, ecx
mov dword [ebp - 0x82e], ecx
mov dword [ebp - 0x82a], ecx
mov dword [ebp - 0x826], ecx
mov dword [ebp - 0x822], ecx
mov dword [ebp - 0x81e], ecx
mov dword [ebp - 0x81a], ecx
push 0x400
lea edx, [ebp - 0x80c]
push edx
push 0x1003fb74
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
lea eax, [ebp - 0x80c]
push eax
push 0xd
lea ecx, [ebp - 0x830]
push ecx
push 0x1003fbac
push 0x1003fbc8
push 0x1003fbd0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea edx, [ebp - 0x830]
push edx
lea ecx, [ebp - 0x868]
call fcn.10001c20
mov byte [ebp - 4], 1
lea eax, [ebp - 0x868]
push eax
lea ecx, [ebp - 0x884]
push ecx
call fcn.100075c0
add esp, 8
mov dword [ebp - 0x928], eax
mov edx, dword [ebp - 0x928]
mov dword [ebp - 0x92c], edx
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x92c]
push eax
mov ecx, dword [ebp - 0x924]
add ecx, 0x2c
call fcn.10001840
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x884]
call fcn.10001870
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x868]
call fcn.10001d10
push 2
push 0
lea ecx, [ebp - 0x8a4]
push ecx
mov ecx, dword [ebp - 0x924]
add ecx, 0x2c
call fcn.10005070
mov dword [ebp - 0x930], eax
mov edx, dword [ebp - 0x930]
mov dword [ebp - 0x934], edx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x920]
or eax, 1
mov dword [ebp - 0x920], eax
push 0x1003fbf0
mov ecx, dword [ebp - 0x934]
push ecx
call fcn.10005850
add esp, 8
movzx edx, al
test edx, edx
jne 0x10036287
push 2
push 0
lea eax, [ebp - 0x8c0]
push eax
mov ecx, dword [ebp - 0x924]
add ecx, 0x2c
call fcn.10005070
mov dword [ebp - 0x938], eax
mov ecx, dword [ebp - 0x938]
mov dword [ebp - 0x93c], ecx
mov dword [ebp - 4], 4
mov edx, dword [ebp - 0x920]
or edx, 2
mov dword [ebp - 0x920], edx
push 0x1003fbf4
mov eax, dword [ebp - 0x93c]
push eax
call fcn.10005850
add esp, 8
movzx ecx, al
test ecx, ecx
jne 0x10036287
mov dword [ebp - 0x940], 0
jmp 0x10036291
mov dword [ebp - 0x940], 1
mov dl, byte [ebp - 0x940]
mov byte [ebp - 0x885], dl
mov dword [ebp - 4], 3
mov eax, dword [ebp - 0x920]
and eax, 2
je 0x100362c1
and dword [ebp - 0x920], 0xfffffffd
lea ecx, [ebp - 0x8c0]
call fcn.10001870
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x920]
and ecx, 1
je 0x100362e5
and dword [ebp - 0x920], 0xfffffffe
lea ecx, [ebp - 0x8a4]
call fcn.10001870
movzx edx, byte [ebp - 0x885]
test edx, edx
je 0x10036314
mov byte [ebp - 0x8c1], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x814]
call fcn.10005300
mov al, byte [ebp - 0x8c1]
jmp 0x1003649f
mov ecx, dword [ebp - 0x924]
add ecx, 0x2c
call fcn.10001b20
push eax
mov ecx, dword [ebp - 0x924]
add ecx, 0x2c
call fcn.10001b00
push eax
mov ecx, dword [ebp - 0x924]
call fcn.10034cb0
movzx eax, al
test eax, eax
jne 0x10036458
push 0x1a
push 0
lea ecx, [ebp - 0x830]
push ecx
call fcn.1001b770
add esp, 0xc
lea edx, [ebp - 0x8e0]
push edx
call fcn.10009ea0
add esp, 4
mov dword [ebp - 0x944], eax
mov eax, dword [ebp - 0x944]
mov dword [ebp - 0x948], eax
mov byte [ebp - 4], 5
push 0x1003fbf8
mov ecx, dword [ebp - 0x948]
push ecx
lea edx, [ebp - 0x84c]
push edx
call fcn.10005870
add esp, 0xc
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x8e0]
call fcn.10001d10
lea ecx, [ebp - 0x84c]
call fcn.10001e90
push eax
push 0xd
lea eax, [ebp - 0x830]
push eax
push 0x1003fc14
push 0x1003fc30
push 0x1003fc38
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea ecx, [ebp - 0x830]
push ecx
lea ecx, [ebp - 0x8fc]
call fcn.10001c20
mov byte [ebp - 4], 8
lea edx, [ebp - 0x8fc]
push edx
lea eax, [ebp - 0x918]
push eax
call fcn.100075c0
add esp, 8
mov dword [ebp - 0x94c], eax
mov ecx, dword [ebp - 0x94c]
mov dword [ebp - 0x950], ecx
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x950]
push edx
mov ecx, dword [ebp - 0x924]
add ecx, 0x2c
call fcn.10001840
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x918]
call fcn.10001870
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x8fc]
call fcn.10001d10
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x84c]
call fcn.10001d10
mov ecx, dword [ebp - 0x924]
add ecx, 0x2c
call fcn.10001b20
push eax
mov ecx, dword [ebp - 0x924]
add ecx, 0x2c
call fcn.10001b00
push eax
mov ecx, dword [ebp - 0x924]
call fcn.10034cb0
mov byte [ebp - 0x919], al
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x814]
call fcn.10005300
mov al, byte [ebp - 0x919]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret