Function at 0x401398
Capabilities:
Check for time delay via gettickcount
Encode data using xor

Disassembly:
jmp 0x408c60
sub esp, 0x804
push ebx
push esi
push 0x427e10
xor ebx, ebx
push 0x431120
mov dword [esp + 0x10], 1
mov dword [0x431348], ebx
call fcn.00416d0b
add esp, 8
cmp eax, ebx
mov dword [0x431224], eax
je 0x40932a
call fcn.0040131b
test eax, eax
jne 0x408d0f
cmp dword [0x42b458], ebx
je 0x408cf0
push 0x4281ec
push 0x42c8a0
call fcn.00416d0b
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x408cf0
push str.Not_a_RAR_File.
push str.C:_WORK___FINAL_STAGE_DEMOS1_AssCancer__VC6_fileurarlib.c
push 0x385
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x42c9d4]
push eax
push str.__8u_ms__Line:__u_In_File:__s_:_n_________________s_n
push esi
call fcn.0041706b
push esi
call fcn.00416b8b
add esp, 0x1c
mov eax, dword [0x431224]
push eax
call fcn.00416b8b
add esp, 4
pop esi
mov dword [0x431224], ebx
xor eax, eax
pop ebx
add esp, 0x804
ret
push 0x100000
call fcn.0041709d
add esp, 4
cmp eax, ebx
mov dword [0x42c9b4], eax
jne 0x408d61
cmp dword [0x42b458], ebx
je 0x40937a
push 0x4281ec
push 0x42c8a0
call fcn.00416d0b
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x40937a
push str.Cant_Allocate_Memory_For_Decompression_
push str.C:_WORK___FINAL_STAGE_DEMOS1_AssCancer__VC6_fileurarlib.c
push 0x394
jmp 0x409359
mov edx, dword [0x42c9c4]
xor ecx, ecx
mov cx, word [0x4309f6]
push ebp
push edi
push 1
sub ecx, edx
mov edx, dword [0x431224]
push ecx
push edx
call fcn.00416fb0
push 0x8074
call fcn.00401334
add esp, 0x10
test eax, eax
jle 0x4092eb
mov ebp, dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp byte [0x430a22], 0x77
je 0x4091f9
push 0x200
lea eax, [esp + 0x218]
push 0x431240
push eax
call fcn.004172c0
push 0x200
lea ecx, [esp + 0x24]
push 0x430fe0
push ecx
call fcn.004172c0
lea edx, [esp + 0x22c]
push 0x5c
push edx
call fcn.00417200
add esp, 0x20
cmp eax, ebx
je 0x408e05
mov byte [eax], 0x5f
lea eax, [esp + 0x214]
push 0x5c
push eax
call fcn.00417200
add esp, 8
cmp eax, ebx
jne 0x408dec
lea ecx, [esp + 0x14]
push 0x5c
push ecx
call fcn.00417200
add esp, 8
cmp eax, ebx
je 0x408e2e
lea edx, [esp + 0x14]
push 0x5c
push edx
mov byte [eax], 0x5f
call fcn.00417200
add esp, 8
cmp eax, ebx
jne 0x408e18
lea eax, [esp + 0x214]
push 0x2f
push eax
call fcn.00417200
add esp, 8
cmp eax, ebx
je 0x408e5d
lea ecx, [esp + 0x214]
push 0x2f
push ecx
mov byte [eax], 0x5f
call fcn.00417200
add esp, 8
cmp eax, ebx
jne 0x408e44
lea edx, [esp + 0x14]
push 0x2f
push edx
call fcn.00417200
add esp, 8
cmp eax, ebx
je 0x408e86
mov byte [eax], 0x5f
lea eax, [esp + 0x14]
push 0x2f
push eax
call fcn.00417200
add esp, 8
cmp eax, ebx
jne 0x408e70
mov al, byte [esp + 0x14]
cmp al, bl
lea esi, [esp + 0x14]
je 0x408ea8
movsx ecx, al
push ecx
call fcn.00417119
add esp, 4
mov byte [esi], al
mov al, byte [esi + 1]
inc esi
cmp al, bl
jne 0x408e92
lea edx, [esp + 0x214]
push edx
lea esi, [esp + 0x18]
call fcn.0040137f
add esp, 4
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x408ee0
cmp cl, bl
je 0x408edc
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x408ee0
add eax, 2
add esi, 2
cmp cl, bl
jne 0x408ebc
xor eax, eax
jmp 0x408ee5
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
cmp eax, ebx
sete cl
mov eax, ecx
cmp eax, 1
mov dword [0x431348], eax
jne 0x408f25
mov edx, dword [0x4309cc]
push edx
call fcn.0041709d
mov dword [0x42c9a0], eax
mov eax, dword [0x430a08]
mov dword [eax], ebx
mov eax, dword [0x42c9a0]
add esp, 4
cmp eax, ebx
je 0x409235
mov eax, dword [0x431348]
test byte [0x4309f4], 8
jne 0x408f36
cmp eax, ebx
je 0x40908b
mov ecx, dword [0x4309dc]
cmp cl, 0xd
jb 0x40929f
cmp cl, 0x14
ja 0x40929f
cmp byte [0x42b880], bl
mov dword [0x430e44], ebx
mov dword [0x430a00], ebx
je 0x409023
test byte [0x4309c4], 4
je 0x409023
mov eax, ecx
and eax, 0xff
cmp eax, ebx
mov dword [0x42c9c0], eax
je 0x408f96
push 0x42b880
call fcn.00401271
mov ecx, dword [0x4309dc]
add esp, 4
cmp ch, 0x30
mov edx, dword [0x4309c8]
mov eax, dword [0x4309cc]
mov dword [0x430fd4], edx
mov dword [0x42e9e0], eax
jne 0x40902e
push eax
mov eax, dword [0x42c9a0]
push eax
call fcn.00401203
mov ecx, dword [0x430a08]
mov dword [ecx], eax
mov edx, dword [0x430a08]
mov eax, dword [edx]
add esp, 8
cmp eax, 0xffffffff
jne 0x40903c
cmp dword [0x42b458], ebx
je 0x40903c
push 0x4281ec
push 0x42c8a0
call fcn.00416d0b
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x40903c
push str.Read_Error_of_Stored_File_
push str.C:_WORK___FINAL_STAGE_DEMOS1_AssCancer__VC6_fileurarlib.c
push 0x4ac
call ebp
sub eax, dword [0x42c9d4]
push eax
push str.__8u_ms__Line:__u_In_File:__s_:_n_________________s_n
push esi
call fcn.0041706b
push esi
call fcn.00416b8b
add esp, 0x1c
jmp 0x40903c
mov dword [0x42c9c0], ebx
jmp 0x408f96
mov eax, dword [0x42c9b4]
push eax
call fcn.004010e6
add esp, 4
mov edi, dword [0x42c9a0]
cmp edi, ebx
je 0x40908b
mov esi, dword [0x4309cc]
or eax, 0xffffffff
xor ecx, ecx
cmp esi, ebx
jbe 0x40907b
xor edx, edx
mov dl, byte [edi + ecx]
mov ebp, eax
and ebp, 0xff
shr eax, 8
xor edx, ebp
mov edx, dword [edx*4 + 0x42f180]
xor eax, edx
inc ecx
cmp ecx, esi
jb 0x409055
mov ebp, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x4309d4]
not eax
cmp ecx, eax
jne 0x40926e
mov eax, dword [0x431224]
cmp eax, ebx
je 0x4090a5
mov ecx, dword [0x42ec28]
push ebx
push ecx
push eax
call fcn.00416fb0
add esp, 0xc
push 0x200
lea edx, [esp + 0x618]
push 0x431240
push edx
call fcn.004172c0
push 0x200
lea eax, [esp + 0x424]
push 0x430fe0
push eax
call fcn.004172c0
lea ecx, [esp + 0x62c]
push 0x5c
push ecx
call fcn.00417200
add esp, 0x20
cmp eax, ebx
je 0x409102
lea edx, [esp + 0x614]
push 0x5c
push edx
mov byte [eax], 0x5f
call fcn.00417200
add esp, 8
cmp eax, ebx
jne 0x4090e9
lea eax, [esp + 0x414]
push 0x5c
push eax
call fcn.00417200
add esp, 8
cmp eax, ebx
je 0x409131
lea ecx, [esp + 0x414]
push 0x5c
push ecx
mov byte [eax], 0x5f
call fcn.00417200
add esp, 8
cmp eax, ebx
jne 0x409118
lea edx, [esp + 0x614]
push 0x2f
push edx
call fcn.00417200
add esp, 8
cmp eax, ebx
je 0x409160
mov byte [eax], 0x5f
lea eax, [esp + 0x614]
push 0x2f
push eax
call fcn.00417200
add esp, 8
cmp eax, ebx
jne 0x409147
lea ecx, [esp + 0x414]
push 0x2f
push ecx
call fcn.00417200
add esp, 8
cmp eax, ebx
je 0x40918f
lea edx, [esp + 0x414]
push 0x2f
push edx
mov byte [eax], 0x5f
call fcn.00417200
add esp, 8
cmp eax, ebx
jne 0x409176
lea eax, [esp + 0x414]
push eax
call fcn.0040137f
lea ecx, [esp + 0x618]
push ecx
mov esi, eax
call fcn.0040137f
add esp, 8
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4091d2
cmp cl, bl
je 0x4091ce
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4091d2
add eax, 2
add esi, 2
cmp cl, bl
jne 0x4091ae
xor eax, eax
jmp 0x4091d7
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4092ef
push 0x8074
call fcn.00401334
add esp, 4
test eax, eax
jg 0x408d9e
jmp 0x4092eb
cmp dword [0x42b458], ebx
je 0x4092eb
push 0x4281ec
push 0x42c8a0
call fcn.00416d0b
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x4092eb
push str.Sorry__Sub_Headers_Not_Supported.
push str.C:_WORK___FINAL_STAGE_DEMOS1_AssCancer__VC6_fileurarlib.c
push 0x3b1
jmp 0x4092ce
cmp dword [0x42b458], ebx
je 0x4092eb
push 0x4281ec
push 0x42c8a0
call fcn.00416d0b
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x4092eb
push str.Cant_Allocate_Memory_For_The_File_Decompression.
push str.C:_WORK___FINAL_STAGE_DEMOS1_AssCancer__VC6_fileurarlib.c
push 0x3c2
jmp 0x4092ce
cmp dword [0x42b458], ebx
je 0x4092eb
push 0x4281ec
push 0x42c8a0
call fcn.00416d0b
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x4092eb
push str.CRC32_ERRoR____File_Couldnt_Be_Decompressed_Correctly_
push str.C:_WORK___FINAL_STAGE_DEMOS1_AssCancer__VC6_fileurarlib.c
push 0x3f3
jmp 0x4092ce
cmp dword [0x42b458], ebx
je 0x4092eb
push 0x4281ec
push 0x42c8a0
call fcn.00416d0b
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x4092eb
push str.Unknown_Compression_Method.
push str.C:_WORK___FINAL_STAGE_DEMOS1_AssCancer__VC6_fileurarlib.c
push 0x3d3
call ebp
sub eax, dword [0x42c9d4]
push eax
push str.__8u_ms__Line:__u_In_File:__s_:_n_________________s_n
push esi
call fcn.0041706b
push esi
call fcn.00416b8b
add esp, 0x1c
mov dword [esp + 0x10], ebx
mov eax, dword [0x42c9b4]
push eax
call fcn.0041703c
mov eax, dword [0x431224]
add esp, 4
cmp eax, ebx
pop edi
mov dword [0x42c9b4], ebx
pop ebp
je 0x40931d
push eax
call fcn.00416b8b
add esp, 4
mov dword [0x431224], ebx
mov eax, dword [esp + 8]
pop esi
pop ebx
add esp, 0x804
ret
cmp dword [0x42b458], ebx
je 0x40937a
push 0x4281ec
push 0x42c8a0
call fcn.00416d0b
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x40937a
push str.Error_Opening_File.
push str.C:_WORK___FINAL_STAGE_DEMOS1_AssCancer__VC6_fileurarlib.c
push 0x38c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x42c9d4]
push eax
push str.__8u_ms__Line:__u_In_File:__s_:_n_________________s_n
push esi
call fcn.0041706b
push esi
call fcn.00416b8b
add esp, 0x1c
pop esi
xor eax, eax
pop ebx
add esp, 0x804
ret