Function at 0x43b820
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x24
push ebx
push ebp
push esi
mov esi, dword [esp + 0x38]
push edi
mov edi, dword [esp + 0x40]
lea ecx, [esi + 1]
lea edx, [esp + 0x14]
lea eax, [edi + 0x41]
push eax
push ecx
push 0x538ad4
push edx
call dword [sym.imp.msvcrt.dll_sprintf]
lea eax, [esi + esi*4]
mov edx, dword [esp + 0x48]
add esp, 0x10
lea ebp, [edi + eax*2]
lea eax, [esp + 0x14]
mov ecx, ebp
push edx
shl ecx, 6
add ecx, ebp
push 0x3f
mov dword [esp + 0x18], ebp
lea ebx, [ebp + ecx*4]
shl ebx, 1
mov dword [esp + 0x44], ebx
lea esi, [ebx + 0x6815d1]
push esi
push esi
push eax
push 0x538acc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
xor edi, edi
mov byte [ebx + 0x6815ce], 0
push esi
mov word [ebx + 0x6815c8], di
mov dword [0x68bad4], edi
call fcn.00436bc0
xor esi, esi
push edi
mov dword [esp + 0x48], esi
call fcn.00436bc0
mov edi, eax
add esp, 8
test edi, edi
je 0x43ba6a
jmp 0x43b8c7
mov ebp, dword [esp + 0x10]
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
cmp esi, 0x40
je 0x43ba86
push edi
mov ebx, edi
xor esi, esi
call dword [sym.imp.msvcrt.dll__strupr]
mov al, byte [edi]
add esp, 4
test al, al
je 0x43b953
movsx eax, byte [ebx]
add eax, 0xffffffd5
cmp eax, 0x2a
ja case.0x43b8f7.55
xor ecx, ecx
mov cl, byte [eax + 0x43bad8]
jmp dword [ecx*4 + 0x43baa4]
mov dword [0x68bad4], 1
jmp case.0x43b8f7.55
or esi, 1
jmp case.0x43b8f7.55
or esi, 2
jmp case.0x43b8f7.55
or esi, 4
jmp case.0x43b8f7.55
or esi, 8
jmp case.0x43b8f7.55
or esi, 0x10
jmp case.0x43b8f7.55
or esi, 0x20
jmp case.0x43b8f7.55
or esi, 0x40
jmp case.0x43b8f7.55
or esi, 0x80
jmp case.0x43b8f7.55
or esi, 0x100
jmp case.0x43b8f7.55
or esi, 0x200
jmp case.0x43b8f7.55
or esi, 0x1000
mov al, byte [ebx + 1]
inc ebx
test al, al
jne 0x43b8e4
mov eax, ebp
mov ebp, dword [esp + 0x40]
imul eax, eax, 0x57
add eax, ebp
push edi
mov ebx, edi
lea ebp, [eax + eax*2]
shl ebp, 1
mov word [ebp + 0x681654], si
xor esi, esi
call dword [sym.imp.msvcrt.dll__strupr]
mov al, byte [edi]
add esp, 4
test al, al
je 0x43b9ed
movsx eax, byte [ebx]
add eax, 0xffffffd5
cmp eax, 0x2a
ja case.0x43b991.55
xor edx, edx
mov dl, byte [eax + 0x43bb38]
jmp dword [edx*4 + 0x43bb04]
mov dword [0x68bad4], 1
jmp case.0x43b991.55
or esi, 1
jmp case.0x43b991.55
or esi, 2
jmp case.0x43b991.55
or esi, 4
jmp case.0x43b991.55
or esi, 8
jmp case.0x43b991.55
or esi, 0x10
jmp case.0x43b991.55
or esi, 0x20
jmp case.0x43b991.55
or esi, 0x40
jmp case.0x43b991.55
or esi, 0x80
jmp case.0x43b991.55
or esi, 0x100
jmp case.0x43b991.55
or esi, 0x200
jmp case.0x43b991.55
or esi, 0x1000
mov al, byte [ebx + 1]
inc ebx
test al, al
jne 0x43b97e
mov word [ebp + 0x681656], si
mov cl, byte [edi]
xor eax, eax
mov edx, edi
test cl, cl
je 0x43ba13
cmp cl, 0x7e
jne 0x43ba06
add eax, 0x14
mov cl, byte [edx + 1]
inc edx
test cl, cl
jne 0x43b9fe
test ax, ax
jne 0x43ba22
mov eax, dword [0x68c568]
mov eax, dword [eax + 0x1c]
neg eax
sbb eax, eax
add eax, 2
mov esi, dword [esp + 0x40]
push 0
inc esi
mov word [ebp + 0x681652], ax
mov dword [esp + 0x44], esi
call fcn.00436bc0
mov edi, eax
add esp, 4
test edi, edi
jne 0x43b8bb
mov eax, dword [esp + 0x3c]
mov dl, byte [0x68bad4]
mov cx, si
pop edi
pop esi
mov word [eax + 0x6815cc], cx
pop ebp
mov byte [eax + 0x6815d0], dl
pop ebx
add esp, 0x24
ret 0xc
mov al, byte [0x68bad4]
mov word [ebx + 0x6815cc], si
pop edi
pop esi
mov byte [ebx + 0x6815d0], al
pop ebp
pop ebx
add esp, 0x24
ret 0xc
mov cl, byte [0x68bad4]
mov word [ebx + 0x6815cc], si
pop edi
pop esi
mov byte [ebx + 0x6815d0], cl
pop ebp
pop ebx
add esp, 0x24
ret 0xc