Function at 0x429a20
Capabilities:
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ea688
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x66c488]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov ecx, dword [edi + 0x11c]
call fcn.0054d9c0
sub eax, 3
je 0x429b58
sub eax, 1
jne 0x429d51
mov eax, dword [edi + 0x11c]
push dword [edi + 0x260]
mov esi, dword [eax + 0x20]
call fcn.0042d340
push esi
push dword [eax]
push str.http_req_failed___s:_s_
push 0x674ec4
call fcn.00414540
push str.__detail_begin
push 0x674ec4
call fcn.00414540
mov eax, dword [edi + 0x11c]
push dword [eax + 0x27c]
push 0x674ec4
call fcn.00414540
push str.__detail_end
push 0x674ec4
call fcn.00414540
add esp, 0x2c
mov ecx, edi
push 0x36ee80
call fcn.0042cb00
test eax, eax
jne 0x429d51
push dword [edi + 0x260]
call fcn.0042d340
push 0
push 0x8200000e
push dword [eax]
push str.launcher_error_:__s___0x_p____d
push 0x674ec4
call fcn.00414540
mov eax, dword [edi + 0x260]
add esp, 0x18
mov dword [edi + 0x268], eax
mov eax, dword [edi + 0x3c4]
mov dword [edi + 0x260], 0x10
mov dword [edi + 0x26c], 0x8200000e
mov dword [edi + 0x270], 0
test eax, eax
je 0x429d51
push dword [edi + 0x3c8]
push 0x8200000e
call eax
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x18
mov ecx, 0x674ee8
call fcn.00423030
mov edx, eax
test edx, edx
jne 0x429b6e
xor ecx, ecx
jmp 0x429b7c
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x429b73
sub ecx, esi
push ecx
push edx
lea ecx, [edi + 0x3bc]
call fcn.0040aa90
push 0x18
mov ecx, 0x674ee8
call fcn.00423140
mov edx, eax
test edx, edx
jne 0x429b9f
xor ecx, ecx
jmp 0x429bb3
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x429ba4
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [edi + 0x3c0]
call fcn.0040ecf0
call fcn.0046d771
mov ecx, eax
test ecx, ecx
jne 0x429bd5
push 0x80004005
call fcn.0040aa40
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
lea eax, [edi + 0x12c]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.0040c220
add esp, 8
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 1
call fcn.0040a040
mov edx, dword [ebp - 0x14]
or ebx, 0xffffffff
mov byte [ebp - 4], 0
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x429c28
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 4
push str..zip
lea ecx, [ebp - 0x10]
call fcn.00409f40
mov esi, dword [ebp - 0x10]
push 0
push 0x63e7b0
push esi
call fcn.0046ab10
add esp, 0xc
push esi
test al, al
jne 0x429c62
push 0
push 0x82000019
mov ecx, edi
call fcn.0042d010
jmp 0x429d35
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [edi + 0x12c]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.0040c220
add esp, 8
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 2
call fcn.0040a040
mov edx, dword [ebp - 0x14]
mov eax, ebx
mov byte [ebp - 4], 0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x429ca6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x10]
push str.FileList.dat
push esi
call dword [sym.imp.KERNEL32.dll_MoveFileA]
cmp dword [edi + 0x3d8], 1
mov ecx, edi
jne 0x429cc7
call fcn.00427930
jmp 0x429d35
call fcn.004280c0
test eax, eax
je 0x429cf6
push 0
push 0
push eax
mov ecx, edi
call fcn.0042d010
lea ecx, [ebp - 0x10]
call fcn.0040a3e0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x360], 0
je 0x429d1e
mov eax, dword [edi + 0x224]
lea ecx, [edi + 0x22c]
add eax, 0x18
cmp ecx, eax
je 0x429d2c
mov eax, dword [eax]
push eax
push dword [eax]
call fcn.00425b00
jmp 0x429d2c
lea eax, [edi + 0x22c]
mov ecx, edi
push eax
call fcn.00428070
push 8
mov ecx, edi
call fcn.0042d1d0
add esi, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lock xadd dword [esi + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x429d51
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
pop ebx
mov esp, ebp
pop ebp
ret