Function at 0x40815c
Capabilities:
Delete file
Terminate process

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xcc
mov eax, dword [0x418074]
xor eax, esp
mov dword [esp + 0xc8], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
push 0x4019bc
push 0x4019d0
call dword [sym.imp.msvcrt.dll_printf]
push 1
call fcn.00417c69
add esp, 0xc
push eax
call dword [sym.imp.msvcrt.dll_fflush]
mov dword [esp], 0x418080
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [0x418090], 2
jne 0x408d01
push 4
pop ebx
cmp dword [0x418084], ebx
jb 0x408d01
push 1
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
push 0x418e20
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 1
push 0x4125e0
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
push 0x418de0
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov dword [0x418e00], eax
call fcn.00412b65
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x10]
push 0x419f90
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
add dword [0x419f90], 0x2a69c000
mov edx, edi
mov esi, dword [ebp + 8]
mov ecx, esi
adc dword [0x419f94], 0xc9
xor eax, eax
mov dword [0x419d60], eax
mov dword [0x419d64], eax
mov dword [0x419ee4], eax
call fcn.0040cb76
cmp dword [0x419ef0], 0
je 0x40826a
call dword [sym.imp.KERNEL32.dll_SetFileApisToANSI]
jmp 0x408270
call dword [sym.imp.KERNEL32.dll_SetFileApisToOEM]
cmp dword [0x419f04], 0
je 0x40829a
xor ecx, ecx
xor eax, eax
mov byte [0x419cdf], cl
mov word [0x418d80], ax
mov dword [0x419ce0], ecx
mov dword [0x419ce4], ecx
jmp 0x408334
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
sub eax, 0
je 0x4082d7
sub eax, 1
je 0x4082cd
sub eax, 1
je 0x4082c0
push 0x4011a8
push 0xffffffffffffffff
call fcn.00412682
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0xc8]
jmp 0x4082db
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0x74]
jmp 0x4082db
mov eax, dword [esp + 0x20]
mov ecx, eax
cdq
neg ecx
push 0xfffffffffffffff1
mov word [0x418d80], cx
pop ecx
idiv ecx
mov byte [0x419cdf], al
cmp al, 0xd0
jl 0x4082f9
cmp al, 0x34
jle 0x408302
mov byte [0x419cdf], 0
xor al, al
push 2
movsx eax, al
cdq
push 0x18711a00
push edx
push eax
call fcn.00417c90
cmp dword [0x419ec0], 0
mov dword [0x419ce0], eax
mov dword [0x419ce4], edx
je 0x408334
sub dword [0x419f90], eax
sbb dword [0x419f94], edx
push dword [0x419f94]
mov ecx, 0x419cd8
push dword [0x419f90]
call fcn.0040ca3f
push dword [0x419f94]
mov ecx, 0x418d90
push dword [0x419f90]
call fcn.0041362f
push dword [0x419f94]
push dword [0x419f90]
call fcn.0040cab9
xor ecx, ecx
inc ecx
cmp esi, ecx
jle 0x4083b4
cmp dword [edi + ecx*4], 0
jne 0x408383
inc ecx
cmp ecx, esi
jl 0x408378
cmp ecx, esi
jge 0x4083b4
mov eax, dword [edi + ecx*4]
inc ecx
mov dword [0x4196a0], eax
cmp ecx, esi
jge 0x4083bb
cmp dword [edi + ecx*4], 0
jne 0x40839f
inc ecx
cmp ecx, esi
jl 0x408394
cmp ecx, esi
jge 0x4083bb
cmp dword [0x419f1c], 0
mov eax, dword [edi + ecx*4]
mov dword [0x4196a4], eax
je 0x4083c4
xor ecx, ecx
call fcn.0040d9ff
cmp dword [0x419f1c], 0
je 0x4083b4
cmp dword [0x419ecc], 0
je 0x4083d9
cmp dword [0x419ed0], 0
jne 0x4083d9
push 5
pop ebx
mov ecx, ebx
call fcn.004133c0
cmp dword [0x419f1c], 0
mov dword [0x418560], 0x2000000
jne 0x408425
push dword [0x4196a4]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x408425
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 3
je 0x408425
cmp eax, 2
je 0x408425
push dword [0x4196a4]
push 0x4026c4
push 0xffffffffffffffff
call fcn.00412682
push 0x4011d8
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
push 1
call fcn.00417c69
pop ecx
push eax
call dword [sym.imp.msvcrt.dll_fflush]
and dword [0x419d34], 0
mov eax, 0x1f4
and dword [0x419d3c], 0
pop ecx
mov dword [0x419d30], eax
mov dword [0x419d38], eax
call fcn.00408ff7
push dword [0x419d2c]
push dword [0x419d28]
push dword [0x419d24]
push dword [0x419d20]
push 0x4011f0
call dword [sym.imp.msvcrt.dll_printf]
add esp, 0x14
push 1
call fcn.00417c69
pop ecx
push eax
call dword [sym.imp.msvcrt.dll_fflush]
mov dword [esp], 0x401238
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
push 1
call fcn.00417c69
pop ecx
push eax
call dword [sym.imp.msvcrt.dll_fflush]
pop ecx
mov ecx, dword [0x418e80]
xor edx, edx
call fcn.0040926c
call fcn.0040979a
cmp dword [0x419f08], 0
je 0x4084df
push 0
push 1
call fcn.00411c0f
mov dword [0x419e90], eax
cmp dword [0x419f50], 0
jne 0x408522
cmp dword [0x419efc], 0
je 0x40850d
cmp dword [0x419f00], 0
je 0x408501
call fcn.004100c0
jmp 0x408506
call fcn.0041003d
call fcn.0040efce
jmp 0x408530
cmp dword [0x419f4c], 0
je 0x40851b
call fcn.004100c0
call fcn.004092d5
jmp 0x408535
cmp dword [0x418124], 0
je 0x408535
call fcn.0041003d
call fcn.00409657
call fcn.004097e4
mov esi, dword [0x419f4c]
test esi, esi
je 0x4085d5
cmp dword [0x419f68], 0
je 0x408590
mov ecx, dword [0x419f74]
mov eax, 0x102
mov word [0x4185a8], ax
call fcn.0040ad4f
mov ecx, dword [0x419f78]
mov dword [0x419f80], eax
call fcn.0040ad4f
push 0x40125c
mov dword [0x419f84], eax
call dword [sym.imp.msvcrt.dll_printf]
mov esi, dword [0x419f4c]
pop ecx
jmp 0x4085a5
cmp word [0x4185a8], 0
jne 0x4085a5
mov eax, 0x150
mov word [0x4185a8], ax
mov ecx, dword [0x418554]
mov eax, 0x100
cmp ecx, eax
jae 0x4085cb
sub eax, ecx
mov dword [0x418550], ecx
mov dword [0x41854c], eax
mov dword [0x418554], 0x101
call fcn.00414e4d
call fcn.00414ee9
cmp dword [0x419f08], 0
je 0x408605
mov ebx, dword [0x419e98]
test ebx, ebx
je 0x408605
mov edi, dword [0x419e94]
add edi, 0x10
push 0
push dword [edi - 8]
call fcn.00411c0f
mov dword [edi], eax
lea edi, [edi + 0x14]
sub ebx, 1
jne 0x4085f1
cmp dword [0x419f0c], 0
je 0x40861f
test esi, esi
jne 0x40861f
push esi
push 1
call fcn.00411c0f
mov dword [0x419e9c], eax
call fcn.004099be
test esi, esi
je 0x40862d
call fcn.00414fd8
push 0x401294
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
push 1
call fcn.00417c69
pop ecx
push eax
call dword [sym.imp.msvcrt.dll_fflush]
cmp dword [0x419ecc], 0
mov eax, 0x4012c0
pop ecx
jne 0x40865c
mov eax, 0x401120
cmp dword [0x419f1c], 0
mov ebx, 0x4012d8
mov ecx, ebx
jne 0x408671
mov ecx, 0x4012e4
push eax
push dword [0x419d04]
push dword [0x419d00]
push ecx
push 0x4012e8
call dword [sym.imp.msvcrt.dll_printf]
add esp, 0x14
push 1
call fcn.00417c69
pop ecx
push eax
call dword [sym.imp.msvcrt.dll_fflush]
cmp dword [0x419f4c], 0
mov edx, dword [0x419d60]
mov eax, edx
mov edi, dword [0x419ecc]
pop ecx
mov ecx, dword [0x419d64]
jne 0x4086db
or eax, ecx
jne 0x4086e9
cmp dword [0x419ee4], eax
jne 0x408722
mov edx, 0x28a64000
xor ecx, ecx
mov dword [0x419d60], edx
mov dword [0x419d64], ecx
jmp 0x4086e9
or eax, ecx
mov dword [0x419ee4], 1
je 0x408722
and dword [0x419ee4], 0
test edi, edi
jne 0x408722
mov esi, dword [0x419d04]
cmp esi, ecx
jb 0x408722
mov eax, dword [0x419d00]
ja 0x408709
cmp eax, edx
jbe 0x408722
push 0x40130c
push ecx
sub eax, edx
push edx
sbb esi, ecx
push esi
push eax
push 0x401330
push 0
call fcn.00412682
cmp dword [0x419f1c], 0
je 0x408746
test edi, edi
jne 0x408746
push 0x401378
call dword [sym.imp.msvcrt.dll_printf]
mov dword [esp], 0x4013a8
jmp 0x408cd4
call fcn.00408d4a
cmp dword [0x419f1c], 0
je 0x40877c
push dword [0x419d2c]
push dword [0x419d28]
push dword [0x419d24]
push dword [0x419d20]
push 0x4013b0
call dword [sym.imp.msvcrt.dll_printf]
add esp, 0x14
jmp 0x4087a8
push dword [0x4196a4]
push dword [0x419d2c]
push dword [0x419d28]
push dword [0x419d24]
push dword [0x419d20]
push 0x4013e0
call dword [sym.imp.msvcrt.dll_printf]
add esp, 0x18
push 0x401414
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
push 1
call fcn.00417c69
pop ecx
push eax
call dword [sym.imp.msvcrt.dll_fflush]
cmp dword [0x419ecc], 0
pop ecx
je 0x4087ee
cmp dword [0x419f1c], 0
jne 0x4087ee
mov edx, dword [0x419ed0]
neg edx
sbb edx, edx
and edx, 0xffd00000
add edx, 0x600000
jmp 0x4087f0
xor edx, edx
mov dword [0x41855c], edx
add edx, 0x200000
push ecx
call fcn.00412509
mov dword [0x418560], eax
sub eax, dword [0x41855c]
mov dword [0x418558], eax
call fcn.0040b007
push 0x10
pop edi
mov edx, edi
xor ecx, ecx
call fcn.00411ca7
cmp dword [0x418124], 0
je 0x408834
call fcn.0040f2e9
push 0x11
pop edi
cmp dword [0x419f08], 0
je 0x408845
mov ecx, edi
call 0x40f714
inc edi
cmp dword [0x419efc], 0
je 0x408856
mov ecx, edi
call 0x40f4f1
inc edi
cmp dword [0x418124], 0
je 0x408867
mov ecx, edi
call fcn.0040f79d
inc edi
cmp dword [0x419f4c], 0
je 0x4088f8
xor edx, edx
mov ecx, 0x800
inc edx
call fcn.004122d8
mov esi, eax
mov eax, edi
mov byte [esi], 0
mov ecx, dword [0x407094]
mov dword [esi + 1], ecx
mov cl, byte [0x407098]
mov byte [esi + 5], cl
mov ecx, 0x800
mul ecx
mov byte [esi + 6], 1
push edx
mov edx, ecx
mov ecx, esi
push eax
call fcn.00411879
lea ecx, [edi + 1]
call fcn.004136d2
xor edx, edx
mov ecx, 0x800
inc edx
call fcn.004122d8
mov esi, eax
lea eax, [edi + 2]
mov byte [esi], 0
mov ecx, dword [0x4070ac]
mov dword [esi + 1], ecx
mov cl, byte [0x4070b0]
mov byte [esi + 5], cl
mov ecx, 0x800
mul ecx
mov byte [esi + 6], 1
push edx
mov edx, ecx
mov ecx, esi
push eax
call fcn.00411879
add edi, 3
cmp dword [0x419f08], 0
je 0x408909
push ecx
mov ecx, edi
call fcn.0040f809
cmp dword [0x419efc], 0
je 0x408920
call fcn.0040fb0f
cmp dword [0x419efc], 0
jne 0x408930
cmp dword [0x419f50], 0
jne 0x408930
call fcn.00409b3b
jmp 0x40893e
cmp dword [0x418124], 0
je 0x40893e
call fcn.00409ca9
cmp dword [0x419f50], 0
jne 0x408959
cmp dword [0x419efc], 0
je 0x408967
cmp dword [0x419f00], 0
jne 0x408967
cmp dword [0x418124], 0
je 0x408967
call fcn.004104a6
mov eax, dword [0x419cf0]
or eax, dword [0x419cf4]
je 0x40899b
mov ecx, dword [0x418544]
xor edx, edx
inc edx
call fcn.004122d8
push dword [0x419cf4]
mov edx, dword [0x418544]
mov ecx, eax
push dword [0x419cf0]
call fcn.00411879
cmp dword [0x419f50], 0
jne 0x4089bb
cmp dword [0x419efc], 0
je 0x4089b4
call fcn.0040fc81
jmp 0x4089c4
call fcn.00409e17
jmp 0x4089c9
cmp dword [0x418124], 0
je 0x4089c9
call fcn.0040a043
cmp dword [0x419f4c], 0
je 0x4089fc
cmp dword [0x41854c], 0
je 0x4089e0
call fcn.00411ce4
call fcn.00415056
call fcn.00414146
mov ecx, dword [0x41856c]
dec ecx
mov dword [0x418540], ecx
call fcn.0041373d
cmp dword [0x419f08], 0
je 0x408a2b
xor edi, edi
cmp dword [0x419e98], edi
jbe 0x408a2b
xor esi, esi
mov ecx, dword [0x419e94]
lea ecx, [esi + ecx]
call fcn.0040f9e0
inc edi
lea esi, [esi + 0x14]
cmp edi, dword [0x419e98]
jb 0x408a11
mov eax, dword [0x419f0c]
test eax, eax
je 0x408a4b
cmp dword [0x419f4c], 0
jne 0x408a47
call fcn.0041178e
mov eax, dword [0x419f0c]
test eax, eax
jne 0x408a54
cmp dword [0x419f20], 0
je 0x408a59
call fcn.004117f8
cmp dword [0x419eb4], 0
je 0x408a6f
push 0x401414
call dword [sym.imp.msvcrt.dll_printf]
jmp 0x408a84
push 0x401418
push 2
call fcn.00417c69
pop ecx
push eax
call dword [sym.imp.msvcrt.dll_fprintf]
pop ecx
pop ecx
push 1
call fcn.00417c69
pop ecx
push eax
call dword [sym.imp.msvcrt.dll_fflush]
cmp dword [0x419f20], 0
pop ecx
je 0x408aba
push 0x40142c
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
push 1
call fcn.00417c69
pop ecx
push eax
call dword [sym.imp.msvcrt.dll_fflush]
pop ecx
cmp dword [0x419ecc], 0
je 0x408b9b
mov eax, dword [0x419d04]
push 0x64
pop esi
push dword [0x419d14]
mul esi
push dword [0x419d10]
mov ecx, eax
mov eax, dword [0x419d00]
mul esi
add ecx, edx
push ecx
push eax
call fcn.00417cd0
sub esi, eax
push esi
push dword [0x419d4c]
push dword [0x419d48]
push dword [0x419d44]
push dword [0x419d40]
push 0x401458
call dword [sym.imp.msvcrt.dll_printf]
push 1
call fcn.00417c69
add esp, 0x1c
push eax
call dword [sym.imp.msvcrt.dll_fflush]
cmp dword [0x419f1c], 0
pop ecx
jne 0x408b35
mov ebx, 0x4012e4
push dword [0x419d04]
push dword [0x419d00]
push ebx
push 0x4014a0
call dword [sym.imp.msvcrt.dll_printf]
push 1
call fcn.00417c69
add esp, 0x14
push eax
call dword [sym.imp.msvcrt.dll_fflush]
cmp dword [0x419ee4], 0
pop ecx
jne 0x408bc4
mov eax, dword [0x419d04]
mov edx, dword [0x419d64]
cmp eax, edx
jb 0x408bc4
mov esi, dword [0x419d60]
mov ecx, dword [0x419d00]
ja 0x408b89
cmp ecx, esi
jbe 0x408bc4
push 0x4014d4
push edx
sub ecx, esi
push esi
sbb eax, edx
push eax
push ecx
jmp 0x408716
cmp dword [0x419f1c], 0
jne 0x408ba9
mov ebx, 0x4012e4
push dword [0x419d04]
push dword [0x419d00]
push ebx
push 0x4014d8
call dword [sym.imp.msvcrt.dll_printf]
add esp, 0x10
mov eax, dword [0x41812c]
mul dword [0x41856c]
and dword [0x4196a8], 0
push edx
push eax
call fcn.004164b2
cmp dword [0x419ef8], 0
je 0x408c02
push 0x401500
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
push 1
call fcn.00417c69
pop ecx
push eax
call dword [sym.imp.msvcrt.dll_fflush]
pop ecx
cmp dword [0x419f3c], 0
je 0x408c27
push 0x4015e0
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
push 1
call fcn.00417c69
pop ecx
push eax
call dword [sym.imp.msvcrt.dll_fflush]
pop ecx
cmp dword [0x419f4c], 0
je 0x408c8c
cmp dword [0x419f54], 0
jne 0x408c54
cmp dword [0x419f58], 0
jne 0x408c54
cmp dword [0x419f5c], 0
jne 0x408c54
cmp dword [0x419ecc], 0
je 0x408c7c
push dword [0x418d9c]
push 0x4018d0
call dword [sym.imp.msvcrt.dll_printf]
cmp dword [0x419f58], 0
pop ecx
pop ecx
je 0x408c7c
push 0x401918
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
push 1
call fcn.00417c69
pop ecx
push eax
call dword [sym.imp.msvcrt.dll_fflush]
pop ecx
cmp dword [0x419f24], 0
je 0x408cba
cmp dword [0x419f20], 0
jne 0x408cba
push 0x401968
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
push 1
call fcn.00417c69
pop ecx
push eax
call dword [sym.imp.msvcrt.dll_fflush]
pop ecx
cmp dword [0x419f1c], 0
je 0x408ccf
push 0x401378
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
push 0x4019b0
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
push 1
call fcn.00417c69
pop ecx
push eax
call dword [sym.imp.msvcrt.dll_fflush]
cmp dword [0x419ee8], 0
pop ecx
je 0x408cf9
call fcn.0040e951
push 0
call dword [sym.imp.msvcrt.dll_exit]
push 0x401168
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
push 1
call fcn.00417c69
pop ecx
push eax
call dword [sym.imp.msvcrt.dll_fflush]
pop ecx
push 1
jmp 0x408cfb