Function at 0x403bc0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59ff1f
mov eax, dword fs:[0]
push eax
sub esp, 0x888
mov eax, dword [0x62b0b8]
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 esi, ecx
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x894], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x890], eax
mov eax, dword [ebp + 0x2c]
mov dword [ebp - 0x88c], eax
xor ecx, ecx
mov dword [ebp - 4], 0
push 0xffffffffffffffff
push ecx
lea eax, [esi + 4]
mov word [ebp - 0x828], cx
idiv edi
dec dword [ebx - 0x7a76d7bb]
jo 0x403bf7
invalid
invalid
call dword [ecx - 0x73]
inc esi
add al, 0x66
mov dword [ebp - 0x828], ecx
push eax
lea ecx, [ebp - 0x828]
mov dword [ebp - 0x814], 7
mov dword [ebp - 0x818], 0
call fcn.00401b60
cmp dword [ebp + 8], 0
mov byte [ebp - 4], 1
je 0x403c62
lea eax, [esi + 0x1c]
lea ecx, [ebp - 0x828]
cmp ecx, eax
je 0x403c62
push 0xffffffffffffffff
push 0
push eax
call fcn.00401b60
call fcn.0043a9ef
test al, al
je 0x403c7c
jb 0x403bf6
mov bh, 0x34
stosd dword es:[edi], eax
inc ebp
and al, 0x28
sub al, 0xa6
add eax, 0x43de99ec
pushfd
push cs
call fcn.0043a6f8
test al, al
je 0x403ca4
jnp 0x403c15
inc eax
scasd eax, dword es:[edi]
outsd dx, dword [esi]
adc eax, 0xd44a6d26
bnd jge 0x403cf2
inc edi
jmp 0x9da1dc69
call fcn.0043a515
test al, al
je 0x403cc3
js 0x403cf1
dec esp
push edi
inc edi
mov al, 0xd5
invalid
lea eax, [ebp + 0xc]
push eax
call int.0042119b
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x840]
push eax
call fcn.004202fd
add esp, 0xc
mov byte [ebp - 4], 2
call fcn.0043ab03
test al, al
je 0x403cff
xchg esi, eax
insb byte es:[edi], dx
inc ebp
xchg byte [edx + 0x7c], al
jl 0x403cf6
add esi, edx
xor dword [esi + eax*4], 0x55
xor dword [esi + eax*4], 0x55
xchg byte [ebp + 0x1d], dl
mov edx, 0x52acbbbd
sbb eax, 0xacbbbdba
push edx
adc ch, al
jne 0x403d6f
call fcn.0043aa79
add eax, dword [eax]
test al, al
je 0x403d23
rol dword gs:[ecx + edi*8 - 0x40741719], cl
invalid
call fcn.0043aa34
test al, al
je 0x403d45
insb byte es:[edi], dx
mov bh, 1
push ebp
inc ebx
sub byte [ecx + 1], dh
or byte [eax - 0x20], al
jle 0x403d8c
inc esi
mov cs, word [0xbb378362]
mov ebx, 0x68d376f5
add byte [eax], cl
add byte [eax], al
push 0x800
lea eax, [ebp - 0x810]
push 0
push eax
call fcn.00445350
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x828]
add esp, 0xc
lea ecx, [ebp - 0x840]
cmp dword [ebp - 0x814], 8
in al, dx
idiv edi
dec dword [eax]
cmovae eax, dword [ebp - 0x828]
cmp dword [ebp - 0x82c], 8
push eax
cmovae ecx, dword [ebp - 0x840]
lea eax, [ebp - 0x810]
push 0x400
push eax
push 0x61f778
push 0x620410
push ecx
call ebx
xor eax, eax
mov dword [ebp - 0x85c], 7
mov dword [ebp - 0x860], 0
mov word [ebp - 0x870], ax
cmp word [ebp - 0x810], ax
jne 0x403dcd
invalid
xor ecx, ecx
jmp 0x403de5
lea ecx, [ebp - 0x810]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x403dd6
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x810]
push eax
lea ecx, [ebp - 0x870]
call fcn.00401a60
mov byte [ebp - 4], 3
cmp dword [ebp - 0x860], 0
je 0x4040cd
mov eax, dword [ebp - 0x894]
lea ecx, [ebp - 0x870]
cmp eax, ecx
je 0x403e25
push 0xffffffffffffffff
push 0
push ecx
mov ecx, eax
call fcn.00401b60
call fcn.0043aa34
test al, al
je 0x403e50
nop
and dword [eax], esi
push eax
stosd dword es:[edi], eax
cmp dword [edi + 0x47aca6ec], esp
fsubrp st(3)
invalid
cmp dword [ebp - 0x814], 8
lea eax, [ebp - 0x828]
lea ecx, [ebp - 0x840]
cmovae eax, dword [ebp - 0x828]
cmp dword [ebp - 0x82c], 8
push eax
cmovae ecx, dword [ebp - 0x840]
lea eax, [ebp - 0x810]
push 0x400
push eax
push 0x61f778
push str.CacheTime
push ecx
call ebx
cmp word [ebp - 0x810], 0
jne 0x403ea0
xor ecx, ecx
jmp 0x403ebf
lea ecx, [ebp - 0x810]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x403eb0
sub ecx, edx
sar ecx, 1
push ecx
mov ecx, dword [ebp - 0x890]
lea eax, [ebp - 0x810]
push eax
call fcn.00401a60
cmp dword [ebp - 0x814], 8
lea eax, [ebp - 0x828]
lea ecx, [ebp - 0x840]
cmovae eax, dword [ebp - 0x828]
cmp dword [ebp - 0x82c], 8
push eax
cmovae ecx, dword [ebp - 0x840]
lea eax, [ebp - 0x810]
push 0x400
push eax
push 0x61f778
push str.File
push ecx
call ebx
cmp word [ebp - 0x810], 0
jne 0x403f22
xor ecx, ecx
jmp 0x403f3f
lea ecx, [ebp - 0x810]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x403f30
sub ecx, edx
sar ecx, 1
mov ebx, dword [ebp - 0x88c]
lea eax, [ebp - 0x810]
push ecx
push eax
mov ecx, ebx
call fcn.00401a60
cmp dword [ebx + 0x14], 8
jb 0x403f5e
inc dword [ebx + 0x7208147b]
add al, 0x8b
add ebp, ebx
add cl, byte [ebx + 0x15ff50c3]
pop eax
push ebx
pop edx
add byte [ebp + 0x5e840fc0], al
add dword [eax], eax
add al, ch
invalid
mov eax, dword [ebx]
jmp 0x403f60
mov eax, ebx
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4040cd
call fcn.0043ab03
test al, al
je 0x403f99
popfd
mov gs, word [ecx]
ja 0x403f88
ret 0x5a6f
aas
jo 0x403fb3
xchg ecx, eax
jle 0x403f53
mov eax, dword [0x31b9ad8a]
mov ebx, dword [ebp - 0x88c]
cmp dword [ebp - 0x814], 8
lea eax, [ebp - 0x828]
lea ecx, [ebp - 0x840]
cmovae eax, dword [ebp - 0x828]
cmp dword [ebp - 0x82c], 8
push eax
cmovae ecx, dword [ebp - 0x840]
lea eax, [ebp - 0x810]
push 0x400
push eax
push 0x61f778
push str.LastMD5
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x810]
push eax
lea ecx, [ebp - 0x858]
call fcn.00401870
mov byte [ebp - 4], 4
cmp dword [ebp - 0x848], 0
jne 0x404005
xor bl, bl
jmp 0x404090
cmp dword [ebx + 0x14], 8
jb 0x40400d
mov ebx, dword [ebx]
sub esp, 0x18
mov ecx, esp
push ebx
call fcn.00401870
lea eax, [ebp - 0x888]
push eax
call int.004225a1
lea eax, [ebp - 0x858]
mov byte [ebp - 4], 5
push eax
call int.0042119b
lea eax, [ebp - 0x888]
push eax
call int.0042119b
cmp dword [ebp - 0x874], 8
lea ecx, [ebp - 0x888]
push dword [ebp - 0x878]
cmovae ecx, dword [ebp - 0x888]
lea eax, [ebp - 0x858]
cmp dword [ebp - 0x844], 8
push ecx
cmovae eax, dword [ebp - 0x858]
push dword [ebp - 0x848]
push eax
call fcn.00403010
add esp, 0x34
lea ecx, [ebp - 0x888]
mov esi, eax
call fcn.00401830
test esi, esi
sete bl
mov eax, dword [ebp - 0x844]
cmp eax, 8
jb 0x4040ae
inc eax
lea ecx, [ebp - 0x858]
push eax
push dword [ebp - 0x858]
call fcn.00401f40
xor eax, eax
mov dword [ebp - 0x844], 7
mov dword [ebp - 0x848], 0
mov word [ebp - 0x858], ax
jmp 0x4040cf
xor bl, bl
mov eax, dword [ebp - 0x85c]
cmp eax, 8
jb 0x4040ed
inc eax
lea ecx, [ebp - 0x870]
push eax
push dword [ebp - 0x870]
call fcn.00401f40
xor eax, eax
mov dword [ebp - 0x85c], 7
mov word [ebp - 0x870], ax
mov eax, dword [ebp - 0x82c]
mov dword [ebp - 0x860], 0
cmp eax, 8
jb 0x404128
inc eax
lea ecx, [ebp - 0x840]
push eax
push dword [ebp - 0x840]
call fcn.00401f40
xor eax, eax
mov dword [ebp - 0x82c], 7
mov word [ebp - 0x840], ax
mov eax, dword [ebp - 0x814]
mov dword [ebp - 0x830], 0
cmp eax, 8
jb 0x404163
inc eax
lea ecx, [ebp - 0x828]
push eax
push dword [ebp - 0x828]
call fcn.00401f40
mov ecx, dword [ebp + 0x20]
xor eax, eax
mov dword [ebp - 0x814], 7
mov dword [ebp - 0x818], 0
mov word [ebp - 0x828], ax
cmp ecx, 8
jb 0x404195
inc ecx
push ecx
push dword [ebp + 0xc]
lea ecx, [ebp + 0xc]
call fcn.00401f40
mov al, bl
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.00433ee3
mov esp, ebp
pop ebp
ret 0x28