Function at 0x411d10
Capabilities:
Delete file

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6d924e
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x50
mov eax, dword [0x79a200]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x38], esi
call fcn.0054592c
mov ecx, eax
test ecx, ecx
je 0x4121b7
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x34], eax
mov dword [ebp - 4], 0
mov ecx, dword [esi + 0x54]
lea esi, [eax - 0x10]
lea edx, [ecx - 0x10]
cmp edx, esi
je 0x411dc9
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x411dbd
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x411dbd
push edx
call fcn.004066d0
add esp, 4
mov dword [ebp - 0x30], eax
or ecx, 0xffffffff
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x411db5
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x30]
add eax, 0x10
mov dword [ebp - 0x34], eax
jmp 0x411dc9
push dword [ecx - 0xc]
push ecx
lea ecx, [ebp - 0x34]
call fcn.00406bf0
push 0x13
push str.PatchInfoServer.cfg
lea ecx, [ebp - 0x34]
call fcn.0040bc00
mov eax, dword fs:[0x2c]
movaps xmm0, xmmword [0x7768b0]
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x50], 0x56bd233c
mov ecx, dword [eax]
mov dword [ebp - 0x4c], 0x76642bac
mov dword [ebp - 0x48], 0x6e7747d
mov word [ebp - 0x44], 0x6aeb
mov eax, dword [ecx + 0xbc]
lea edi, [ecx + 0xc0]
mov byte [ebp - 0x42], 1
test al, 1
jne 0x411e67
or eax, 1
mov dword [ecx + 0xbc], eax
xorps xmm0, xmm0
mov byte [ebp - 4], 1
movlpd qword [ebp - 0x40], xmm0
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
mov byte [edi + 0x1f], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x60]
mov byte [ecx + edi], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x411e56
cmp ecx, 0x1f
jb 0x411e40
push 0x6ea4f0
call fcn.0068dcce
add esp, 4
mov byte [ebp - 4], 0
cmp byte [edi + 0x1f], 0
je 0x411eb3
xorps xmm0, xmm0
movlpd qword [ebp - 0x40], xmm0
mov eax, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x40]
mov dword [ebp - 0x30], eax
nop
mov ecx, esi
mov eax, 0x6593150d
and ecx, 7
mov edx, 0x1014583
shl ecx, 3
call fcn.006d81e0
xor byte [esi + edi], al
add esi, 1
mov eax, dword [ebp - 0x30]
adc eax, 0
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x411eaf
cmp esi, 0x1f
jb 0x411e80
mov byte [edi + 0x1f], 0
mov ecx, edi
mov dword [ebp - 0x1c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x2c], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411ed0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x2c]
call fcn.00415170
mov edi, dword [ebp - 0x38]
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 2
cmp dword [ebp - 0x18], 0xf
cmova eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
test eax, eax
je 0x411f5e
push 0
push 0
push 0xffffffffffffffff
push eax
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea esi, [eax - 1]
test esi, esi
jle 0x411f5e
mov ecx, dword [edi + 0x2c]
mov edx, 1
mov eax, dword [ecx - 8]
sub edx, dword [ecx - 4]
sub eax, esi
or eax, edx
jge 0x411f31
push esi
lea ecx, [edi + 0x2c]
call fcn.00406f20
push esi
push dword [edi + 0x2c]
push 0xffffffffffffffff
push dword [ebp - 0x30]
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [edi + 0x2c]
cmp esi, dword [eax - 8]
jg 0x4121c1
mov dword [eax - 0xc], esi
xor ecx, ecx
mov eax, dword [edi + 0x2c]
mov word [eax + esi*2], cx
jmp 0x411f66
lea ecx, [edi + 0x2c]
call fcn.00406b20
mov esi, dword [ebp - 0x34]
xor edi, edi
nop dword [eax + eax]
mov eax, dword [ebp - 0x38]
add eax, 0x2c
push str.PatchInfoServer.cfg
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.00407a10
add esp, 0xc
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x30]
cmp dword [eax - 4], 1
jle 0x411fa3
push dword [eax - 0xc]
lea ecx, [ebp - 0x30]
call fcn.00406e20
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.WININET.dll_DeleteUrlCacheEntryW]
cmp dword [esi - 4], 1
jle 0x411fbe
push dword [esi - 0xc]
lea ecx, [ebp - 0x34]
call fcn.00406e20
mov esi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
cmp dword [ecx - 4], 1
jle 0x411fd5
push dword [ecx - 0xc]
lea ecx, [ebp - 0x30]
call fcn.00406e20
mov ecx, dword [ebp - 0x30]
mov edx, esi
call fcn.0041c540
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
test eax, eax
je 0x412020
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x411fff
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
inc edi
cmp edi, 3
jl 0x411f70
push str.PatchInfoServer.cfg_download_Failed_
push 0
call fcn.0041d690
add esp, 8
or edi, 0xffffffff
jmp 0x4120b7
or edi, 0xffffffff
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x412037
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0054592c
mov ecx, eax
test ecx, ecx
je 0x4121cb
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x30], eax
push 7
push 0x7713ac
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 4
call fcn.00406bf0
mov eax, dword [ebp - 0x30]
push ecx
add eax, 0xfffffff0
mov esi, esp
mov dword [ebp - 0x3c], esi
push eax
mov dword [ebp - 0x3c], eax
call fcn.004066d0
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea eax, [ebp - 0x34]
push eax
call fcn.004121e0
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push esi
mov dword [ecx + 0x44], eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edx, dword [ebp - 0x3c]
mov eax, edi
mov byte [ebp - 4], 2
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4120b7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0x40], 0
jle 0x4120c6
cmp dword [eax + 0x44], 0
jg 0x412137
mov edx, 0x3ee
lea ecx, [ebp - 0x30]
call fcn.0041abd0
mov byte [ebp - 4], 5
push dword [ebp - 0x30]
push 0
call fcn.0041d690
add esp, 8
push 0
push 0
push dword [ebp - 0x30]
call fcn.0054779e
mov byte [ebp - 4], 2
mov eax, edi
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41210e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0x40], 0xffffffff
jne 0x412120
push 0xffffffffffffffff
push str.Client_Version_is__d___Error
jmp 0x41212d
cmp dword [eax + 0x44], 0xffffffff
jne 0x412137
push 0xffffffffffffffff
push str.Server_Version_is__d___Error
push 0
call fcn.0041d690
add esp, 0xc
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x41216b
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x412161
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4121d5
push ecx
push edx
call fcn.0068d77d
add esp, 8
mov dword [ebp - 0x1c], 0
add esi, 0xfffffff0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
mov dword [ebp - 4], 0xffffffff
lock xadd dword [esi + 0xc], edi
dec edi
test edi, edi
jg 0x412199
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0068d76f
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0x80004005
call fcn.00407310
push 0x80070057
call fcn.00407310
push 0x80004005
call fcn.00407310
call fcn.006944a3
int3