Function at 0x402eb0
Capabilities:
Delete file

Disassembly:
push 0xffffffffffffffff
push 0x429dd1
mov eax, dword fs:[0]
push eax
sub esp, 0xa28
mov eax, dword [0x434cd0]
xor eax, esp
mov dword [esp + 0xa24], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x434cd0]
xor eax, esp
push eax
lea eax, [esp + 0xa3c]
mov dword fs:[0], eax
mov esi, ecx
lea ecx, [esp + 0x17]
call fcn.00403650
lea ecx, [esp + 0x16]
mov dword [esp + 0xa44], 0
call fcn.00401000
push 0x802
lea eax, [esp + 0x238]
push 0
push eax
mov byte [esp + 0xa50], 1
call fcn.00410ff0
xor eax, eax
add esp, 0xc
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
cmp dword [esi + 0x14], eax
jne 0x402f78
push 0x40
push str.Self_Extraction
push 0x6a
push eax
mov ecx, esi
call fcn.00402040
lea ecx, [esp + 0x16]
mov byte [esp + 0xa44], 0
call fcn.00401020
lea ecx, [esp + 0x17]
mov dword [esp + 0xa44], 0xffffffff
call fcn.00403660
mov eax, 0x23f
jmp 0x403267
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x20]
test eax, eax
ja 0x402ff0
jb 0x402f88
test ecx, ecx
ja 0x402ff0
push 0x10
push str.Self_Extraction
push 0x6b
push 0
mov ecx, esi
call fcn.00402040
push 0x400
lea ecx, [esp + 0x238]
push ecx
push 0x6b
mov ecx, esi
call fcn.00401700
lea edx, [esp + 0x234]
push edx
push esi
call fcn.00405100
add esp, 8
lea ecx, [esp + 0x16]
mov byte [esp + 0xa44], 0
call fcn.00401020
lea ecx, [esp + 0x17]
mov dword [esp + 0xa44], 0xffffffff
call fcn.00403660
mov eax, 0xd
jmp 0x403267
push eax
push ecx
push str.Data_file_size:__d_bytes_n
call fcn.00411812
mov ecx, dword [esi + 0x18]
add esp, 0xc
lea eax, [esp + 0x18]
push eax
push 0x14
push ecx
lea ebx, [esi + 0x232]
push ebx
lea ecx, [esp + 0x26]
call fcn.00401060
test eax, eax
jne 0x403052
push 0x10
push str.Self_Extraction
push 0x6e
push eax
mov ecx, esi
call fcn.00402040
push 0x400
lea edx, [esp + 0x238]
push edx
push 0x6e
mov ecx, esi
call fcn.00401700
lea eax, [esp + 0x234]
push eax
jmp 0x402fb8
mov edi, dword [esp + 0x1e]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1a]
push edi
push ebp
push ecx
mov ecx, esi
call fcn.004019b0
cmp eax, 1
jne 0x4030b3
mov edx, dword [esp + 0x1a]
push edi
push ebp
push edx
mov ecx, esi
call fcn.004020d0
test eax, eax
jne 0x4030b3
push 0x10
push str.Self_Extraction
push 0x6e
push eax
mov ecx, esi
call fcn.00402040
push 0x400
lea eax, [esp + 0x238]
push eax
push 0x6e
mov ecx, esi
call fcn.00401700
lea ecx, [esp + 0x234]
push ecx
jmp 0x402fb8
lea edi, [esi + 0x43c]
push edi
lea ecx, [esp + 0x1b]
call fcn.00403cc0
lea ebp, [esi + 0x646]
push ebp
lea ecx, [esp + 0x1b]
call fcn.00403cc0
push str.__self_extraction_start___data_file._n
call fcn.00411812
mov edx, dword [esi + 0x18]
add esp, 4
push edi
push 0x14
push edx
push ebx
lea ecx, [esp + 0x26]
call fcn.004011a0
test eax, eax
jne 0x403129
push 0x10
push str.Self_Extraction
push 0x6c
push eax
mov ecx, esi
call fcn.00402040
push 0x400
lea eax, [esp + 0x238]
push eax
push 0x6c
mov ecx, esi
call fcn.00401700
lea ecx, [esp + 0x234]
push ecx
jmp 0x402fb8
push str.__self_extraction_end___data_file._n
call fcn.00411812
push str.__decompression_start._n
call fcn.00411812
add esp, 8
push ebp
lea ecx, [esp + 0x1a]
call fcn.00401040
push edi
lea ecx, [esp + 0x1a]
call fcn.00401520
test eax, eax
je 0x40315c
xor ebx, ebx
jmp 0x40319a
push 0x10
push str.Self_Extraction
push 0x6c
push 0
mov ecx, esi
call fcn.00402040
push 0x400
lea edx, [esp + 0x238]
push edx
push 0x6c
mov ecx, esi
call fcn.00401700
lea eax, [esp + 0x234]
push eax
push esi
call fcn.00405100
add esp, 8
mov ebx, 6
push str.__decompression_end._n
call fcn.00411812
add esp, 4
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test ebx, ebx
je 0x4031de
lea ecx, [esp + 0x16]
mov byte [esp + 0xa44], 0
call fcn.00401020
lea ecx, [esp + 0x17]
mov dword [esp + 0xa44], 0xffffffff
call fcn.00403660
mov eax, ebx
jmp 0x403267
push 0x20a
lea ecx, [esp + 0x2c]
push 0
push ecx
call fcn.00410ff0
add esp, 0xc
push 0x42b618
lea ecx, [esp + 0x28]
call fcn.004028e0
push 0x104
lea edx, [esp + 0x2c]
push edx
mov ecx, esi
mov byte [esp + 0xa4c], 2
call fcn.004018d0
push 0x42b8d8
push esi
call fcn.00405210
add esp, 8
push 0
push 0
lea eax, [esp + 0x30]
push eax
mov ecx, esi
call fcn.00402c80
lea ecx, [esp + 0x24]
call fcn.00403ef0
lea ecx, [esp + 0x16]
mov byte [esp + 0xa44], 0
call fcn.00401020
lea ecx, [esp + 0x17]
mov dword [esp + 0xa44], 0xffffffff
call fcn.00403660
xor eax, eax
mov ecx, dword [esp + 0xa3c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xa24]
xor ecx, esp
call fcn.0041161f
add esp, 0xa34
ret