Function at 0x4056d0
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x449fb3
mov eax, dword fs:[0]
push eax
sub esp, 0xb04
mov eax, dword [0x464ca0]
xor eax, esp
mov dword [esp + 0xb00], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x464ca0]
xor eax, esp
push eax
lea eax, [esp + 0xb18]
mov dword fs:[0], eax
mov eax, dword [esp + 0xb28]
mov esi, dword [esp + 0xb30]
mov ebp, ecx
push eax
lea ecx, [esp + 0x38]
call fcn.004043e0
push str.UpConfig.txt
push eax
lea eax, [esp + 0x40]
xor edi, edi
push eax
mov dword [esp + 0xb2c], edi
call fcn.00403590
push 0x466158
push eax
lea ecx, [esp + 0x2c]
push ecx
mov byte [esp + 0xb38], 1
call fcn.004034d0
add esp, 0x18
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
mov byte [esp + 0xb20], 3
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x405781
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
mov byte [esp + 0xb20], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4057a9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push esi
lea ecx, [esp + 0x44]
call fcn.004043e0
push str.UpdateUpConfig.ini
push eax
lea ecx, [esp + 0x1c]
push ecx
mov byte [esp + 0xb2c], 5
call fcn.00403590
add esp, 0xc
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
mov byte [esp + 0xb20], 7
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4057f6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push esi
lea ecx, [esp + 0x20]
call fcn.004043e0
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.Update_
push eax
push ecx
mov byte [esp + 0xb30], 8
call fcn.00403590
add esp, 0xc
call fcn.00408170
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
add esp, 4
mov byte [esp + 0xb20], 7
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40584e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push ecx
push edx
mov ecx, ebp
call fcn.00403840
test al, al
jne 0x4058bd
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [esp + 0xb20], 4
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40588b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov dword [esp + 0xb20], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4058b6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor al, al
jmp 0x405d19
push 0x206
lea ecx, [esp + 0x502]
push edi
push ecx
mov word [esp + 0x508], di
call fcn.004317a0
add esp, 0xc
mov dword [esp + 0x1c], edi
nop
push 0x206
lea edx, [esp + 0x70a]
push edi
push edx
mov word [esp + 0x710], di
call fcn.004317a0
mov eax, dword [esp + 0x28]
push eax
lea ecx, [esp + 0x714]
push str.Number_d
push ecx
call fcn.00432459
mov edx, dword [esp + 0x2c]
add esp, 0x18
push edx
push 0x208
lea eax, [esp + 0x504]
push eax
push 0x44e9d8
lea ecx, [esp + 0x714]
push ecx
push str.FileList
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea edx, [esp + 0x4fc]
push edx
lea ecx, [esp + 0x30]
call fcn.004043e0
mov esi, eax
mov eax, dword [esi]
cmp dword [eax - 0xc], edi
jge 0x40595e
or eax, 0xffffffff
jmp 0x405979
push str.Update.exe
push eax
call fcn.004311f0
add esp, 8
cmp eax, edi
jne 0x405975
or eax, 0xffffffff
jmp 0x405979
sub eax, dword [esi]
sar eax, 1
cmp eax, 0xffffffff
mov eax, dword [esp + 0x2c]
setne bl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40599f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
jne 0x405c33
lea eax, [esp + 0x4fc]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x4059b1
sub eax, edx
sar eax, 1
cmp eax, 1
jb 0x405c3d
lea ecx, [esp + 0x44]
call fcn.00401300
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x500]
push edx
mov ecx, ebp
call fcn.004044c0
push 0x206
lea eax, [esp + 0x912]
push edi
push eax
mov dword [esp + 0x2ac], edi
mov word [esp + 0x918], di
call fcn.004317a0
push 0x206
lea ecx, [esp + 0x306]
push edi
push ecx
mov word [esp + 0x30c], di
call fcn.004317a0
add esp, 0x18
xor eax, eax
jmp 0x405a30
movzx ecx, word [esp + eax + 0x44]
mov word [esp + eax + 0x2f4], cx
add eax, 2
cmp cx, di
jne 0x405a30
lea eax, [esp + 0x2f4]
xor edx, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x405a51
sub eax, esi
sar eax, 1
cmp eax, edi
jle 0x405a99
cmp word [esp + edx*2 + 0x2f4], 0x2f
jne 0x405a79
mov word [esp + edx*2 + 0x2f4], 0x5c
lea eax, [esp + 0x2f4]
add edx, 1
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x405a86
sub eax, esi
sar eax, 1
cmp edx, eax
jl 0x405a64
lea edx, [esp + 0x30]
push edx
call fcn.00408230
mov eax, dword [eax]
lea ecx, [esp + 0x2f8]
push ecx
push eax
lea edx, [esp + 0x918]
push str._s_s
push edx
call fcn.00432459
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
add esp, 0x14
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405ae3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x4e
lea ecx, [esp + 0x2aa]
push edi
push ecx
mov word [esp + 0x2b0], di
call fcn.004317a0
add esp, 0xc
lea ecx, [esp + 0x24]
call fcn.004090c0
push ecx
lea edx, [esp + 0x910]
mov ecx, esp
mov dword [esp + 0x40], esp
push edx
mov byte [esp + 0xb28], 9
call fcn.004043e0
lea eax, [esp + 0x2c]
push eax
mov ecx, ebp
call fcn.00403400
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xb24], 0xa
call fcn.004043e0
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov byte [esp + 0xb20], 0xc
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405b6b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x20]
push 0x28
lea ecx, [esp + 0x2a8]
push ecx
push edx
lea ecx, [esp + 0x30]
call fcn.00409290
cmp eax, 0xffffffff
je 0x405c82
lea ecx, [esp + 0x24c]
lea eax, [esp + 0x2a4]
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x405bc6
cmp dx, di
je 0x405bc2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x405bc6
add eax, 4
add ecx, 4
cmp dx, di
jne 0x405ba0
xor eax, eax
jmp 0x405bcb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
jne 0x405bed
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov byte [esp + 0xb20], 9
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x405c16
lea ecx, [esp + 0x44]
push ecx
lea ecx, [ebp + 0x18]
call fcn.004050c0
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov byte [esp + 0xb20], 9
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x405c22
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xb20], 7
call fcn.004090d0
add dword [esp + 0x1c], 1
jmp 0x4058e0
mov eax, dword [ebp + 0x1c]
cmp eax, edi
je 0x405863
mov ecx, dword [ebp + 0x20]
sub ecx, eax
mov eax, 0x6bca1af3
imul ecx
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
je 0x405863
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0xb20], 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x405ce4
push 0x44eacc
call fcn.004084a0
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
add esp, 4
mov byte [esp + 0xb20], 9
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405cb7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xb20], 7
call fcn.004090d0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0xb20], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405cf0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov dword [esp + 0xb20], edx
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x405d17
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov al, 1
mov ecx, dword [esp + 0xb18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xb00]
xor ecx, esp
call fcn.00432214
add esp, 0xb10
ret 0xc