Function at 0x436c70
Capabilities:
Read .ini file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x456f00
push 0x44bffc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x8d8
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
mov eax, dword [0x47738c]
test eax, eax
je 0x436fbf
mov dword [ebp - 4], ebx
push 0x400
call fcn.0044c0d4
add esp, 4
mov ebx, eax
mov dword [ebp - 0x2c], ebx
test ebx, ebx
jne 0x436cd0
mov dword [ebp - 4], 0xffffffff
jmp 0x436fbf
mov edi, dword [ebp + 8]
lea esi, [edi + 0x1c]
mov al, byte [edi + 0x14]
push eax
mov ecx, dword [edi + 0x10]
push ecx
push 0x10
push esi
call fcn.00433d70
mov dword [ebp - 0x20], eax
test eax, eax
je 0x436d02
mov ecx, dword [0x475eb4]
test ecx, ecx
jne 0x436d02
mov cl, byte [eax + 0x28]
test cl, cl
jne 0x436ec6
mov eax, dword [0x477368]
test eax, eax
je 0x436dfe
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 8]
mov al, byte [ecx + 0x14]
mov byte [ebp - 0x8e8], al
mov ecx, dword [ecx + 0x10]
mov dword [ebp - 0x8e4], ecx
cmp ecx, 0x226
sbb esi, esi
and esi, 0xfffffed4
add esi, 0x2bc
mov dword [ebp - 0x8dc], esi
xor ecx, ecx
test al, al
setne cl
mov eax, ecx
mov dword [ebp - 0x8e0], eax
add eax, esi
cmp eax, 0x2bc
jg 0x436d8f
je 0x436d88
sub eax, 0x190
je 0x436dc0
dec eax
jne 0x436dc0
mov edi, 0x460d80
jmp 0x436d9b
mov edi, 0x460d78
jmp 0x436d9b
cmp eax, 0x2bd
jne 0x436dc0
mov edi, 0x460d6c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
dec edi
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x45a674
push 0x104
push ebx
push 0x464964
push ebx
push 0x45a51c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jne 0x436dec
mov dword [ebp - 4], 0xffffffff
jmp 0x436fbf
push 0x45a494
push ebx
call fcn.0044c740
add esp, 8
mov esi, eax
jmp 0x436e4b
xor esi, esi
mov dword [ebp - 0x24], esi
lea edx, [edi + 0x3c]
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp esi, ecx
jae 0x436e29
cmp byte [edx + esi], 0x2d
jne 0x436e20
mov byte [edx + esi], 0x20
inc esi
mov dword [ebp - 0x24], esi
mov edi, dword [ebp + 8]
jmp 0x436e03
push 0x400
push ebx
mov eax, dword [ebp + 8]
add eax, 0x3c
push eax
push 0x100c
call fcn.00440aa0
test eax, eax
je 0x436e49
lea esi, [ebx + 2]
jmp 0x436e4b
xor esi, esi
mov dword [ebp - 0x28], esi
test esi, esi
je 0x436f91
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x436eaf
push esi
call fcn.00448a90
mov ecx, dword [ebp - 0x20]
cmp eax, dword [ecx + 0x32]
je 0x436eaf
mov edx, ecx
test byte [edx + 0x27], 0x10
je 0x436e83
mov eax, dword [0x47735c]
push eax
push esi
call fcn.00449570
test eax, eax
jne 0x436eaf
push esi
call fcn.00448a90
push eax
call fcn.00432170
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x436eaf
push esi
call fcn.00449840
test eax, eax
je 0x436eaf
push esi
call fcn.00448a90
push eax
call fcn.00432170
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x436ecb
mov byte [eax + 0x29], 1
mov dword [ebp - 4], 0xffffffff
jmp 0x436fbf
mov esi, dword [ebp - 0x28]
jmp 0x436eb2
test esi, esi
je 0x436f91
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x436f91
push esi
call fcn.00448fd0
test eax, eax
je 0x436f14
push esi
call fcn.004440c0
mov dword [ebp - 0x20], eax
test eax, eax
je 0x436f91
mov byte [eax + 0x29], 1
or byte [eax + 0x27], 2
mov dword [ebp - 4], 0xffffffff
jmp 0x436fbf
push 0x5c
push esi
call fcn.0044d020
add esp, 8
test eax, eax
jne 0x436f91
push esi
mov ecx, dword [0x47742c]
push ecx
push 0x460d64
lea edx, [ebp - 0x130]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0x130]
push eax
call fcn.00448fd0
test eax, eax
je 0x436f91
lea ecx, [ebp - 0x130]
push ecx
call fcn.004440c0
mov dword [ebp - 0x20], eax
test eax, eax
je 0x436f91
mov byte [eax + 0x29], 1
or byte [eax + 0x27], 2
lea edx, [ebp - 0x500]
push edx
push 0
push 0
xor ecx, ecx
mov cx, word [eax]
push ecx
call fcn.00432ab0
test eax, eax
je 0x436f91
lea edx, [ebp - 0x500]
push edx
call fcn.00441220
mov dword [ebp - 4], 0xffffffff
jmp 0x436fbf
mov eax, dword [0x475eb8]
test eax, eax
je 0x437183
test ebx, ebx
je 0x437190
mov ecx, 7
mov esi, 0x460d44
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
push 0
lea edx, [ebp - 0x8d4]
push edx
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebx
mov eax, dword [0x460c84]
push eax
mov esi, dword [sym.imp.KERNEL32.dll_WriteFile]
call esi
mov eax, dword [ebp + 8]
mov cl, byte [eax + 0x14]
test cl, cl
mov ecx, 0x460d3c
jne 0x43701c
mov ecx, 0x460d34
push ecx
mov ecx, dword [eax + 0x10]
push ecx
add eax, 0x1c
push eax
push 0x460d10
push ebx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
push 0
lea edx, [ebp - 0x8d4]
push edx
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebx
mov eax, dword [0x460c84]
push eax
call esi
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x437118
lea ecx, [ebp - 0x8d0]
push ecx
push 0
push 0
xor edx, edx
mov dx, word [eax]
push edx
call fcn.00432ab0
lea eax, [ebp - 0x86e]
push eax
push 0x460d00
push ebx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
lea ecx, [ebp - 0x8d4]
push ecx
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebx
mov edx, dword [0x460c84]
push edx
call esi
lea eax, [ebp - 0x80e]
push eax
push 0x460cf0
push ebx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
lea ecx, [ebp - 0x8d4]
push ecx
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebx
mov edx, dword [0x460c84]
push edx
call esi
lea eax, [ebp - 0x70a]
push eax
push 0x460ce0
push ebx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
lea ecx, [ebp - 0x8d4]
push ecx
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebx
mov edx, dword [0x460c84]
push edx
call esi
jmp 0x437150
mov ecx, 0xa
mov esi, 0x460cb8
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
push 0
lea eax, [ebp - 0x8d4]
push eax
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebx
mov ecx, dword [0x460c84]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov esi, dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, ebx
mov ax, word [0x460cb4]
mov word [edx], ax
mov cl, byte [0x460cb6]
mov byte [edx + 2], cl
push 0
lea edx, [ebp - 0x8d4]
push edx
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebx
mov eax, dword [0x460c84]
push eax
call esi
test ebx, ebx
je 0x437190
push ebx
call fcn.0044c186
add esp, 4
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4