Function at 0x100044ef
Capabilities:
Read .ini file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
push esi
push edi
push 0x41c
push 0x40
mov edi, edx
mov dword [esp + 0x1c], ecx
call dword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalAlloc]
mov esi, eax
mov dword [esp + 0x18], esi
test esi, esi
je 0x100048e5
push 3
lea ebx, [esi + 0xd0]
xor edx, edx
pop eax
mov ecx, ebx
dec eax
lea ecx, [ecx - 4]
mov dword [ecx], edx
test ax, ax
jne 0x1000452b
mov eax, dword [ebp + 8]
mov dword [esi + 0x6c], edx
mov dword [esi + 0x70], edx
mov dword [esi + 0x7c], edx
mov dword [esi + 0x80], edx
mov dword [esi + 0x94], edx
mov dword [esi + 0x98], edx
mov edx, dword [esp + 0x14]
mov dword [esi + 0x40], eax
movzx eax, di
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x48], eax
movsx ecx, dx
movsx eax, di
imul ecx, eax
lea eax, [edi + 3]
and eax, 0xfffffffc
mov word [esi + 0x46], di
movzx eax, ax
mov dword [esp + 0x10], eax
mov word [esi + 0x50], ax
mov dword [esi + 0x54], ecx
lea ecx, [edx + 3]
movsx edi, ax
and ecx, 0xfffffffc
movsx eax, cx
imul eax, edi
mov word [esi + 0x44], dx
mov word [esi + 0x4e], cx
mov ecx, 0x960
sar eax, 4
add eax, 0x4b0
cdq
idiv ecx
movzx ecx, ax
xor eax, eax
inc eax
mov word [ebx], cx
cmp cx, ax
jge 0x100045c3
mov word [ebx], ax
jmp 0x100045d2
push 3
pop edx
mov eax, ecx
cmp cx, dx
jle 0x100045d2
mov word [ebx], dx
mov eax, edx
movsx ecx, ax
lea eax, [edi - 1]
add eax, ecx
cdq
idiv ecx
add eax, 3
and eax, 0xfffffffc
movzx eax, ax
movsx ecx, ax
mov dword [esp + 0xc], eax
lea eax, [edi - 1]
add eax, ecx
cdq
idiv ecx
mov edx, dword [ebp + 0x18]
mov ecx, esi
mov word [ebx], ax
call fcn.10004e01
movzx ecx, word [ebx]
mov edx, dword [ebp + 0x14]
mov eax, ecx
shl eax, 4
mov word [esi + 0x41a], ax
test edx, edx
je 0x10004628
mov ecx, esi
call fcn.10004e22
movzx eax, word [esi + 0xd0]
jmp 0x10004633
xor eax, eax
mov word [esi + 0xd4], ax
mov eax, ecx
xor ecx, ecx
xor ebx, ebx
cmp cx, ax
jge 0x1000474f
push 0x24
push 0x40
call dword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalAlloc]
movsx ecx, bx
mov edi, eax
mov dword [esi + ecx*4 + 0xc4], edi
test edi, edi
je 0x100048de
test bx, bx
je 0x1000466c
mov ecx, dword [esi + ecx*4 + 0xc0]
mov dword [ecx], edi
mov ecx, dword [esp + 0xc]
xor eax, eax
mov edx, dword [esp + 0x10]
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], eax
mov dword [edi + 0x1c], eax
mov word [edi + 4], bx
movsx eax, cx
cmp cx, dx
jl 0x1000468e
movsx eax, dx
movzx ecx, ax
sub edx, ecx
mov word [edi + 6], cx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
cmp word [esp + 0xc], dx
jge 0x100046b3
mov esi, dword [esp + 0xc]
movsx eax, si
mov esi, dword [esp + 0x18]
jmp 0x100046b6
movsx eax, dx
movzx eax, ax
sub edx, eax
mov word [edi + 8], ax
movsx eax, word [esi + 0x4e]
movsx ecx, cx
imul ecx, eax
mov dword [esp + 0x14], edx
sar ecx, 4
mov dword [edi + 0xc], ecx
test bx, bx
je 0x100046dc
mov byte [edi + 0xa], 0x11
mov ecx, dword [esi + 0xc4]
lea eax, [esp + 0x1c]
push eax
push 0x20
pop edx
mov ecx, dword [ecx + 0xc]
call fcn.1000405b
test eax, eax
js 0x100048de
push dword [esp + 0x1c]
push 0x40
call dword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalAlloc]
mov dword [edi + 0x10], eax
test eax, eax
je 0x100048de
push 0x800
push 0x40
call dword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalAlloc]
mov dword [edi + 0x14], eax
test eax, eax
je 0x100048de
push 0x800
push 0x40
call dword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalAlloc]
mov dword [edi + 0x1c], eax
test eax, eax
je 0x100048de
inc ebx
cmp bx, word [esi + 0xd0]
jl 0x10004640
mov edi, dword [esi + 0xc4]
test edi, edi
je 0x100048de
mov ecx, dword [edi + 0xc]
lea eax, [esp + 0x1c]
push eax
push 0x20
pop edx
call fcn.1000405b
test eax, eax
js 0x100048de
mov ecx, dword [edi + 0xc]
lea eax, [esp + 0x14]
push eax
push 2
pop edx
call fcn.1000405b
test eax, eax
js 0x100048de
mov ecx, dword [edi + 0xc]
lea eax, [esp + 0x10]
push eax
push 8
pop ebx
mov edx, ebx
call fcn.1000405b
test eax, eax
js 0x100048de
push dword [esp + 0x14]
push 0x40
pop edi
push edi
call dword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalAlloc]
mov dword [esi + 0x6c], eax
test eax, eax
je 0x100048de
push dword [esp + 0x14]
push edi
call dword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalAlloc]
mov dword [esi + 0x70], eax
test eax, eax
je 0x100048de
push 0x1cc00
push edi
call dword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalAlloc]
mov dword [esi + 0x7c], eax
test eax, eax
je 0x100048de
push dword [esp + 0x1c]
push edi
call dword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalAlloc]
mov dword [esi + 0x80], eax
test eax, eax
je 0x100048de
push 0x1cc00
push edi
call dword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalAlloc]
mov dword [esi + 0x94], eax
test eax, eax
je 0x100048de
push dword [esp + 0x10]
push edi
call dword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalAlloc]
mov dword [esi + 0x98], eax
test eax, eax
je 0x100048de
mov edx, dword [ebp + 0x10]
mov ecx, esi
call fcn.100066a8
test eax, eax
je 0x100048de
mov ax, word [ebp + 0x1c]
mov edi, 0x1001308c
mov dword [esi + 0x8c], 0xc8
mov dword [esi + 0xa4], 0x7d0
or dword [esi + 0x5c], 0xffffffff
mov word [esi + 0x6a], ax
lea eax, [esi + 0xbc]
mov dword [esp + 0x1c], eax
mov esi, eax
push str.system.ini
lea edi, [edi - 0x10]
dec ebx
push dword [edi - 4]
lea esi, [esi - 2]
push dword [edi]
push 0x10013890
call dword [sym.imp.api_ms_win_core_privateprofile_l1_1_0.dll_GetPrivateProfileIntA]
mov word [esi], ax
test bx, bx
jne 0x1000487c
mov esi, str.system.ini
mov edi, 0x10013890
push esi
push 1
push 0x100012b0
push edi
call dword [sym.imp.api_ms_win_core_privateprofile_l1_1_0.dll_GetPrivateProfileIntA]
mov ecx, dword [esp + 0x1c]
push esi
push 0xe
push 0x100012c0
push edi
mov word [ecx], ax
call dword [sym.imp.api_ms_win_core_privateprofile_l1_1_0.dll_GetPrivateProfileIntA]
mov esi, dword [esp + 0x18]
mov word [esi + 0xbe], ax
mov eax, esi
jmp 0x100048e5
mov ecx, esi
call fcn.100048ee
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18