Function at 0x41f710
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52dbf6
mov eax, dword fs:[0]
push eax
sub esp, 0x288
mov eax, dword [0x57e7c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x290], eax
mov esi, dword [ebp + 8]
push eax
mov dword [ebp - 0x28c], 0
mov dword [ebp - 0x294], 1
call fcn.0041fd30
add esp, 4
mov dword [ebp - 0x284], eax
or edi, 0xffffffff
mov dword [ebp - 0x288], edx
test esi, esi
je 0x41f984
call fcn.004067b0
mov ecx, eax
test ecx, ecx
je 0x41fc88
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x280], eax
push esi
lea ecx, [ebp - 0x280]
mov dword [ebp - 4], 0
call fcn.004063a0
test al, al
jne 0x41f7bd
push esi
lea ecx, [ebp - 0x280]
call fcn.00405ed0
mov esi, dword [ebp - 0x280]
mov dword [ebp - 4], 1
mov edi, dword [esi - 0xc]
test edi, edi
js 0x41fc92
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edi
or eax, ecx
jge 0x41f7f8
push edi
lea ecx, [ebp - 0x280]
call fcn.00406c70
mov esi, dword [ebp - 0x280]
lea eax, [edi + 1]
push eax
push esi
call fcn.00505bee
add esp, 8
cmp edi, dword [esi - 8]
jg 0x41fc92
xor eax, eax
mov dword [esi - 0xc], edi
lea ecx, [ebp - 0x278]
mov word [esi + edi*2], ax
call fcn.0043a3a0
mov ecx, esi
mov byte [ebp - 4], 2
xor eax, eax
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41f850
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x230]
call fcn.0040c410
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x278]
call fcn.0043acc0
mov edx, dword [ebp - 0x21c]
mov byte [ebp - 4], 2
cmp edx, 8
jb 0x41f8c6
mov ecx, dword [ebp - 0x230]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41f8bc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41fc9c
push edx
push ecx
call fcn.004bf3aa
add esp, 8
push 7
xor eax, eax
mov dword [ebp - 0x220], 0
push str.autorun
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
call fcn.0040c410
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x278]
call fcn.0043ac20
mov edx, dword [ebp - 0x21c]
test eax, eax
mov byte [ebp - 4], 2
sete bl
cmp edx, 8
jb 0x41f954
mov ecx, dword [ebp - 0x230]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41f94a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41fca1
push edx
push ecx
call fcn.004bf3aa
add esp, 8
test bl, bl
je 0x41f9bb
lea ecx, [ebp - 0x278]
call fcn.0043a4a0
or edi, 0xffffffff
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41f984
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x284]
mov eax, esi
mov ebx, dword [ebp - 0x288]
and eax, ebx
cmp eax, 0xffffffff
je 0x41fc64
mov eax, esi
or eax, ebx
je 0x41fc64
call fcn.004067b0
mov ecx, eax
test ecx, ecx
je 0x41fca6
jmp 0x41fc00
push 0xc
xor eax, eax
mov dword [ebp - 0x238], 0
push str.updatefinish
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x234], 7
mov word [ebp - 0x248], ax
call fcn.0040c410
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 5
mov ebx, 1
lea ecx, [ebp - 0x278]
push eax
mov dword [ebp - 0x28c], ebx
call fcn.0043ac20
test eax, eax
jne 0x41fa67
push 0xe
push str.__updatefinish
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
call fcn.0040c410
lea eax, [ebp - 0x230]
mov dword [ebp - 4], 6
mov ebx, 3
lea ecx, [ebp - 0x278]
push eax
mov dword [ebp - 0x28c], ebx
call fcn.0043ac20
mov byte [ebp - 0x279], 0
test eax, eax
je 0x41fa6e
mov byte [ebp - 0x279], 1
mov dword [ebp - 4], 5
test bl, 2
je 0x41fad7
mov edx, dword [ebp - 0x21c]
cmp edx, 8
jb 0x41faba
mov ecx, dword [ebp - 0x230]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41fab0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41fcb0
push edx
push ecx
call fcn.004bf3aa
add esp, 8
xor eax, eax
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
mov edx, dword [ebp - 0x234]
mov dword [ebp - 4], 2
cmp edx, 8
jb 0x41fb1e
mov ecx, dword [ebp - 0x248]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41fb14
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41fcb5
push edx
push ecx
call fcn.004bf3aa
add esp, 8
cmp byte [ebp - 0x279], 0
jne 0x41f958
mov ebx, dword [ebp - 0x290]
push ebx
call fcn.00420190
add esp, 4
test eax, eax
je 0x41f958
push 0x208
lea eax, [ebp - 0x218]
mov edi, 1
push 0
push eax
call fcn.005020d0
add esp, 0xc
lea eax, [ebp - 0x218]
push ebx
push 0x104
push eax
push 0x53bc5c
push 0x53bc60
push str.arctrl
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x218]
push eax
call fcn.00511b27
mov ecx, dword [ebp - 0x284]
mov ebx, eax
mov eax, ecx
add esp, 4
and eax, dword [ebp - 0x288]
cmp eax, 0xffffffff
je 0x41fbc6
mov eax, ebx
or eax, edx
je 0x41fbc6
mov eax, dword [ebp - 0x288]
sub ecx, ebx
sbb eax, edx
add ecx, 5
adc eax, 0
test eax, eax
ja 0x41fbc6
jb 0x41fbc4
cmp ecx, 0xa
ja 0x41fbc6
xor edi, edi
test edi, edi
jne 0x41f958
lea ecx, [ebp - 0x278]
mov dword [ebp - 0x294], edi
call fcn.0043a4a0
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41fc64
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x41fc64
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x284], eax
push ebx
push esi
lea eax, [ebp - 0x284]
mov dword [ebp - 4], 7
push str._I64d
push eax
call fcn.004066c0
mov esi, dword [ebp - 0x284]
add esp, 0x10
push dword [ebp - 0x290]
push esi
push 0x53bc60
push str.arctrl
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], edi
dec edi
test edi, edi
jg 0x41fc64
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov al, byte [ebp - 0x294]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004bf660
mov esp, ebp
pop ebp
ret 4
push 0x80004005
call fcn.00406380
push 0x80070057
call fcn.00406380
call fcn.005055a9
call fcn.005055a9
push 0x80004005
call fcn.00406380
call fcn.005055a9
call fcn.005055a9
int3