Function at 0x43a802
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffdbc
push ebx
push esi
push edi
mov esi, dword [ebp + 8]
mov ebx, 0x4b8108
lea edi, [ebp - 0x208]
cmp byte [esi + 0x4b], 0
je 0x43b321
push esi
call fcn.00439a6c
pop ecx
lea eax, [esi + 0x4b]
push eax
push pe_nt_image_headers32
push edi
lea edx, [ebx + 0x1cc]
push edx
lea ecx, [ebx + 0x1c]
push ecx
lea eax, [ebx + 0xd]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea edx, [ebx + 0x1d0]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43a88c
lea ecx, [ebx + 0x1cc]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43a88c
lea eax, [ebx + 0x1d5]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43a88c
lea edx, [ebx + 0x24]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43a895
mov byte [esi + 0x460], 1
jmp 0x43a89c
mov byte [esi + 0x460], 0
lea ecx, [esi + 0x4b]
push ecx
push pe_nt_image_headers32
push edi
lea eax, [ebx + 2]
push eax
lea edx, [ebx + 0x14]
push edx
lea ecx, [ebx + 0xd]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea eax, [esi + 0x465]
push esi
mov esi, eax
xor eax, eax
push edi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push esi
push edi
lea eax, [esi + 0x24e]
mov esi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [ebx + 0x38]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
lea ecx, [ebx + 0x59]
lea eax, [esi + 0x4b]
push eax
push 0x19
push edi
push edx
push ecx
lea eax, [ebx + 0xd]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea edx, [ebx + 0x38]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43a939
xor ecx, ecx
mov dword [esi + 0x461], ecx
jmp 0x43a9a9
lea eax, [ebx + 0x3d]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43a953
mov dword [esi + 0x461], 1
jmp 0x43a9a9
lea edx, [ebx + 0x43]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43a96d
mov dword [esi + 0x461], 2
jmp 0x43a9a9
lea ecx, [ebx + 0x4a]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43a987
mov dword [esi + 0x461], 3
jmp 0x43a9a9
lea eax, [ebx + 0x52]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43a9a1
mov dword [esi + 0x461], 4
jmp 0x43a9a9
xor edx, edx
mov dword [esi + 0x461], edx
cmp byte [esi + 0x460], 0
je 0x43a9c4
cmp byte [esi + 0x465], 0
je 0x43a9c4
mov byte [esi + 0x24b], 1
jmp 0x43a9cb
mov byte [esi + 0x24b], 0
push esi
call fcn.0043b4b0
pop ecx
lea ecx, [ebp - 0x244]
push ecx
push esi
call fcn.0043b328
mov eax, dword [ebp - 0x244]
xor ecx, ecx
mov dword [esi + 0x90a], eax
xor eax, eax
mov edx, dword [ebp - 0x234]
add esp, 8
mov dword [esi + 0x90e], edx
xor edx, edx
mov cl, byte [ebp - 0x230]
mov dword [esi + 0x912], ecx
xor ecx, ecx
mov al, byte [ebp - 0x22f]
mov dword [esi + 0x916], eax
lea eax, [esi + 0x922]
mov dl, byte [ebp - 0x22e]
mov dword [esi + 0x91a], edx
mov cl, byte [ebp - 0x22d]
mov dword [esi + 0x91e], ecx
push esi
mov esi, eax
push edi
xor eax, eax
lea edi, [ebp - 0x228]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebp - 0x244]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push eax
call sub.GDI32.dll_CreateFontIndirectA
push eax
push esi
call fcn.0040d697
add esp, 8
lea edx, [esi + 0x4b]
lea ecx, [ebx + 0x1d0]
lea eax, [ebx + 0x69]
push edx
push 0x19
push edi
push ecx
push eax
lea edx, [ebx + 0xd]
push edx
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea ecx, [ebx + 0x1d0]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43aad3
lea eax, [ebx + 0x1cc]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43aad3
lea edx, [ebx + 0x1d5]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43aad3
lea ecx, [ebx + 0x24]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43aada
mov byte [esi + 0x452], 1
lea eax, [esi + 0x4b]
push eax
push 0x19
push edi
lea edx, [ebx + 0x1d0]
push edx
lea ecx, [ebx + 0x71]
push ecx
lea eax, [ebx + 0xd]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea edx, [ebx + 0x1d0]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ab36
lea ecx, [ebx + 0x1cc]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ab36
lea eax, [ebx + 0x1d5]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ab36
lea edx, [ebx + 0x24]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43ab3d
mov byte [esi + 0x453], 1
lea ecx, [esi + 0x4b]
push ecx
push 0x19
push edi
lea eax, [ebx + 0x1d0]
push eax
lea edx, [ebx + 0x79]
push edx
lea ecx, [ebx + 0xd]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea eax, [ebx + 0x1d0]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ab99
lea edx, [ebx + 0x1cc]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ab99
lea ecx, [ebx + 0x1d5]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ab99
lea eax, [ebx + 0x24]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43aba0
mov byte [esi + 0x44e], 1
lea edx, [esi + 0x4b]
push edx
push 0x19
push edi
lea ecx, [ebx + 0x1d0]
push ecx
lea eax, [ebx + 0x86]
push eax
lea edx, [ebx + 0xd]
push edx
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea ecx, [ebx + 0x1d0]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43abff
lea eax, [ebx + 0x1cc]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43abff
lea edx, [ebx + 0x1d5]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43abff
lea ecx, [ebx + 0x24]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43ac06
mov byte [esi + 0x44f], 1
lea eax, [esi + 0x4b]
push eax
push 0x19
push edi
lea edx, [ebx + 0x1d7]
push edx
lea ecx, [ebx + 0x95]
push ecx
lea eax, [ebx + 0xd]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea edx, [ebx + 0x1d0]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ac65
lea ecx, [ebx + 0x1cc]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ac65
lea eax, [ebx + 0x1d5]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ac65
lea edx, [ebx + 0x24]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43ac6c
mov byte [esi + 0x450], 1
lea ecx, [esi + 0x4b]
push ecx
push 0x19
push edi
lea eax, [ebx + 0x1d7]
push eax
lea edx, [ebx + 0xa4]
push edx
lea ecx, [ebx + 0xd]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea eax, [ebx + 0x1d0]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43accb
lea edx, [ebx + 0x1cc]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43accb
lea ecx, [ebx + 0x1d5]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43accb
lea eax, [ebx + 0x24]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43acd2
mov byte [esi + 0x451], 1
lea edx, [esi + 0x4b]
push edx
push 0x19
push edi
lea ecx, [ebx + 0x1d0]
push ecx
lea eax, [ebx + 0xb2]
push eax
lea edx, [ebx + 0xd]
push edx
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea ecx, [ebx + 0x1d0]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ad31
lea eax, [ebx + 0x1cc]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ad31
lea edx, [ebx + 0x1d5]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ad31
lea ecx, [ebx + 0x24]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43ad38
mov byte [esi + 0x454], 1
lea eax, [esi + 0x4b]
push eax
push 0x19
push edi
lea edx, [ebx + 0x1d7]
push edx
lea ecx, [ebx + 0xbd]
push ecx
lea eax, [ebx + 0xd]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea edx, [ebx + 0x1d0]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ad97
lea ecx, [ebx + 0x1cc]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ad97
lea eax, [ebx + 0x1d5]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ad97
lea edx, [ebx + 0x24]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43ad9e
mov byte [esi + 0x455], 1
lea ecx, [esi + 0x4b]
push ecx
push 0x19
push edi
lea eax, [ebx + 0x1d7]
push eax
lea edx, [ebx + 0xcd]
push edx
lea ecx, [ebx + 0xd]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea eax, [ebx + 0x1d0]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43adfd
lea edx, [ebx + 0x1cc]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43adfd
lea ecx, [ebx + 0x1d5]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43adfd
lea eax, [ebx + 0x24]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43ae04
mov byte [esi + 0x456], 1
lea edx, [esi + 0x4b]
push edx
push 0x19
push edi
lea ecx, [ebx + 0x1d0]
push ecx
lea eax, [ebx + 0xda]
push eax
lea edx, [ebx + 0xd]
push edx
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea ecx, [ebx + 0x1d0]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ae63
lea eax, [ebx + 0x1cc]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ae63
lea edx, [ebx + 0x1d5]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ae63
lea ecx, [ebx + 0x24]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43ae6a
mov byte [esi + 0x45b], 1
lea eax, [esi + 0x4b]
push eax
push 0x19
push edi
lea edx, [ebx + 0x1d0]
push edx
lea ecx, [ebx + 0xe6]
push ecx
lea eax, [ebx + 0xd]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea edx, [ebx + 0x1d0]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43aec9
lea ecx, [ebx + 0x1cc]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43aec9
lea eax, [ebx + 0x1d5]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43aec9
lea edx, [ebx + 0x24]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43aed0
mov byte [esi + 0x45c], 1
lea ecx, [esi + 0x4b]
push ecx
push 0x19
push edi
lea eax, [ebx + 0x1d0]
push eax
lea edx, [ebx + 0xf2]
push edx
lea ecx, [ebx + 0xd]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea eax, [ebx + 0x1d0]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43af2f
lea edx, [ebx + 0x1cc]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43af2f
lea ecx, [ebx + 0x1d5]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43af2f
lea eax, [ebx + 0x24]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43af36
mov byte [esi + 0x457], 1
lea edx, [esi + 0x4b]
push edx
push 0x19
push edi
lea ecx, [ebx + 0x1d0]
push ecx
lea eax, [ebx + 0x103]
push eax
lea edx, [ebx + 0xd]
push edx
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea ecx, [ebx + 0x1d0]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43af95
lea eax, [ebx + 0x1cc]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43af95
lea edx, [ebx + 0x1d5]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43af95
lea ecx, [ebx + 0x24]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43af9c
mov byte [esi + 0x458], 1
lea eax, [esi + 0x4b]
push eax
push 0x19
push edi
lea edx, [ebx + 0x1d7]
push edx
lea ecx, [ebx + 0x116]
push ecx
lea eax, [ebx + 0xd]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea edx, [ebx + 0x1d0]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43affb
lea ecx, [ebx + 0x1cc]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43affb
lea eax, [ebx + 0x1d5]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43affb
lea edx, [ebx + 0x24]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43b002
mov byte [esi + 0x459], 1
lea ecx, [esi + 0x4b]
push ecx
push 0x19
push edi
lea eax, [ebx + 0x1d7]
push eax
lea edx, [ebx + 0x129]
push edx
lea ecx, [ebx + 0xd]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea eax, [ebx + 0x1d0]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b061
lea edx, [ebx + 0x1cc]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b061
lea ecx, [ebx + 0x1d5]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b061
lea eax, [ebx + 0x24]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43b068
mov byte [esi + 0x45a], 1
lea edx, [esi + 0x4b]
push edx
push 0x19
push edi
lea ecx, [ebx + 0x1d0]
push ecx
lea eax, [ebx + 0x13b]
push eax
lea edx, [ebx + 0xd]
push edx
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea ecx, [ebx + 0x1d0]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b0c7
lea eax, [ebx + 0x1cc]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b0c7
lea edx, [ebx + 0x1d5]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b0c7
lea ecx, [ebx + 0x24]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43b0ce
mov byte [esi + 0x45d], 1
lea eax, [esi + 0x4b]
push eax
push 0x19
push edi
lea edx, [ebx + 0x1d7]
push edx
lea ecx, [ebx + 0x14a]
push ecx
lea eax, [ebx + 0xd]
push eax
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea edx, [ebx + 0x1d0]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b12d
lea ecx, [ebx + 0x1cc]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b12d
lea eax, [ebx + 0x1d5]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b12d
lea edx, [ebx + 0x24]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43b134
mov byte [esi + 0x45e], 1
lea ecx, [esi + 0x4b]
push ecx
push 0x19
push edi
lea eax, [ebx + 0x1d7]
push eax
lea edx, [ebx + 0x15e]
push edx
lea ecx, [ebx + 0xd]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea eax, [ebx + 0x1d0]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b193
lea edx, [ebx + 0x1cc]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b193
lea ecx, [ebx + 0x1d5]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b193
lea eax, [ebx + 0x24]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43b19a
mov byte [esi + 0x45f], 1
cmp byte [esi + 0x45e], 0
jne 0x43b1b0
cmp byte [esi + 0x455], 0
jne 0x43b1b0
xor edx, edx
jmp 0x43b1b5
mov edx, 1
push edx
call fcn.00459839
cmp byte [esi + 0x45d], 0
pop ecx
jne 0x43b1d2
cmp byte [esi + 0x454], 0
jne 0x43b1d2
xor eax, eax
jmp 0x43b1d7
mov eax, 1
mov dword [0x4b64b0], eax
cmp byte [esi + 0x45f], 0
jne 0x43b1f2
cmp byte [esi + 0x456], 0
jne 0x43b1f2
xor eax, eax
jmp 0x43b1f7
mov eax, 1
mov byte [0x4b217d], al
xor edx, edx
mov byte [esi + 0x705], 0
mov dword [esi + 0x706], 5
mov byte [esi + 0x70a], 0
mov dword [ebp - 4], edx
lea ecx, [esi + 0x4b]
push ecx
push 0xa0
push edi
lea eax, [ebx + 2]
push eax
lea edx, [ebx + 0x177]
push edx
lea ecx, [ebx + 0xd]
push ecx
call sub.KERNEL32.dll_GetPrivateProfileStringA
test eax, eax
je 0x43b2db
push 0x2c
push edi
call fcn.0049b079
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43b259
mov eax, dword [ebp - 8]
mov byte [eax], 0
lea edx, [ebp - 4]
lea ecx, [ebx + 0x1dd]
push edx
push ecx
push edi
call fcn.004a0114
add esp, 0xc
dec eax
je 0x43b277
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x43b2ac
cmp dword [ebp - 8], 0
je 0x43b2ac
mov ecx, dword [ebp - 8]
push esi
push edi
inc ecx
mov edi, ecx
xor eax, eax
or ecx, 0xffffffff
lea edx, [esi + 0x70a]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edx
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
cmp dword [ebp - 4], 0x3e7
jle 0x43b2bc
mov dword [ebp - 4], 0x3e7
cmp dword [ebp - 4], 0
jle 0x43b2db
cmp byte [esi + 0x70a], 0
je 0x43b2db
mov eax, dword [ebp - 4]
mov dword [esi + 0x706], eax
mov byte [esi + 0x705], 1
lea edx, [esi + 0x4b]
push edx
push pe_nt_image_headers32
push edi
lea ecx, [ebx + 2]
push ecx
lea eax, [ebx + 0x2b]
push eax
lea edx, [ebx + 0xd]
push edx
call sub.KERNEL32.dll_GetPrivateProfileStringA
test eax, eax
je 0x43b321
add esi, 0x665
xor eax, eax
push esi
push edi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret