Function at 0x43a950
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, 0x4b68c4
lea edi, [ebp - 0x208]
cmp byte [esi + 0x4b], 0
je 0x43b46f
push esi
call fcn.00439b9c
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 0x43a9da
lea ecx, [ebx + 0x1cc]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43a9da
lea eax, [ebx + 0x1d5]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43a9da
lea edx, [ebx + 0x24]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43a9e3
mov byte [esi + 0x460], 1
jmp 0x43a9ea
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 0x43aa87
xor ecx, ecx
mov dword [esi + 0x461], ecx
jmp 0x43aaf7
lea eax, [ebx + 0x3d]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43aaa1
mov dword [esi + 0x461], 1
jmp 0x43aaf7
lea edx, [ebx + 0x43]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43aabb
mov dword [esi + 0x461], 2
jmp 0x43aaf7
lea ecx, [ebx + 0x4a]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43aad5
mov dword [esi + 0x461], 3
jmp 0x43aaf7
lea eax, [ebx + 0x52]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43aaef
mov dword [esi + 0x461], 4
jmp 0x43aaf7
xor edx, edx
mov dword [esi + 0x461], edx
cmp byte [esi + 0x460], 0
je 0x43ab12
cmp byte [esi + 0x465], 0
je 0x43ab12
mov byte [esi + 0x24b], 1
jmp 0x43ab19
mov byte [esi + 0x24b], 0
push esi
call fcn.0043b600
pop ecx
lea ecx, [ebp - 0x244]
push ecx
push esi
call fcn.0043b478
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.0040db2c
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 0x43ac21
lea eax, [ebx + 0x1cc]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ac21
lea edx, [ebx + 0x1d5]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ac21
lea ecx, [ebx + 0x24]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43ac28
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 0x43ac84
lea ecx, [ebx + 0x1cc]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ac84
lea eax, [ebx + 0x1d5]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ac84
lea edx, [ebx + 0x24]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43ac8b
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 0x43ace7
lea edx, [ebx + 0x1cc]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ace7
lea ecx, [ebx + 0x1d5]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ace7
lea eax, [ebx + 0x24]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43acee
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 0x43ad4d
lea eax, [ebx + 0x1cc]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ad4d
lea edx, [ebx + 0x1d5]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ad4d
lea ecx, [ebx + 0x24]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43ad54
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 0x43adb3
lea ecx, [ebx + 0x1cc]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43adb3
lea eax, [ebx + 0x1d5]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43adb3
lea edx, [ebx + 0x24]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43adba
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 0x43ae19
lea edx, [ebx + 0x1cc]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ae19
lea ecx, [ebx + 0x1d5]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ae19
lea eax, [ebx + 0x24]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43ae20
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 0x43ae7f
lea eax, [ebx + 0x1cc]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ae7f
lea edx, [ebx + 0x1d5]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43ae7f
lea ecx, [ebx + 0x24]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43ae86
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 0x43aee5
lea ecx, [ebx + 0x1cc]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43aee5
lea eax, [ebx + 0x1d5]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43aee5
lea edx, [ebx + 0x24]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43aeec
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 0x43af4b
lea edx, [ebx + 0x1cc]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43af4b
lea ecx, [ebx + 0x1d5]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43af4b
lea eax, [ebx + 0x24]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43af52
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 0x43afb1
lea eax, [ebx + 0x1cc]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43afb1
lea edx, [ebx + 0x1d5]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43afb1
lea ecx, [ebx + 0x24]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43afb8
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 0x43b017
lea ecx, [ebx + 0x1cc]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b017
lea eax, [ebx + 0x1d5]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b017
lea edx, [ebx + 0x24]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43b01e
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 0x43b07d
lea edx, [ebx + 0x1cc]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b07d
lea ecx, [ebx + 0x1d5]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b07d
lea eax, [ebx + 0x24]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43b084
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 0x43b0e3
lea eax, [ebx + 0x1cc]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b0e3
lea edx, [ebx + 0x1d5]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b0e3
lea ecx, [ebx + 0x24]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43b0ea
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 0x43b149
lea ecx, [ebx + 0x1cc]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b149
lea eax, [ebx + 0x1d5]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b149
lea edx, [ebx + 0x24]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43b150
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 0x43b1af
lea edx, [ebx + 0x1cc]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b1af
lea ecx, [ebx + 0x1d5]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b1af
lea eax, [ebx + 0x24]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43b1b6
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 0x43b215
lea eax, [ebx + 0x1cc]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b215
lea edx, [ebx + 0x1d5]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b215
lea ecx, [ebx + 0x24]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43b21c
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 0x43b27b
lea ecx, [ebx + 0x1cc]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b27b
lea eax, [ebx + 0x1d5]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b27b
lea edx, [ebx + 0x24]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43b282
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 0x43b2e1
lea edx, [ebx + 0x1cc]
push edx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b2e1
lea ecx, [ebx + 0x1d5]
push ecx
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
je 0x43b2e1
lea eax, [ebx + 0x24]
push eax
push edi
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
jne 0x43b2e8
mov byte [esi + 0x45f], 1
cmp byte [esi + 0x45e], 0
jne 0x43b2fe
cmp byte [esi + 0x455], 0
jne 0x43b2fe
xor edx, edx
jmp 0x43b303
mov edx, 1
push edx
call fcn.00459888
cmp byte [esi + 0x45d], 0
pop ecx
jne 0x43b320
cmp byte [esi + 0x454], 0
jne 0x43b320
xor eax, eax
jmp 0x43b325
mov eax, 1
mov dword [0x4b4a88], eax
cmp byte [esi + 0x45f], 0
jne 0x43b340
cmp byte [esi + 0x456], 0
jne 0x43b340
xor eax, eax
jmp 0x43b345
mov eax, 1
mov byte [0x4b057d], 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 0x43b429
push 0x2c
push edi
call fcn.004988ed
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x43b3a7
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.0049d988
add esp, 0xc
dec eax
je 0x43b3c5
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x43b3fa
cmp dword [ebp - 8], 0
je 0x43b3fa
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 0x43b40a
mov dword [ebp - 4], 0x3e7
cmp dword [ebp - 4], 0
jle 0x43b429
cmp byte [esi + 0x70a], 0
je 0x43b429
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 0x43b46f
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