Function at 0x10005f90
Capabilities:
Check if file exists
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101344d5
mov eax, dword fs:[0]
push eax
sub esp, 0x270
mov eax, dword [0x101957cc]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x278], ebx
mov dword [ebp - 0x274], ebx
push 0x208
lea eax, [ebp - 0x21c]
mov dword [ebp - 4], 0
push 0
push eax
call fcn.100c8b20
add esp, 0xc
lea ecx, [ebp - 0x24c]
call fcn.100071d0
push ecx
mov edx, eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x234]
call fcn.10009140
add esp, 4
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x238]
cmp edx, 8
jb 0x1000604d
mov ecx, dword [ebp - 0x24c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10006043
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100065e1
push edx
push ecx
call fcn.100a0bd3
add esp, 8
xor eax, eax
mov dword [ebp - 0x23c], 0
cmp dword [ebp - 0x220], 8
mov word [ebp - 0x24c], ax
lea eax, [ebp - 0x234]
cmovae eax, dword [ebp - 0x234]
push eax
push 0x104
lea eax, [ebp - 0x21c]
mov dword [ebp - 0x238], 7
push eax
push 0x1016f2b8
push 0x1016f06c
push str.Config
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, dword [0x10195004]
lea esi, [ebp - 0x21c]
mov dword [ebp - 0x26c], eax
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x100060b4
sub esi, ecx
sar esi, 1
je 0x10006109
lea eax, [esi*2 + 0xe]
push eax
call fcn.1001e484
add esp, 4
test eax, eax
je 0x10006109
xor ecx, ecx
mov dword [eax], 1
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov word [eax + esi*2 + 0xc], cx
lea ecx, [esi + esi]
push ecx
lea ecx, [ebp - 0x21c]
add eax, 0xc
push ecx
push eax
mov dword [ebp - 0x26c], eax
call fcn.100c4b90
add esp, 0xc
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x26c]
cmp dword [eax - 8], 0
jne 0x100062f1
cmp dword [ebp - 0x220], 8
lea eax, [ebp - 0x234]
cmovae eax, dword [ebp - 0x234]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
mov eax, dword [0x10195004]
mov dword [ebx], eax
je 0x1000621c
push 0x3a
call fcn.1001e484
add esp, 4
test eax, eax
je 0x10006184
mov dword [eax], 1
xor ecx, ecx
mov dword [eax + 4], 0x16
mov dword [eax + 8], 0x16
mov word [eax + 0x38], cx
add eax, 0xc
push 0x2c
push str.config_ini_path_exist_
push eax
mov dword [ebx], eax
call fcn.100c4b90
add esp, 0xc
mov byte [ebp - 4], 5
mov esi, dword [ebp - 0x26c]
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
add esi, 0xfffffff4
cmp esi, dword [section..data]
je 0x100061af
push esi
call edi
test eax, eax
jg 0x100061af
push esi
call fcn.1001e47f
add esp, 4
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x220]
cmp edx, 8
jb 0x100061f3
mov ecx, dword [ebp - 0x234]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x100061e9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100065e6
push edx
push ecx
call fcn.100a0bd3
add esp, 8
xor eax, eax
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 7
mov word [ebp - 0x234], ax
mov dword [ebp - 4], 6
jmp 0x100065a5
push 0x42
call fcn.1001e484
add esp, 4
test eax, eax
je 0x10006259
mov dword [eax], 1
xor ecx, ecx
mov dword [eax + 4], 0x1a
mov dword [eax + 8], 0x1a
mov word [eax + 0x40], cx
add eax, 0xc
push 0x34
push str.config_ini_path_not_exist_
push eax
mov dword [ebx], eax
call fcn.100c4b90
add esp, 0xc
mov byte [ebp - 4], 7
mov esi, dword [ebp - 0x26c]
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
add esi, 0xfffffff4
cmp esi, dword [section..data]
je 0x10006284
push esi
call edi
test eax, eax
jg 0x10006284
push esi
call fcn.1001e47f
add esp, 4
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x220]
cmp edx, 8
jb 0x100062c8
mov ecx, dword [ebp - 0x234]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x100062be
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100065eb
push edx
push ecx
call fcn.100a0bd3
add esp, 8
xor eax, eax
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 7
mov word [ebp - 0x234], ax
mov dword [ebp - 4], 8
jmp 0x100065a5
mov eax, dword [0x10195004]
mov dword [ebp - 0x270], eax
push 0
lea eax, [ebp - 0x26c]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x274]
push eax
call fcn.1001e5d5
add esp, 0xc
push eax
lea ecx, [ebp - 0x270]
mov byte [ebp - 4], 0xa
call fcn.10008270
mov byte [ebp - 4], 0xb
mov esi, dword [ebp - 0x274]
add esi, 0xfffffff4
cmp esi, dword [section..data]
je 0x10006351
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x10006351
push esi
call fcn.1001e47f
add esp, 4
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x264]
mov edi, dword [ebp - 0x270]
mov edx, edi
push dword [edi - 8]
call fcn.10006cd0
add esp, 4
mov byte [ebp - 4], 0xc
cmp dword [eax + 0x14], 0x10
jb 0x1000637a
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x268]
call fcn.10003e90
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x250]
cmp edx, 0x10
jb 0x100063c4
mov ecx, dword [ebp - 0x264]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100063ba
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100065f0
push edx
push ecx
call fcn.100a0bd3
add esp, 8
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x250], 0xf
mov byte [ebp - 0x264], 0
call fcn.10008a80
mov ecx, dword [ebp - 0x268]
xor esi, esi
mov al, byte [ecx]
test al, al
je 0x1000642b
cmp al, 0x20
jne 0x10006407
test esi, esi
mov eax, ecx
cmovne eax, esi
mov esi, eax
jmp 0x10006409
xor esi, esi
push ecx
call fcn.100e2c24
mov ecx, eax
add esp, 4
mov al, byte [ecx]
test al, al
jne 0x100063f8
test esi, esi
je 0x1000642b
mov byte [esi], al
mov eax, dword [ebp - 0x268]
sub esi, eax
mov dword [eax - 8], esi
lea ecx, [ebp - 0x268]
call fcn.10008a80
mov esi, dword [ebp - 0x268]
mov ecx, esi
cmp byte [esi], 0x20
jne 0x10006481
push ecx
call fcn.100e2c24
mov ecx, eax
add esp, 4
cmp byte [ecx], 0x20
je 0x10006443
mov esi, dword [ebp - 0x268]
cmp ecx, esi
je 0x10006481
mov ebx, esi
sub ebx, ecx
add ebx, dword [esi - 8]
lea eax, [ebx + 1]
push eax
push ecx
push esi
call fcn.100c42d0
mov dword [esi - 8], ebx
add esp, 0xc
mov esi, dword [ebp - 0x268]
mov ebx, dword [ebp - 0x278]
cmp dword [esi - 8], 0
jl 0x100064b2
push 0x1016f0b8
push esi
call fcn.100d15c0
add esp, 8
test eax, eax
je 0x100064b2
sub eax, dword [ebp - 0x268]
cmp eax, 0xffffffff
je 0x100064b2
sub esp, 8
lea ecx, [ebp - 0x268]
call fcn.100080a0
push 0
push 0
lea eax, [ebp - 0x268]
push eax
push ebx
call fcn.1001e4ed
add esp, 0x10
mov byte [ebp - 4], 0xf
mov esi, dword [ebp - 0x268]
add esi, 0xfffffff4
cmp esi, dword [section..data]
je 0x100064ef
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x100064ef
push esi
call fcn.1001e47f
add esp, 4
add edi, 0xfffffff4
mov byte [ebp - 4], 0x10
cmp edi, dword [section..data]
je 0x10006512
push edi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x10006512
push edi
call fcn.1001e47f
add esp, 4
mov byte [ebp - 4], 0x11
mov esi, dword [ebp - 0x26c]
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
add esi, 0xfffffff4
cmp esi, dword [section..data]
je 0x1000653d
push esi
call edi
test eax, eax
jg 0x1000653d
push esi
call fcn.1001e47f
add esp, 4
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x220]
cmp edx, 8
jb 0x10006581
mov ecx, dword [ebp - 0x234]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10006577
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100065f5
push edx
push ecx
call fcn.100a0bd3
add esp, 8
xor eax, eax
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 7
mov word [ebp - 0x234], ax
mov dword [ebp - 4], 0x12
mov esi, dword [ebp + 8]
add esi, 0xfffffff4
cmp esi, dword [section..data]
je 0x100065c3
push esi
call edi
test eax, eax
jg 0x100065c3
push esi
call fcn.1001e47f
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100a0b98
mov esp, ebp
pop ebp
ret
call fcn.100e2ef0
call fcn.100e2ef0
call fcn.100e2ef0
call fcn.100e2ef0
call fcn.100e2ef0
int3