Function at 0x438d80
Capabilities:
Read .ini file

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4a8d08
push eax
mov dword fs:[0], esp
sub esp, 0x24
mov dl, 0x12
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov cl, 0xc
mov al, byte [esi + 0x24]
cmp al, 0x92
je 0x438db1
cmp al, 0x96
mov byte [esp + 0x11], dl
jne 0x438db5
mov byte [esp + 0x11], cl
cmp al, 0x92
je 0x438dc1
cmp al, 0x96
je 0x438dc1
xor ebx, ebx
jmp 0x438dc9
xor ebx, ebx
mov bl, byte [esi + 0x18d]
add bl, 2
cmp al, 0x92
je 0x438dd8
cmp al, 0x96
mov byte [esp + 0x12], dl
jne 0x438ddc
mov byte [esp + 0x12], cl
mov eax, dword [esp + 0x48]
xor ebp, ebp
cmp eax, ebp
mov byte [esp + 0x13], 0xff
je 0x438df7
lea eax, [esi + 0x104]
mov dword [esp + 0x14], eax
jmp 0x438dff
lea ecx, [esp + 0x13]
mov dword [esp + 0x14], ecx
mov al, byte [esi + 0x110]
mov edi, dword [esp + 0x4c]
test al, 8
je 0x438f01
mov dl, byte [esi + 0xf2]
push 0x80
push edx
lea eax, [esp + 0x28]
push edi
push eax
mov ecx, esi
call fcn.0043f110
lea ecx, [esp + 0x24]
lea edx, [esp + 0x20]
push ecx
push 0x80
push ecx
mov dword [esp + 0x48], ebp
mov ecx, esp
mov dword [esp + 0x54], esp
push edx
call fcn.004a57ee
mov al, byte [esi + 0x24]
mov byte [esp + 0x48], 1
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x60], esp
push 0x4e60d8
call fcn.004a57ee
lea ecx, [esi + 0x120]
mov byte [esp + 0x50], 0
call fcn.004584c0
mov ecx, dword [esp + 0x30]
mov bl, byte [esi + 0x18d]
mov al, ch
imul cl
add al, 8
inc bl
mov byte [esp + 0x11], al
mov al, byte [esp + 0x32]
test al, al
je 0x438e9b
imul ch
add al, 4
mov byte [esp + 0x12], al
jmp 0x438ea0
mov byte [esp + 0x12], 0
mov al, byte [esi + 0xec]
test al, al
jne 0x438ef0
push str.H27UAG8T2B
lea ecx, [esi + 0x124]
call sub.MFC42.DLL_CString::Find_1
mov ecx, dword [esp + 0x30]
cmp eax, 0xffffffff
je 0x438ed5
mov al, ch
mov bl, byte [esi + 0x18d]
imul cl
add al, 2
inc bl
mov byte [esp + 0x11], al
test byte [esi + 0x15c], 2
je 0x438ef0
mov al, ch
mov bl, byte [esi + 0x18d]
imul cl
add al, 4
inc bl
mov byte [esp + 0x11], al
lea ecx, [esp + 0x20]
mov dword [esp + 0x3c], 0xffffffff
call sub.MFC42.DLL_CString::CString
cmp byte [esi + 0x12f], 2
jne 0x438f21
mov al, byte [esi + 0x24]
cmp al, 0x92
je 0x438f1a
cmp al, 0x96
mov eax, 2
jne 0x438f1f
mov eax, 4
add bl, al
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString_1
mov cl, byte [esi + 0xf2]
push ebp
push 0x80
push ecx
lea edx, [esp + 0x28]
push edi
push edx
mov ecx, esi
mov dword [esp + 0x50], 2
call fcn.0043ff30
push str.86_4K_MLC_01_L63.BIN
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
je 0x438f64
mov byte [esp + 0x11], 0xe
mov eax, dword [esp + 0x44]
mov dword [esp + 0x18], ebp
mov byte [eax], 0
mov ecx, dword [0x4e5bb8]
push ecx
push ebp
push str.ExtraReserveBlockNum
push str.Scan
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov cl, byte [esi + 0x18d]
mov byte [esp + 0x48], al
xor al, al
test cl, cl
mov byte [esp + 0x4c], al
jbe 0x43908a
mov edx, dword [esp + 0x14]
mov cl, byte [edx]
cmp cl, 0xff
je 0x438fba
cmp al, cl
jbe 0x438fba
mov al, byte [esp + 0x12]
test al, al
je 0x438fba
mov byte [esp + 0x11], al
mov ecx, dword [esp + 0x4c]
movzx ax, byte [esp + 0x11]
and ecx, 0xff
mov di, word [esi + ecx*2 + 0x29c]
add di, ax
mov word [esi + ecx*2 + 0x31c], di
mov dx, word [esi + 0x18e]
mov eax, edi
mov ebp, edx
and eax, 0xffff
and ebp, 0xffff
add eax, 8
cmp ebp, eax
jle 0x43904b
mov ebp, dword [esp + 0x14]
mov al, byte [esp + 0x4c]
mov dl, byte [ebp]
cmp dl, 0xff
jne 0x439029
movzx dx, byte [esp + 0x48]
movzx di, bl
add edx, edi
mov byte [ebp], al
add word [esi + ecx*2 + 0x31c], dx
mov edx, dword [esp + 0x44]
inc byte [edx]
jmp 0x439057
cmp dl, al
jne 0x439043
movzx dx, byte [esp + 0x48]
movzx bp, bl
add edi, ebp
add edx, edi
mov word [esi + ecx*2 + 0x31c], dx
mov edx, dword [esp + 0x44]
inc byte [edx]
jmp 0x439057
mov al, byte [esp + 0x4c]
mov word [esi + ecx*2 + 0x31c], dx
mov edi, dword [esp + 0x18]
xor edx, edx
mov dx, word [esi + ecx*2 + 0x31c]
xor ecx, ecx
mov cx, word [esi + 0x18e]
sub ecx, edx
add edi, ecx
mov cl, byte [esi + 0x18d]
inc al
mov dword [esp + 0x18], edi
cmp al, cl
mov byte [esp + 0x4c], al
jb 0x438f9f
xor edx, edx
xor eax, eax
mov dl, byte [esi + 0x192]
mov ax, word [esi + 0x190]
mov edi, edx
lea ecx, [esp + 0x1c]
imul edi, eax
imul edi, dword [esp + 0x18]
mov dword [esp + 0x3c], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x34]
mov eax, edi
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x30
ret 0xc