Function at 0x462846
Capabilities:
Delete file

Disassembly:
mov eax, 0x563846
call fcn.0053c1d0
sub esp, 0x408
mov eax, dword [0x5af710]
xor eax, ebp
push ebx
mov dword [ebp - 0x14], eax
mov eax, dword [0x5b096c]
push esi
push edi
add eax, 0x640
mov dword [ebp - 0x10], esp
push eax
mov dword [ebp - 0x294], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [0x5b096c]
xor ebx, ebx
mov dword [ebp - 4], ebx
call fcn.00461282
mov dword [ebp - 0x254], eax
mov eax, dword [0x5b096c]
mov eax, dword [eax + 0x5bc]
push ebx
push eax
call fcn.0053e126
cmp eax, 0xffffffff
pop ecx
pop ecx
jne 0x4628b2
mov dword [ebp - 0x254], ebx
xor edi, edi
push ebx
inc edi
push edi
lea ecx, [ebp - 0xac]
call fcn.00415ba7
push edi
push 2
lea ecx, [ebp - 0x414]
mov byte [ebp - 4], 1
call fcn.00404a20
mov eax, dword [0x5b096c]
mov eax, dword [eax + 0x488]
push str.Patch_
push eax
lea eax, [ebp - 0x414]
push eax
mov byte [ebp - 4], 2
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
push edi
push 2
lea ecx, [ebp - 0x394]
call fcn.00404a20
lea eax, [ebp - 0x270]
push eax
lea ecx, [ebp - 0x414]
mov byte [ebp - 4], 3
call fcn.00407320
cmp dword [eax + 0x18], 0x10
mov byte [ebp - 4], 4
jb 0x462932
mov eax, dword [eax + 4]
jmp 0x462935
add eax, 4
mov esi, str.index.zip
push esi
push eax
lea eax, [ebp - 0x394]
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x270]
mov byte [ebp - 4], 3
call fcn.00402c50
lea eax, [ebp - 0x270]
push eax
lea ecx, [ebp - 0x394]
call fcn.00407320
cmp dword [eax + 0x18], 0x10
mov byte [ebp - 4], 5
jb 0x462984
mov eax, dword [eax + 4]
jmp 0x462987
add eax, 4
push eax
push esi
lea ecx, [ebp - 0xac]
call fcn.00410016
mov ebx, eax
neg ebx
push 0
sbb bl, bl
push edi
lea ecx, [ebp - 0x270]
inc bl
mov byte [ebp - 4], 3
call fcn.00402c50
test bl, bl
je 0x462b8a
mov esi, 0x222
cmp dword [0x5b21c0], esi
jne 0x462b78
lea eax, [ebp - 0x264]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push edi
push 2
lea ecx, [ebp - 0x314]
call fcn.00404a20
mov eax, 0x572a6c
push eax
push str.index.zip_DownLoadFileInfo
push 0x572a4c
push eax
push 0x572a48
push esi
push 0x572a40
push dword [ebp - 0x258]
mov eax, 0x572a3c
push eax
push dword [ebp - 0x25a]
mov edx, 0x572a38
push eax
push dword [ebp - 0x25c]
mov ecx, 0x572a34
push edx
push dword [ebp - 0x25e]
mov byte [ebp - 4], 6
push ecx
push dword [ebp - 0x262]
push ecx
push dword [ebp - 0x264]
push edx
push 0x32e
push eax
push 0x5c
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x274], esp
push str..PatchXml.cpp
call fcn.00405500
lea eax, [ebp - 0x290]
push eax
call fcn.00407150
add esp, 0x24
cmp dword [eax + 0x18], 0x10
mov byte [ebp - 4], 7
jb 0x462a76
mov eax, dword [eax + 4]
jmp 0x462a79
add eax, 4
push eax
lea eax, [ebp - 0x314]
push 0x572a0c
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.004040c0
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.004040c0
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
mov byte [ebp - 4], 6
pop ecx
pop ecx
push 0
push edi
lea ecx, [ebp - 0x290]
call fcn.00402c50
lea eax, [ebp - 0x314]
push eax
call fcn.00407930
pop ecx
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 4], 3
call fcn.004028d0
lea ecx, [ebp - 0x2c8]
mov dword [ebp - 0x2c8], 0x572840
call fcn.0054dfcb
xor eax, eax
cmp dword [ebp - 0x254], eax
setne al
mov esi, eax
jmp 0x462d68
mov eax, dword [ebp - 0x254]
cmp eax, dword [ebp - 0x5c]
jne 0x462ddf
test eax, eax
je 0x462ba4
mov esi, edi
jmp 0x462d68
mov esi, 0x222
cmp dword [0x5b21c0], esi
jne 0x462d66
lea eax, [ebp - 0x264]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push edi
push 2
lea ecx, [ebp - 0x314]
call fcn.00404a20
mov eax, 0x572a6c
push eax
push str.Index.zip
push 0x572a4c
push eax
push 0x572a48
push esi
push 0x572a40
push dword [ebp - 0x258]
mov eax, 0x572a3c
push eax
push dword [ebp - 0x25a]
mov edx, 0x572a38
push eax
push dword [ebp - 0x25c]
mov ecx, 0x572a34
push edx
push dword [ebp - 0x25e]
mov byte [ebp - 4], 8
push ecx
push dword [ebp - 0x262]
push ecx
push dword [ebp - 0x264]
push edx
push 0x335
push eax
push 0x5c
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x274], esp
push str..PatchXml.cpp
call fcn.00405500
lea eax, [ebp - 0x290]
push eax
call fcn.00407150
add esp, 0x24
cmp dword [eax + 0x18], 0x10
mov byte [ebp - 4], 9
jb 0x462c64
mov eax, dword [eax + 4]
jmp 0x462c67
add eax, 4
push eax
lea eax, [ebp - 0x314]
push 0x572a0c
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.004040c0
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.004040c0
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
mov byte [ebp - 4], 8
push 0
push edi
lea ecx, [ebp - 0x290]
call fcn.00402c50
lea eax, [ebp - 0x314]
push eax
call fcn.00407930
pop ecx
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 4], 3
call fcn.004028d0
lea ecx, [ebp - 0x2c8]
mov dword [ebp - 0x2c8], 0x572840
call fcn.0054dfcb
xor esi, esi
lea ecx, [ebp - 0x348]
mov byte [ebp - 4], 2
call fcn.004028d0
mov edi, 0x572840
lea ecx, [ebp - 0x348]
mov dword [ebp - 0x348], edi
call fcn.0054dfcb
lea ecx, [ebp - 0x3c8]
mov byte [ebp - 4], 1
call fcn.004028d0
lea ecx, [ebp - 0x3c8]
mov dword [ebp - 0x3c8], edi
call fcn.0054dfcb
lea ecx, [ebp - 0xac]
call fcn.00415b7e
push dword [ebp - 0x294]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x14]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.0053aaae
leave
ret
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x394]
call fcn.00407320
cmp dword [eax + 0x18], 0x10
jb 0x462dfc
mov eax, dword [eax + 4]
jmp 0x462dff
add eax, 4
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0
push edi
lea ecx, [ebp - 0x290]
call fcn.00402c50
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x394]
call fcn.00407320
cmp dword [eax + 0x18], 0x10
mov byte [ebp - 4], 0xa
jb 0x462e35
mov eax, dword [eax + 4]
jmp 0x462e38
add eax, 4
push eax
push esi
lea ecx, [ebp - 0xac]
call fcn.00414f1a
mov ebx, eax
neg ebx
push 0
sbb bl, bl
push edi
lea ecx, [ebp - 0x290]
inc bl
mov byte [ebp - 4], 3
call fcn.00402c50
test bl, bl
je 0x462fed
mov esi, 0x222
cmp dword [0x5b21c0], esi
jne 0x462b78
lea eax, [ebp - 0x264]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push edi
push 2
lea ecx, [ebp - 0x314]
call fcn.00404a20
mov eax, 0x572a6c
push eax
push str.index.zip_DownLoadFileFromServer
push 0x572a4c
push eax
push 0x572a48
push esi
push 0x572a40
push dword [ebp - 0x258]
mov eax, 0x572a3c
push eax
push dword [ebp - 0x25a]
mov edx, 0x572a38
push eax
push dword [ebp - 0x25c]
mov ecx, 0x572a34
push edx
push dword [ebp - 0x25e]
mov byte [ebp - 4], 0xb
push ecx
push dword [ebp - 0x262]
push ecx
push dword [ebp - 0x264]
push edx
push 0x33c
push eax
push 0x5c
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x274], esp
push str..PatchXml.cpp
call fcn.00405500
lea eax, [ebp - 0x290]
push eax
call fcn.00407150
add esp, 0x24
cmp dword [eax + 0x18], 0x10
mov byte [ebp - 4], 0xc
jb 0x462f27
mov eax, dword [eax + 4]
jmp 0x462f2a
add eax, 4
push eax
lea eax, [ebp - 0x314]
push 0x572a0c
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.004040c0
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.004040c0
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
mov byte [ebp - 4], 0xb
jmp 0x462b37
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x394]
call fcn.00407320
cmp dword [eax + 0x18], 0x10
mov byte [ebp - 4], 0xd
jb 0x46300e
mov eax, dword [eax + 4]
jmp 0x463011
add eax, 4
mov esi, dword [ebp - 0x5c]
push 0
push eax
call fcn.0050402d
pop ecx
pop ecx
push 0
cmp eax, esi
push edi
lea ecx, [ebp - 0x290]
setne bl
mov byte [ebp - 4], 3
call fcn.00402c50
test bl, bl
je 0x46323a
mov esi, 0x222
cmp dword [0x5b21c0], esi
jne 0x4631ff
lea eax, [ebp - 0x264]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push edi
push 2
lea ecx, [ebp - 0x314]
call fcn.00404a20
mov eax, 0x572a6c
push eax
push 0x576f74
push 0x572a4c
push eax
push 0x572a48
push esi
push 0x572a40
push dword [ebp - 0x258]
mov eax, 0x572a3c
push eax
push dword [ebp - 0x25a]
mov edx, 0x572a38
push eax
push dword [ebp - 0x25c]
mov ecx, 0x572a34
push edx
push dword [ebp - 0x25e]
mov byte [ebp - 4], 0xe
push ecx
push dword [ebp - 0x262]
push ecx
push dword [ebp - 0x264]
push edx
push 0x342
push eax
push 0x5c
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x274], esp
push str..PatchXml.cpp
call fcn.00405500
lea eax, [ebp - 0x290]
push eax
call fcn.00407150
add esp, 0x24
cmp dword [eax + 0x18], 0x10
mov byte [ebp - 4], 0xf
jb 0x4630fd
mov eax, dword [eax + 4]
jmp 0x463100
add eax, 4
push eax
lea eax, [ebp - 0x314]
push 0x572a0c
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.004040c0
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.004040c0
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
mov byte [ebp - 4], 0xe
push 0
push edi
lea ecx, [ebp - 0x290]
call fcn.00402c50
lea eax, [ebp - 0x314]
push eax
call fcn.00407930
pop ecx
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 4], 3
call fcn.004028d0
lea ecx, [ebp - 0x2c8]
mov dword [ebp - 0x2c8], 0x572840
call fcn.0054dfcb
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x394]
call fcn.00407320
cmp dword [eax + 0x18], 0x10
jb 0x46321c
mov eax, dword [eax + 4]
jmp 0x46321f
add eax, 4
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
xor esi, esi
push esi
push edi
lea ecx, [ebp - 0x290]
call fcn.00402c50
jmp 0x462d68
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0x10
call fcn.0050e270
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x394]
mov byte [ebp - 4], 0x11
call fcn.00407320
cmp dword [eax + 0x18], 0x10
mov byte [ebp - 4], 0x12
jb 0x46326e
mov eax, dword [eax + 4]
jmp 0x463271
add eax, 4
xor esi, esi
push esi
push esi
push eax
lea ecx, [ebp - 0x250]
call fcn.0050dde0
push esi
push edi
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 0x11
call fcn.00402c50
mov dword [ebp - 0x254], esi
mov ebx, dword [ebp - 0x254]
cmp ebx, dword [ebp - 0x140]
jge 0x463528
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x414]
call fcn.00407320
cmp dword [eax + 0x18], 0x10
mov byte [ebp - 4], 0x13
jb 0x4632cb
mov eax, dword [eax + 4]
jmp 0x4632ce
add eax, 4
push 0x10000
push esi
push edi
push eax
push ebx
lea ecx, [ebp - 0x250]
call fcn.0050f2b0
push esi
test al, al
push edi
lea ecx, [ebp - 0x290]
sete bl
mov byte [ebp - 4], 0x11
call fcn.00402c50
test bl, bl
je 0x46351d
mov esi, 0x222
cmp dword [0x5b21c0], esi
jne 0x4634c2
lea eax, [ebp - 0x264]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push edi
push 2
lea ecx, [ebp - 0x314]
call fcn.00404a20
mov eax, 0x572a6c
push eax
push 0x576f64
push 0x572a4c
push eax
push 0x572a48
push esi
push 0x572a40
push dword [ebp - 0x258]
mov eax, 0x572a3c
push eax
push dword [ebp - 0x25a]
mov edx, 0x572a38
push eax
push dword [ebp - 0x25c]
mov ecx, 0x572a34
push edx
push dword [ebp - 0x25e]
mov byte [ebp - 4], 0x14
push ecx
push dword [ebp - 0x262]
push ecx
push dword [ebp - 0x264]
push edx
push 0x351
push eax
push 0x5c
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x274], esp
push str..PatchXml.cpp
call fcn.00405500
lea eax, [ebp - 0x290]
push eax
call fcn.00407150
add esp, 0x24
cmp dword [eax + 0x18], 0x10
mov byte [ebp - 4], 0x15
jb 0x4633c0
mov esi, dword [eax + 4]
jmp 0x4633c3
lea esi, [eax + 4]
lea eax, [ebp - 0x314]
push 0x572a0c
push eax
call fcn.00403980
pop ecx
pop ecx
push esi
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.004040c0
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.00403f50
push eax
call fcn.00403980
pop ecx
pop ecx
mov ecx, eax
call fcn.004040c0
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
push eax
call fcn.00403980
pop ecx
pop ecx
mov byte [ebp - 4], 0x14
push 0
push edi
lea ecx, [ebp - 0x290]
call fcn.00402c50
lea eax, [ebp - 0x314]
push eax
call fcn.00407930
pop ecx
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 4], 0x11
call fcn.004028d0
lea ecx, [ebp - 0x2c8]
mov dword [ebp - 0x2c8], 0x572840
call fcn.0054dfcb
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0x10
call fcn.0050dce0
lea ecx, [ebp - 0x348]
mov byte [ebp - 4], 2
call fcn.004028d0
mov esi, 0x572840
lea ecx, [ebp - 0x348]
mov dword [ebp - 0x348], esi
call fcn.0054dfcb
lea ecx, [ebp - 0x3c8]
mov byte [ebp - 4], 1
call fcn.004028d0
lea ecx, [ebp - 0x3c8]
mov dword [ebp - 0x3c8], esi
call fcn.0054dfcb
xor esi, esi
jmp 0x462dad
inc dword [ebp - 0x254]
jmp 0x463298
push dword [ebp - 0x5c]
mov ecx, dword [0x5b096c]
call fcn.00461232
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0x10
call fcn.0050dce0
mov dword [ebp - 4], 3
jmp 0x462b9d