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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10023458
mov eax, dword fs:[0]
push eax
sub esp, 0x3dc
mov eax, dword [0x100330b4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x104
lea eax, [ebp - 0x128]
push 0
push eax
call fcn.1000ebd0
add esp, 0xc
lea eax, [ebp - 0x128]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push str.explorer.exe
lea eax, [ebp - 0x128]
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIA]
test eax, eax
je 0x100081a1
mov eax, dword [0x10034518]
test al, 1
jne 0x10007ba7
or eax, 1
mov dword [0x10034518], eax
mov ecx, 0x10034058
mov dword [ebp - 4], 0
call fcn.10003fa0
push 0x10023620
call fcn.1000c1e5
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0
call fcn.10012bab
add esp, 4
mov ecx, 0x10034058
push eax
call fcn.10004940
mov esi, eax
xorps xmm0, xmm0
xor eax, eax
push esi
mov word [ebp - 0x24], ax
mov word [ebp - 0x12], ax
lea eax, [ebp - 0x24]
push 0x10024c64
push eax
movups xmmword [ebp - 0x22], xmm0
call fcn.10002470
add esp, 0xc
lea eax, [ebp - 0x360]
mov ecx, 0x10034058
push eax
call fcn.10004ea0
lea eax, [ebp - 0x3d8]
mov dword [ebp - 4], 1
push eax
mov ecx, 0x10034058
call fcn.10004ee0
cmp dword [ebp - 0x350], 0
mov byte [ebp - 4], 2
jne 0x10007c29
push 0x92
call fcn.10002100
add esp, 4
jmp 0x10008148
cmp dword [ebp - 0x34c], 8
lea eax, [ebp - 0x360]
cmovae eax, dword [ebp - 0x360]
push eax
push 0xffffffffffffffff
push str.52b1bd
push str.XKSetting
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
cmp eax, esi
jne 0x10007c67
push eax
push 0x93
call fcn.10002100
add esp, 8
jmp 0x10008148
cmp dword [ebp - 0x34c], 8
lea eax, [ebp - 0x360]
cmovae eax, dword [ebp - 0x360]
push eax
lea eax, [ebp - 0x24]
push eax
push str.52b1bd
push str.XKSetting
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea eax, [ebp - 0x3c0]
mov ecx, 0x10034058
push eax
call fcn.10004900
mov dword [ebp - 0x3e8], 0
mov dword [ebp - 0x3e4], 0
mov dword [ebp - 0x3e0], 0
push str.0f9509
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 4
call fcn.100010e0
lea eax, [ebp - 0x378]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x3e8]
call fcn.10009bb0
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 4
call fcn.10001140
push 0x10024c8c
lea ecx, [ebp - 0x378]
call fcn.100010e0
lea eax, [ebp - 0x378]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x3e8]
call fcn.10009bb0
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 4
call fcn.10001140
lea eax, [ebp - 0x3e8]
push eax
lea eax, [ebp - 0x390]
push 0x10024c90
push eax
call fcn.10003560
add esp, 0xc
cmp dword [ebp - 0x3ac], 8
lea eax, [ebp - 0x3c0]
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmovae eax, dword [ebp - 0x3c0]
push eax
mov byte [ebp - 4], 7
call edi
test eax, eax
je 0x10007e2f
cmp dword [ebp - 0x37c], 8
lea ecx, [ebp - 0x390]
lea eax, [ebp - 0x3c0]
cmovae ecx, dword [ebp - 0x390]
cmp dword [ebp - 0x3ac], 8
push ecx
cmovae eax, dword [ebp - 0x3c0]
push eax
push 0x94
call fcn.10002100
add esp, 0xc
mov dword [ebp - 0x3dc], 0xbb8
cmp dword [ebp - 0x37c], 8
lea eax, [ebp - 0x390]
lea ecx, [ebp - 0x3a8]
cmovae eax, dword [ebp - 0x390]
push eax
call fcn.100010e0
cmp dword [ebp - 0x3ac], 8
lea eax, [ebp - 0x3c0]
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 8
cmovae eax, dword [ebp - 0x3c0]
push eax
call fcn.100010e0
lea eax, [ebp - 0x3dc]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x3a8]
mov ecx, 0x10034058
push eax
lea eax, [ebp - 0x378]
push eax
call fcn.10004350
lea ecx, [ebp - 0x378]
call fcn.10001140
lea ecx, [ebp - 0x3a8]
jmp 0x10008122
push 0x208
lea eax, [ebp - 0x330]
push 0
push eax
call fcn.1000ebd0
add esp, 0xc
lea eax, [ebp - 0x360]
cmp dword [ebp - 0x34c], 8
cmovae eax, dword [ebp - 0x360]
push eax
push 0x104
lea eax, [ebp - 0x330]
push eax
push 0x100242ac
push str.97b842
push str.XKSetting
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x330]
push eax
lea ecx, [ebp - 0x348]
call fcn.100010e0
cmp dword [ebp - 0x338], 0
mov byte [ebp - 4], 0xa
je 0x10007eb9
cmp dword [ebp - 0x334], 8
lea eax, [ebp - 0x348]
cmovae eax, dword [ebp - 0x348]
push eax
call edi
test eax, eax
jne 0x10007f4c
mov dword [ebp - 0x36c], 0
mov dword [ebp - 0x368], 0
mov dword [ebp - 0x364], 0
cmp dword [ebp - 0x3c4], 8
lea ecx, [ebp - 0x36c]
push 0
push ecx
lea eax, [ebp - 0x3d8]
mov byte [ebp - 4], 0xb
cmovae eax, dword [ebp - 0x3d8]
push str..exe
push eax
call fcn.10002700
mov ecx, dword [ebp - 0x368]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x36c]
add esp, 0x10
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10007f3d
lea eax, [ebp - 0x348]
cmp eax, esi
je 0x10007f3d
push 0xffffffffffffffff
push 0
push esi
mov ecx, eax
call fcn.10001790
lea ecx, [ebp - 0x36c]
mov byte [ebp - 4], 0xa
call fcn.100025e0
cmp dword [ebp - 0x334], 8
lea eax, [ebp - 0x348]
cmovae eax, dword [ebp - 0x348]
push eax
call edi
test eax, eax
je 0x100080fa
cmp dword [ebp - 0x34c], 8
lea eax, [ebp - 0x360]
cmovae eax, dword [ebp - 0x360]
push eax
push 3
push str.1692b0
push str.XKSetting
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push dword [ebp - 0x3dc]
mov esi, eax
mov eax, 3
test esi, esi
cmove esi, eax
lea eax, [ebp - 0x3e8]
push eax
push dword [ebp - 0x3e4]
push dword [ebp - 0x3e8]
call fcn.100024a0
mov eax, dword [ebp - 0x3e8]
lea ecx, [ebp - 0x3a8]
add esp, 0x10
mov dword [ebp - 0x3e4], eax
push str.0f9509
call fcn.100010e0
lea eax, [ebp - 0x3a8]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x3e8]
call fcn.10009bb0
lea ecx, [ebp - 0x3a8]
mov byte [ebp - 4], 0xa
call fcn.10001140
push 0x10024c8c
lea ecx, [ebp - 0x3a8]
call fcn.100010e0
lea eax, [ebp - 0x3a8]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0x3e8]
call fcn.10009bb0
lea ecx, [ebp - 0x3a8]
mov byte [ebp - 4], 0xa
call fcn.10001140
lea eax, [ebp - 0x3e8]
push eax
lea eax, [ebp - 0x3a8]
push str.241794
push eax
call fcn.10003560
add esp, 0xc
lea ecx, [ebp - 0x390]
push eax
call fcn.10004230
lea ecx, [ebp - 0x3a8]
call fcn.10001140
cmp dword [ebp - 0x37c], 8
lea ecx, [ebp - 0x390]
lea eax, [ebp - 0x348]
cmovae ecx, dword [ebp - 0x390]
cmp dword [ebp - 0x334], 8
push ecx
cmovae eax, dword [ebp - 0x348]
push eax
push 0x94
call fcn.10002100
imul eax, esi, 0x3e8
lea ecx, [ebp - 0x3a8]
add esp, 0xc
cmp dword [ebp - 0x37c], 8
mov dword [ebp - 0x3dc], eax
lea eax, [ebp - 0x390]
cmovae eax, dword [ebp - 0x390]
push eax
call fcn.100010e0
lea eax, [ebp - 0x3dc]
mov byte [ebp - 4], 0xe
push eax
lea eax, [ebp - 0x3a8]
push eax
lea eax, [ebp - 0x348]
mov ecx, 0x10034058
push eax
call fcn.10004350
lea ecx, [ebp - 0x3a8]
call fcn.10001140
jmp 0x1000811c
cmp dword [ebp - 0x334], 8
lea eax, [ebp - 0x348]
cmovae eax, dword [ebp - 0x348]
push eax
push 0x95
call fcn.10002100
add esp, 8
lea ecx, [ebp - 0x348]
call fcn.10001140
lea ecx, [ebp - 0x390]
call fcn.10001140
lea ecx, [ebp - 0x3e8]
call fcn.100025e0
lea ecx, [ebp - 0x3c0]
call fcn.10001140
mov eax, dword [ebp - 0x3c4]
cmp eax, 8
jb 0x10008166
inc eax
lea ecx, [ebp - 0x3d8]
push eax
push dword [ebp - 0x3d8]
call fcn.10001a00
xor eax, eax
mov dword [ebp - 0x3c4], 7
mov word [ebp - 0x3d8], ax
mov eax, dword [ebp - 0x34c]
mov dword [ebp - 0x3c8], 0
cmp eax, 8
jb 0x100081a1
inc eax
lea ecx, [ebp - 0x360]
push eax
push dword [ebp - 0x360]
call fcn.10001a00
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1000be6b
mov esp, ebp
pop ebp
ret