Function at 0x403bfb
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45aad4
mov eax, dword fs:[0]
push eax
mov eax, 0x11c8
call fcn.0044b9a0
mov eax, dword [0x479548]
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 eax, dword [ebp + 8]
mov dword [ebp - 0x10cc], eax
mov eax, dword [0x47d1c4]
add eax, 0x2b0
push eax
lea ecx, [ebp - 0x10a0]
call fcn.00414d81
mov edi, 0x468e58
push edi
lea eax, [ebp - 0x11d4]
xor ebx, ebx
push eax
mov dword [ebp - 4], ebx
call fcn.0040b971
push 0x47b3d8
mov byte [ebp - 4], 1
call fcn.0040bb61
lea edx, [ebp - 0x1068]
mov ecx, eax
call fcn.0040ba10
push 0xffffffffffffffff
push ebx
lea esi, [ebp - 0x10a0]
mov byte [ebp - 4], 2
call fcn.00408eb7
push ebx
push 1
lea ecx, [ebp - 0x1068]
call fcn.00414e73
lea eax, [ebp - 0x11d4]
push eax
mov byte [ebp - 4], bl
call fcn.00403160
mov eax, dword [0x47d1c4]
add eax, 0x2b0
push eax
lea ecx, [ebp - 0x1084]
call fcn.00414d81
push edi
lea eax, [ebp - 0x11d4]
push eax
mov byte [ebp - 4], 3
call fcn.0040b971
push 0x47b3dc
mov byte [ebp - 4], 4
call fcn.0040bb61
lea edx, [ebp - 0x1068]
mov ecx, eax
call fcn.0040ba10
push 0xffffffffffffffff
push ebx
lea esi, [ebp - 0x1084]
mov byte [ebp - 4], 5
call fcn.00408eb7
push ebx
push 1
lea ecx, [ebp - 0x1068]
call fcn.00414e73
lea eax, [ebp - 0x11d4]
push eax
mov byte [ebp - 4], 3
call fcn.00403160
mov ecx, dword [ebp - 0x10cc]
add ecx, 0x2278
mov edi, 0x468bc4
push edi
mov dword [ebp - 0x10d4], ecx
call fcn.00414a0f
mov ecx, dword [ebp - 0x10cc]
add ecx, 0x2294
push edi
mov dword [ebp - 0x10d0], ecx
call fcn.00414a0f
cmp dword [ebp - 0x106c], 0x10
mov eax, dword [ebp - 0x1080]
jae 0x403d69
lea eax, [ebp - 0x1080]
push eax
push 0x1000
lea eax, [ebp - 0x1014]
push eax
push edi
push str.ApplicationKey
mov esi, 0x468bf4
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x403f8c
push str.Sagiri
lea ecx, [ebp - 0x112c]
call fcn.00414a2c
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x10bc]
mov byte [ebp - 4], 6
call fcn.00414a2c
lea eax, [ebp - 0x10bc]
push eax
lea edx, [ebp - 0x112c]
lea ecx, [ebp - 0x104c]
mov byte [ebp - 4], 7
call fcn.004013be
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x10bc]
call fcn.00414e73
push ebx
push 1
lea ecx, [ebp - 0x112c]
mov byte [ebp - 4], 0xa
call fcn.00414e73
cmp dword [ebp - 0x1038], ebx
jne 0x403ebe
push str.Sagiri
lea ecx, [ebp - 0x1110]
call fcn.00414a2c
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x10f4]
mov byte [ebp - 4], 0xb
call fcn.00414a2c
lea eax, [ebp - 0x1030]
push eax
lea ecx, [ebp - 0x1110]
lea edx, [ebp - 0x10f4]
mov byte [ebp - 4], 0xc
call fcn.0040127b
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x10f4]
call fcn.00414e73
push ebx
push 1
lea ecx, [ebp - 0x1110]
mov byte [ebp - 4], 0xf
call fcn.00414e73
cmp dword [ebp - 0x106c], 0x10
mov ecx, dword [ebp - 0x1080]
jae 0x403e77
lea ecx, [ebp - 0x1080]
cmp dword [ebp - 0x1018], 0x10
mov eax, dword [ebp - 0x102c]
jae 0x403e8c
lea eax, [ebp - 0x102c]
push ecx
push eax
push str.ApplicationKey
push esi
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x104c]
call fcn.00414a0f
push ebx
push 1
lea ecx, [ebp - 0x1030]
mov byte [ebp - 4], 0xa
call fcn.00414e73
lea eax, [ebp - 0x104c]
push eax
lea ecx, [ebp - 0x1068]
call fcn.00414d81
mov byte [ebp - 4], 0x10
call fcn.00407ec8
mov dword [ebp - 0x10c4], eax
mov dword [ebp - 0x10c0], ebx
push 1
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x10d8], esp
push eax
mov byte [ebp - 4], 0x11
call fcn.0040bc21
pop ecx
lea eax, [ebp - 0x1068]
push eax
lea eax, [ebp - 0x10c8]
push eax
call fcn.0040bc54
add esp, 0x18
cmp dword [ebp - 0x10c0], 2
jne 0x403f4a
mov eax, dword [ebp - 0x10c4]
mov eax, dword [eax]
mov esi, dword [eax]
mov ecx, dword [ebp - 0x10d4]
push 0xffffffffffffffff
add eax, 8
push ebx
push eax
call fcn.00414cef
mov ecx, dword [ebp - 0x10d0]
push 0xffffffffffffffff
lea eax, [esi + 8]
push ebx
push eax
call fcn.00414cef
lea esi, [ebp - 0x10c8]
call fcn.0040986f
push dword [ebp - 0x10c4]
call fcn.0043c790
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x1068]
mov dword [ebp - 0x10c4], ebx
call fcn.00414e73
push ebx
push 1
lea ecx, [ebp - 0x104c]
mov byte [ebp - 4], 3
call fcn.00414e73
mov esi, 0x468bf4
mov ecx, dword [ebp - 0x10cc]
add ecx, 0x22b0
push edi
mov dword [ebp - 0x10d0], ecx
call fcn.00414a0f
mov ecx, dword [ebp - 0x10cc]
add ecx, 0x22cc
push edi
mov dword [ebp - 0x10d4], ecx
call fcn.00414a0f
cmp dword [ebp - 0x1088], 0x10
mov eax, dword [ebp - 0x109c]
jae 0x403fd1
lea eax, [ebp - 0x109c]
push eax
push 0x1000
lea eax, [ebp - 0x1014]
push eax
push edi
mov edi, str.AccessKey
push edi
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x4041e3
push str.Sagiri
lea ecx, [ebp - 0x1110]
call fcn.00414a2c
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x1068]
mov byte [ebp - 4], 0x12
call fcn.00414a2c
lea eax, [ebp - 0x1068]
push eax
lea edx, [ebp - 0x1110]
lea ecx, [ebp - 0x1030]
mov byte [ebp - 4], 0x13
call fcn.004013be
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x1068]
call fcn.00414e73
push ebx
push 1
lea ecx, [ebp - 0x1110]
mov byte [ebp - 4], 0x16
call fcn.00414e73
cmp dword [ebp - 0x101c], ebx
jne 0x40411e
push str.Sagiri
lea ecx, [ebp - 0x112c]
call fcn.00414a2c
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x10f4]
mov byte [ebp - 4], 0x17
call fcn.00414a2c
lea eax, [ebp - 0x104c]
push eax
lea ecx, [ebp - 0x112c]
lea edx, [ebp - 0x10f4]
mov byte [ebp - 4], 0x18
call fcn.0040127b
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x10f4]
call fcn.00414e73
push ebx
push 1
lea ecx, [ebp - 0x112c]
mov byte [ebp - 4], 0x1b
call fcn.00414e73
cmp dword [ebp - 0x1088], 0x10
mov ecx, dword [ebp - 0x109c]
jae 0x4040db
lea ecx, [ebp - 0x109c]
cmp dword [ebp - 0x1034], 0x10
mov eax, dword [ebp - 0x1048]
jae 0x4040f0
lea eax, [ebp - 0x1048]
push ecx
push eax
push edi
push esi
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x1030]
call fcn.00414a0f
push ebx
push 1
lea ecx, [ebp - 0x104c]
mov byte [ebp - 4], 0x16
call fcn.00414e73
lea eax, [ebp - 0x1030]
push eax
lea ecx, [ebp - 0x10bc]
call fcn.00414d81
mov byte [ebp - 4], 0x1c
call fcn.00407ec8
mov dword [ebp - 0x10c4], eax
mov dword [ebp - 0x10c0], ebx
push 1
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x10d8], esp
push eax
mov byte [ebp - 4], 0x1d
call fcn.0040bc21
pop ecx
lea eax, [ebp - 0x10bc]
push eax
lea eax, [ebp - 0x10c8]
push eax
call fcn.0040bc54
add esp, 0x18
cmp dword [ebp - 0x10c0], 2
jne 0x4041aa
mov eax, dword [ebp - 0x10c4]
mov eax, dword [eax]
mov esi, dword [eax]
mov ecx, dword [ebp - 0x10d0]
push 0xffffffffffffffff
push ebx
add eax, 8
push eax
call fcn.00414cef
mov ecx, dword [ebp - 0x10d4]
push 0xffffffffffffffff
push ebx
add esi, 8
push esi
call fcn.00414cef
lea esi, [ebp - 0x10c8]
call fcn.0040986f
push dword [ebp - 0x10c4]
call fcn.0043c790
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x10bc]
mov dword [ebp - 0x10c4], ebx
call fcn.00414e73
push ebx
push 1
lea ecx, [ebp - 0x1030]
call fcn.00414e73
push ebx
push 1
lea ecx, [ebp - 0x1084]
call fcn.00414e73
push ebx
push 1
lea ecx, [ebp - 0x10a0]
call fcn.00414e73
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.0043c781
leave
ret 4