Function at 0x40527b
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x4315d3
call fcn.00431274
sub esp, 0x528
push ebx
mov ebx, ecx
lea eax, [ebx + 0x420]
push eax
push 0x104
lea eax, [ebp - 0x534]
push eax
push str.WDUPDATE.NET
push str.FICUPDATE
lea eax, [ebx + 0x834]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, ebx
call fcn.00405e7f
test eax, eax
je 0x405607
push esi
push edi
push ecx
lea ecx, [ebp - 0xf0]
call fcn.0041121b
xor edi, edi
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], edi
call fcn.0040a48d
push ecx
push edi
lea eax, [ebp - 0xf0]
push eax
mov eax, ecx
lea ecx, [ebp - 0x6c]
push eax
call fcn.004096f6
push ecx
mov byte [ebp - 4], 2
call fcn.00409e90
push ecx
call fcn.00409ea1
mov eax, dword [ebx + 0x11dc]
mov edx, 0x43c0ec
mov esi, dword [ebx + 0x11d0]
test eax, eax
mov ecx, edx
cmovne ecx, eax
mov eax, dword [ebx + 0x11d8]
test eax, eax
mov dword [ebp - 0x20], ecx
mov ecx, edx
cmovne ecx, eax
mov eax, dword [ebx + 0x11cc]
test eax, eax
mov dword [ebp - 0x18], ecx
mov ecx, edx
cmovne ecx, eax
imul eax, dword [ebx + 0x11e4], 0x3e8
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], eax
test esi, esi
je 0x405372
cmp dword [esi - 4], 2
jb 0x405372
mov edx, dword [ebx + 0x11d4]
lea eax, [ebx + 0x11c0]
mov dword [ebp - 0x14], eax
test edx, edx
jne 0x40538e
mov edx, 0x43c0ec
jmp 0x40538e
lea eax, [ebx + 0x11c0]
mov dword [ebp - 0x14], eax
test esi, esi
je 0x40538a
cmp dword [esi - 4], 2
mov edx, edi
mov dword [ebp - 0x14], eax
jae 0x40538e
mov esi, edi
mov edx, edi
push dword [ebp - 0x20]
mov eax, dword [ebx + 0x11c4]
mov ecx, 0x43c0ec
push dword [ebp - 0x18]
test eax, eax
cmovne ecx, eax
push ecx
push ecx
push dword [ebp - 0x10]
push dword [ebp - 0x24]
push dword [ebx + 0x11c8]
push edx
push esi
push ecx
lea ecx, [ebp - 0x6c]
call fcn.00409790
test eax, eax
jne 0x40540a
cmp dword [ebx + 0xc48], edi
je 0x4055e8
lea ecx, [ebp - 0xf0]
call fcn.0041172a
push eax
push str.134___Echec_de_linit_de_WinSock
lea eax, [ebp - 0x24]
push str._s_:__s
push eax
call fcn.00402dfa
add esp, 0x10
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.0040fb17
push eax
mov ecx, ebx
call fcn.004036a4
lea ecx, [ebp - 0x24]
jmp 0x4055e3
mov eax, dword [ebx + 0x11e0]
mov esi, 0x43c0ec
test eax, eax
mov ecx, esi
cmovne ecx, eax
push ecx
lea ecx, [ebp - 0x10]
call fcn.0040fa2d
push ecx
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 4
call fcn.004103d0
cmp ax, 0x2f
jne 0x405451
mov eax, dword [ebx + 0x11e0]
mov ecx, esi
test eax, eax
cmovne ecx, eax
lea eax, [ecx + 2]
push eax
lea ecx, [ebp - 0x10]
call fcn.0040fed6
lea ecx, [ebp - 0x10]
call fcn.0041007c
lea ecx, [ebp - 0x10]
mov esi, eax
call fcn.0040fead
dec eax
cmp esi, eax
jne 0x40549e
lea ecx, [ebp - 0x10]
call fcn.0040fead
dec eax
lea edx, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x10]
call fcn.00410005
mov esi, eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 5
call fcn.0040faba
mov ecx, dword [esi]
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x24]
mov dword [esi], edi
mov byte [ebp - 4], 4
call fcn.0040fa89
lea eax, [ebp - 0x534]
push eax
lea ecx, [ebp - 0x10]
call fcn.0040fb17
push eax
lea eax, [ebp - 0x2c]
push 0x43df98
push eax
call fcn.00402dfa
mov esi, dword [ebp - 0x14]
add esp, 8
mov byte [ebp - 4], 6
mov ecx, esi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
call fcn.004061ec
lea ecx, [ebp - 0x2c]
mov edx, eax
call fcn.0040fb17
push ecx
push ecx
push edi
push edx
push 0x43c0ec
push ecx
lea ecx, [ebp - 0x28]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.0040997b
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x405502
lock inc dword [eax - 0xc]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], edi
mov byte [ebp - 4], 8
jmp 0x405595
push 0x43dfbc
lea ecx, [ebp - 0x1c]
call fcn.00406226
test eax, eax
jne 0x405614
mov ecx, ebx
call fcn.00406003
test eax, eax
je 0x4055c0
mov eax, dword [ebx + 0x11dc]
mov ecx, 0x43c0ec
test eax, eax
mov edx, ecx
cmovne edx, eax
mov eax, dword [ebx + 0x11d8]
test eax, eax
push edx
cmovne ecx, eax
push ecx
lea ecx, [ebp - 0x6c]
call fcn.004098d0
push ecx
push ecx
mov ecx, esi
call fcn.004061ec
lea ecx, [ebp - 0x2c]
mov edx, eax
call fcn.0040fb17
push ecx
push ecx
push edi
push edx
push 0x43c0ec
push ecx
lea ecx, [ebp - 0x28]
push ecx
push eax
lea ecx, [ebp - 0x6c]
call fcn.0040997b
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x18]
lea eax, [ebp - 0x38]
push eax
call fcn.00406a95
lea eax, [ebp - 0x1c]
push eax
push 0x43dfb8
push 1
lea ecx, [ebp - 0x18]
call fcn.00406376
cmp dword [ebp - 0x14], 0
jne 0x405511
mov dword [ebp - 0x14], edi
lea ecx, [ebp - 0x6c]
call fcn.0040991c
mov edi, dword [ebp - 0x14]
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x1c]
call fcn.00406a78
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x18]
call fcn.00406a78
lea ecx, [ebp - 0x2c]
call fcn.0040fa89
lea ecx, [ebp - 0x10]
call fcn.0040fa89
lea ecx, [ebp - 0x6c]
call fcn.00409748
lea ecx, [ebp - 0x40]
call fcn.0040a4c3
lea ecx, [ebp - 0xf0]
call fcn.004112de
mov eax, edi
pop edi
pop esi
mov ecx, dword [ebp - 0xc]
pop ebx
mov dword fs:[0], ecx
leave
ret
push 0x43dfc4
lea ecx, [ebp - 0x1c]
call fcn.00406226
test eax, eax
jne 0x4055b2
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x20]
call fcn.00410c14
lea ecx, [ebp - 0x328]
mov byte [ebp - 4], 0xb
call fcn.0040b2c0
push edi
push 0x10000000
push 4
push 3
push 0xc0000000
lea eax, [ebx + 0x62a]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x328]
call fcn.0040c10c
test eax, eax
je 0x405694
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x405675
mov ecx, dword [eax - 4]
jmp 0x405677
mov ecx, edi
push edi
push ecx
push eax
lea ecx, [ebp - 0x328]
call fcn.0040b685
lea ecx, [ebp - 0x328]
test eax, eax
jne 0x4056b0
call fcn.0040b583
lea ecx, [ebp - 0x328]
call fcn.0040b386
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x20]
call fcn.00406a78
jmp 0x4055c0
call fcn.0040b583
lea ecx, [ebp - 0x328]
call fcn.0040b386
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x20]
call fcn.00406a78
mov byte [ebp - 4], 8
jmp 0x4055b5