Function at 0x40a0c0
Capabilities:
Terminate process

Disassembly:
sub esp, 0x80
lea eax, [esp]
push ebx
push esi
push edi
xor ebx, ebx
push eax
mov dword [0x41c430], ebx
mov dword [0x21af6c0], ebx
mov dword [0x21af6c4], ebx
call fcn.0040bc9c
add esp, 4
lea ecx, [esp + 0xc]
push ecx
push str.time:__s__
push 0x21b4a10
call fcn.0040b3f8
push ebx
call fcn.00409480
add esp, 0x10
mov dword [0x21b497c], ebx
mov dword [0x21b4978], ebx
mov dword [0x21b4980], ebx
mov dword [0x21af798], ebx
mov dword [0x21af79c], ebx
call fcn.004073f0
mov byte [0x21af790], bl
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x21b4970], eax
mov al, byte [0x21b4668]
cmp al, bl
jne 0x40a260
mov edi, dword [0x21b45e0]
cmp edi, ebx
jle 0x40a1c3
mov eax, dword [0x21b45f4]
mov esi, 1
cmp eax, esi
mov dword [0x21b4984], esi
jl 0x40a1c3
mov eax, dword [esi*4 + 0x21af7b4]
mov dl, byte [eax*2 + 0x4a7fe8]
and dl, 1
jne 0x40a1a9
lea ecx, [eax*8]
sub ecx, eax
lea ecx, [ecx + ecx*2]
shl ecx, 6
cmp byte [ecx + 0x11861c8], bl
je 0x40a1a9
push ebx
push edi
push eax
call fcn.00409c00
mov edi, dword [0x21b45e0]
mov esi, dword [0x21b4984]
add esp, 0xc
jmp 0x40a1b3
cmp dl, bl
je 0x40a1b3
inc dword [0x21b497c]
mov eax, dword [0x21b45f4]
inc esi
cmp esi, eax
mov dword [0x21b4984], esi
jle 0x40a166
cmp dword [0x21b45e8], edi
jle 0x40a249
mov eax, dword [0x21b45f4]
mov esi, 1
cmp eax, esi
mov dword [0x21b497c], ebx
mov dword [0x21b4980], ebx
mov dword [0x21b4984], esi
jl 0x40a249
mov eax, dword [esi*4 + 0x21af7b4]
mov dl, byte [eax*2 + 0x4a7fe8]
and dl, 1
jne 0x40a22f
lea ecx, [eax*8]
sub ecx, eax
lea ecx, [ecx + ecx*2]
shl ecx, 6
cmp byte [ecx + 0x11861c8], bl
je 0x40a22f
mov edx, dword [0x21b45e8]
push 1
push edx
push eax
call fcn.00409c00
mov esi, dword [0x21b4984]
add esp, 0xc
jmp 0x40a239
cmp dl, bl
je 0x40a239
inc dword [0x21b497c]
mov eax, dword [0x21b45f4]
inc esi
cmp esi, eax
mov dword [0x21b4984], esi
jle 0x40a1eb
call fcn.00402060
call fcn.00402030
push ebx
call dword [sym.imp.USER32.dll_PostQuitMessage]
push ebx
call fcn.0040bbc7
lea eax, [esp + 0xc]
push eax
call fcn.0040bc9c
add esp, 4
lea ecx, [esp + 0xc]
push ecx
push str.__s_n
push 0x21b4990
call fcn.0040b3f8
mov edi, 0x21b4990
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x21b4a10
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov al, byte [0x21af7a8]
mov ecx, edx
and ecx, 3
cmp al, bl
rep movsb byte es:[edi], byte [esi]
je 0x40a2d0
push 1
call fcn.00409480
call fcn.004072e0
push 4
call fcn.00405e10
add esp, 8
call fcn.004072e0
push 2
call fcn.00409480
call fcn.0040a090
lea eax, [esp + 0x10]
push eax
call fcn.0040bc9c
add esp, 8
lea ecx, [esp + 0xc]
push ecx
push str.__s_n
push 0x21b4990
call fcn.0040b3f8
mov edi, 0x21b4990
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x21b4a10
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00402060
push ebx
call dword [sym.imp.USER32.dll_PostQuitMessage]
push ebx
call fcn.0040bbc7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop