Function at 0x1000e3d4
Capabilities:
Read .ini file

Disassembly:
push eax
call fcn.10001fc8
int3
add edi, 0xbc
cmp dword [ebp + 0x18], edi
jne 0x1000e2f9
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
test eax, eax
jne 0x1000e2e8
mov eax, fcn.100089e8
mov ecx, dword [ebp + 8]
push ecx
add ecx, 0x14
push ecx
push eax
push dword [ebp + 0x10]
call fcn.1001374c
lea eax, [ebp + 0x2b]
push eax
lea ecx, [ebp - 0x74]
call fcn.1000a1b0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
test eax, eax
mov byte [ebp - 4], 1
jne 0x1000e318
mov eax, fcn.100089e8
push 1
lea ecx, [ebp - 0x74]
push ecx
mov edi, 0x100101ff
push edi
push eax
push dword [ebp + 0x10]
call fcn.100076cc
lea eax, [ebp + 0x2b]
push eax
lea ecx, [ebp - 0x90]
call fcn.1000a1b0
mov ebx, dword [ebp - 0x7c]
mov esi, dword [ebx]
mov byte [ebp - 4], 2
jmp 0x1000e38a
call esi
and eax, 0xffff
or eax, 0x80070000
push eax
lea ecx, [ebp - 0x68]
call fcn.10007044
push 0x1000e889
lea eax, [ebp - 0x68]
jmp 0x10005c70
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x1000e375
mov eax, fcn.100089e8
push 1
lea ecx, [ebp - 0x90]
push ecx
push edi
push eax
push dword [ebp + 0x10]
call fcn.100076cc
mov esi, dword [esi]
cmp esi, ebx
jne 0x1000e369
mov al, byte [ebp + 0x2b]
xor esi, esi
mov byte [ebp - 0x48], al
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], esi
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
cmp eax, esi
mov byte [ebp - 4], 3
mov edx, fcn.100089e8
je 0x1000e3b4
mov edx, eax
mov eax, dword [ebp + 8]
lea ecx, [eax + 0x14]
push ecx
push dword [eax + 0x24]
lea eax, [ebp - 0x48]
push edx
push eax
call fcn.100089e8
mov eax, dword [ebp - 0x44]
cmp eax, esi
jne 0x1000e3d4
mov eax, fcn.100089e8
push dword [ebp + 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push 0
push 0x1000aa3f
push eax
call esi
mov ebx, eax
neg ebx
sbb bl, bl
inc bl
mov dword [ebp + 0xc], 0xffffffff
mov edi, 0x1000e746
jne 0x1000e415
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x1000e409
mov eax, fcn.100089e8
push dword [ebp + 0x10]
push 0xffffffffffffffff
push edi
push eax
call esi
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x44]
test eax, eax
mov esi, fcn.100089e8
jne 0x1000e423
mov eax, esi
push dword [ebp + 0x10]
push 0
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
test eax, eax
je 0x1000e4bc
cmp byte [ebp + 0x28], 0
je 0x1000e46a
test bl, bl
mov eax, dword [ebp - 0x44]
je 0x1000e457
test eax, eax
jne 0x1000e44c
mov eax, esi
push dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
push dword [ecx + 0xc]
jmp 0x1000e463
test eax, eax
jne 0x1000e45d
mov eax, esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push edi
push eax
call fcn.10012cec
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x1000e473
mov eax, esi
push dword [ebp + 0x10]
mov edi, 0x1000aa3f
push 1
push edi
push eax
call fcn.10012cec
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
xor ebx, ebx
cmp eax, ebx
jne 0x1000e492
mov eax, esi
mov ecx, dword [ebp + 8]
push ebx
push dword [ecx + 0x24]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.100089e8
mov eax, dword [ebp - 0x44]
cmp eax, ebx
jne 0x1000e4ac
mov eax, esi
push dword [ebp + 0x10]
push ebx
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
test eax, eax
jne 0x1000e4d3
mov esi, dword [pe_dos_header]
call esi
test eax, eax
jg 0x1000e347
call esi
jmp 0x1000e353
cmp byte [ebp + 0x28], 0
jne 0x1000e4ee
mov eax, dword [ebp - 0x44]
cmp eax, ebx
jne 0x1000e4e2
mov eax, esi
push dword [ebp + 0x10]
push 1
push edi
push eax
call fcn.10012cec
mov eax, dword [ebp + 8]
cmp dword [eax + 0xc], ebx
mov dword [ebp - 0x38], ebx
jbe 0x1000e683
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp + 8]
add eax, 0x30
and dword [ebp - 0x24], 0
mov dword [ebp - 0x84], eax
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x84]
lea edx, [eax + ecx]
mov eax, dword [edx + 0x24]
push 4
mov dword [ebp + 0xc], eax
lea esi, [edx + 0x10]
pop ecx
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x1000e670
cmp byte [ebp + 0x28], al
je 0x1000e540
test byte [ebp + 0xc], 0x2f
jmp 0x1000e544
test byte [ebp + 0xc], 0xc
je 0x1000e670
cmp byte [ebp + 0x28], 0
je 0x1000e557
mov dword [ebp + 0xc], 4
mov al, byte [ebp + 0x2b]
mov byte [ebp - 0x34], al
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0xe0]
mov esi, dword [eax]
cmp esi, eax
mov byte [ebp - 4], 4
je 0x1000e662
mov eax, dword [edx + 0x20]
mov edi, 0xffffff
and eax, edi
mov dword [ebp + 8], eax
mov eax, dword [esi + 0x28]
and eax, edi
cmp eax, dword [ebp + 8]
jne 0x1000e5a5
push dword [edx + 4]
push dword [esi + 0x2c]
call fcn.10002c0c
test al, al
jne 0x1000e5b7
mov esi, dword [esi]
mov eax, dword [ebp - 0x10]
cmp esi, dword [eax + 0xe0]
jne 0x1000e58c
jmp 0x1000e662
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x90]
push eax
push dword [ebp + 0x14]
lea eax, [ebp - 0x34]
push dword [ebp + 0x18]
push esi
push eax
call fcn.10001ab3
mov eax, dword [ebp - 0x30]
test eax, eax
mov edi, fcn.100089e8
jne 0x1000e5e3
mov eax, edi
push dword [ebp + 0x10]
push eax
push esi
call fcn.10006570
mov al, byte [ebp + 0x2b]
mov byte [ebp - 0x20], al
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
xor ecx, ecx
test byte [ebp + 0xc], 4
mov byte [ebp - 4], 5
je 0x1000e60f
lea eax, [ebx + 0x14]
mov ecx, eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
test eax, eax
jne 0x1000e61b
mov eax, edi
push ecx
push dword [ebx + 0x24]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.100089e8
mov edx, dword [ebp - 0x30]
test edx, edx
jne 0x1000e632
mov edx, edi
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x1000e63b
mov ecx, edi
push dword [ebp + 0x10]
mov eax, dword [ebx + 0x10]
push dword [ebp + 0x20]
mov esi, dword [ebp - 0x24]
push dword [eax + esi + 4]
call fcn.10012ca0
push eax
push edx
push ecx
call fcn.10003924
push 1
lea ecx, [ebp - 0x20]
call fcn.10004d84
push 1
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 3
call fcn.10004d84
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
add dword [ebp - 0x24], 0x28
cmp eax, dword [ebx + 0xc]
jb 0x1000e510
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
je 0x1000ec47
mov eax, dword [ebp - 0x10]
and byte [eax + 0xd4], 0
and dword [eax + 0xd8], 0
mov eax, dword [ecx + 0x1c]
xor edx, edx
div dword [ecx + 4]
and dword [ebp + 0xc], 0
test eax, eax
jbe 0x1000ec47
mov edi, ecx
mov esi, dword [ebp + 0xc]
imul esi, esi, 0x264
add esi, dword [edi + 0x20]
mov ebx, dword [esi + 0x208]
test bl, 1
je 0x1000e700
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
test eax, eax
jne 0x1000e6db
mov eax, fcn.100089e8
mov ecx, dword [ebp - 0x10]
shr ebx, 0x18
and ebx, 0xffffff01
push ebx
push 1
push esi
push eax
push 0x1000520d
push 0x10009f32
call fcn.10001555
jmp 0x1000ec33
test bl, 2
je fcn.1001345c
mov al, byte [ebp + 0x2b]
mov byte [ebp - 0xd0], al
xor eax, eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0xe0]
mov edi, dword [eax]
cmp edi, eax
je 0x1000ec1f
mov ecx, dword [esi + 0x220]
mov eax, 0xffffff
and ecx, eax
mov edx, dword [edi + 0x2c]
and edx, eax
cmp ecx, edx
je 0x1000e761
mov edi, dword [edi]
mov edx, dword [ebp - 0x10]
cmp edi, dword [edx + 0xe0]
jne 0x1000e746
jmp 0x1000ec1f
mov al, byte [ebp + 0x2b]
mov byte [ebp - 0x20], al
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x90]
push eax
push dword [ebp + 0x14]
lea eax, [ebp - 0x20]
push dword [ebp + 0x18]
mov byte [ebp - 4], 7
push edi
push eax
call fcn.10001ab3
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x1000e7a0
mov eax, fcn.100089e8
push dword [ebp + 0x10]
push eax
push edi
call fcn.10006570
mov eax, dword [ebp - 0x1c]
test eax, eax
mov edi, fcn.100089e8
jne 0x1000e7b8
mov eax, edi
mov ecx, ebx
shr ecx, 0x18
and ecx, 0xffffff01
push ecx
mov ecx, dword [ebp - 0x10]
push 1
push esi
push eax
push 0x100045c3
push 0x1000a62f
call fcn.10001555
cmp word [esi], 0
jne 0x1000e7f0
mov dword [ebp + 0x28], ebx
and dword [ebp + 0x28], 0x1000000
je 0x1000e8f3
lea eax, [ebp + 0x2b]
push eax
push 0x1000b5a9
lea ecx, [ebp - 0xb0]
call fcn.100028d0
push dword [esi + 0x20c]
lea eax, [ebp - 0x140]
push eax
mov byte [ebp - 4], 8
call fcn.1000b788
push eax
lea eax, [ebp - 0x130]
push 0x100108b9
push eax
mov byte [ebp - 4], 9
call fcn.10002518
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0xa
call fcn.10010108
push 1
lea ecx, [ebp - 0x130]
call fcn.10004d84
push 1
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 8
call fcn.10004d84
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x48]
mov dword [ebp + 0x28], ebx
and dword [ebp + 0x28], 0x1000000
je 0x1000e8b8
test eax, eax
jne 0x1000e87d
mov eax, edi
mov edx, dword [ebp - 0xac]
test edx, edx
jne 0x1000e889
mov edx, edi
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x1000e892
mov ecx, edi
push eax
push 0
push edx
push ecx
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
test eax, eax
jne 0x1000e8e2
mov esi, dword [pe_dos_header]
call esi
test eax, eax
jg 0x1000ead6
test eax, eax
jne 0x1000e8be
mov eax, edi
mov edx, dword [ebp - 0xac]
test edx, edx
jne 0x1000e8ca
mov edx, edi
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x1000e8d3
mov ecx, edi
push eax
lea eax, [esi + 0x210]
push eax
push edx
push ecx
call 0x1000e457
push 1
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 7
call fcn.10004d84
lea eax, [ebp + 0x2b]
push eax
push fcn.100035cc
lea ecx, [ebp - 0x68]
call fcn.100028d0
push dword [esi + 0x20c]
lea eax, [ebp - 0x110]
push eax
mov byte [ebp - 4], 0xb
call fcn.1000b788
push eax
mov ebx, 0x100108b9
lea eax, [ebp - 0xe0]
push ebx
push eax
mov byte [ebp - 4], 0xc
call fcn.10002518
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0xd
call fcn.10010108
push 1
lea ecx, [ebp - 0xe0]
call fcn.10004d84
push 1
lea ecx, [ebp - 0x110]
call fcn.10004d84
mov al, byte [ebp + 0x2b]
mov byte [ebp - 0x34], al
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
cmp dword [ebp + 0x28], eax
mov byte [ebp - 4], 0xe
mov dword [ebp + 8], eax
jne 0x1000e9eb
mov eax, dword [esi + 0x260]
test al, 4
je 0x1000e98d
push fcn.1001265b
jmp 0x1000e996
test al, 8
je 0x1000e99e
push 0x1001253c
lea ecx, [ebp - 0x34]
call fcn.1000a534
mov eax, dword [esi + 0x260]
test al, 1
je fcn.1000e9af
push 0x10003cf5
jmp 0x1000e9b8
push 1
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 3
call fcn.10004d84
mov edi, dword [ebp + 0x1c]
mov eax, dword [edi + 0x1c]
xor edx, edx
div dword [edi + 4]
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], eax
jb 0x1000e6b5
cmp dword [ebp - 0x6c], 0
pop edi
pop esi
pop ebx
je 0x1000ec71
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
test eax, eax
jne 0x1000ec5f
mov eax, fcn.100089e8
push dword [ebp + 0x10]
lea ecx, [ebp - 0x74]
push ecx
push 0x100101ff
push eax
call fcn.10004b20
push 1
lea ecx, [ebp - 0x48]
call fcn.10004d84
lea ecx, [ebp - 0x90]
call fcn.1001257c
lea ecx, [ebp - 0x74]
call fcn.1001257c
lea ecx, [ebp - 0x80]
call fcn.1001257c
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
leave
ret 0x24