Function at 0x401000
Capabilities:
Execute anti-debugging instructions

Disassembly:
mov eax, 0
add eax, 0
jns 0x40100c
neg eax
push 0xa
push 0x454007
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x454007
call fcn.00452be0
push 0x45401c
call fcn.00452be0
mov eax, 1
add eax, 0
jns 0x40103d
neg eax
push 0xa
push 0x45401e
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x45401e
call fcn.00452be0
push 0x454034
call fcn.00452be0
mov eax, 0x7fffffff
add eax, 0
jns 0x40106e
neg eax
push 0xa
push 0x454036
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x454036
call fcn.00452be0
push 0x45404c
call fcn.00452be0
mov eax, 0xffffffff
add eax, 0
jns 0x40109f
neg eax
push 0xa
push 0x45404e
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x45404e
call fcn.00452be0
push 0x454064
call fcn.00452be0
mov eax, 0x80000000
add eax, 0
jns 0x4010d0
neg eax
push 0xa
push 0x454066
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x454066
call fcn.00452be0
push 0x45407c
call fcn.00452be0
push 0x45407e
call fcn.00452be0
mov dword [section..data], 0
add dword [section..data], 0
jns 0x401118
neg dword [section..data]
push 0xa
push 0x454081
push dword [section..data]
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x454081
call fcn.00452be0
push 0x454098
call fcn.00452be0
mov dword [section..data], 1
add dword [section..data], 0
jns 0x40115b
neg dword [section..data]
push 0xa
push 0x45409a
push dword [section..data]
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x45409a
call fcn.00452be0
push 0x4540b0
call fcn.00452be0
mov dword [section..data], 0x7fffffff
add dword [section..data], 0
jns 0x40119e
neg dword [section..data]
push 0xa
push 0x4540b2
push dword [section..data]
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x4540b2
call fcn.00452be0
push 0x4540c8
call fcn.00452be0
mov dword [section..data], 0xffffffff
add dword [section..data], 0
jns 0x4011e1
neg dword [section..data]
push 0xa
push 0x4540ca
push dword [section..data]
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x4540ca
call fcn.00452be0
push 0x4540e0
call fcn.00452be0
mov dword [section..data], 0x80000000
add dword [section..data], 0
jns 0x401224
neg dword [section..data]
push 0xa
push 0x4540e2
push dword [section..data]
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x4540e2
call fcn.00452be0
push 0x4540f8
call fcn.00452be0
push 0x4540fa
call fcn.00452be0
mov ax, 0
add ax, 0
jns 0x401265
neg ax
movzx eax, ax
push 0xa
push 0x4540fd
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x4540fd
call fcn.00452be0
push 0x454114
call fcn.00452be0
mov ax, 1
add ax, 0
jns 0x40129a
neg ax
movzx eax, ax
push 0xa
push 0x454116
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x454116
call fcn.00452be0
push 0x45412c
call fcn.00452be0
mov ax, 0x7fff
add ax, 0
jns 0x4012cf
neg ax
movzx eax, ax
push 0xa
push 0x45412e
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x45412e
call fcn.00452be0
push 0x454144
call fcn.00452be0
mov ax, 0xffff
add ax, 0
jns 0x401304
neg ax
movzx eax, ax
push 0xa
push 0x454146
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x454146
call fcn.00452be0
push 0x45415c
call fcn.00452be0
mov ax, 0x8000
add ax, 0
jns 0x401339
neg ax
movzx eax, ax
push 0xa
push 0x45415e
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x45415e
call fcn.00452be0
push 0x454174
call fcn.00452be0
push 0x454176
call fcn.00452be0
mov word [0x454004], 0
add word [0x454004], 0
jns 0x401385
neg word [0x454004]
movzx eax, word [0x454004]
push 0xa
push 0x454179
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x454179
call fcn.00452be0
push 0x454190
call fcn.00452be0
mov word [0x454004], 1
add word [0x454004], 0
jns 0x4013cb
neg word [0x454004]
movzx eax, word [0x454004]
push 0xa
push 0x454192
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x454192
call fcn.00452be0
push 0x4541a8
call fcn.00452be0
mov word [0x454004], 0x7fff
add word [0x454004], 0
jns 0x401411
neg word [0x454004]
movzx eax, word [0x454004]
push 0xa
push 0x4541aa
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x4541aa
call fcn.00452be0
push 0x4541c0
call fcn.00452be0
mov word [0x454004], 0xffff
add word [0x454004], 0
jns 0x401457
neg word [0x454004]
movzx eax, word [0x454004]
push 0xa
push 0x4541c2
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x4541c2
call fcn.00452be0
push 0x4541d8
call fcn.00452be0
mov word [0x454004], 0x8000
add word [0x454004], 0
jns 0x40149d
neg word [0x454004]
movzx eax, word [0x454004]
push 0xa
push 0x4541da
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x4541da
call fcn.00452be0
push 0x4541f0
call fcn.00452be0
push 0x4541f2
call fcn.00452be0
mov al, 0
add al, 0
jns 0x4014db
neg al
movzx eax, al
push 0xa
push 0x4541f5
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x4541f5
call fcn.00452be0
push 0x45420c
call fcn.00452be0
mov al, 1
add al, 0
jns 0x40150b
neg al
movzx eax, al
push 0xa
push 0x45420e
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x45420e
call fcn.00452be0
push 0x454224
call fcn.00452be0
mov al, 0x7f
add al, 0
jns 0x40153b
neg al
movzx eax, al
push 0xa
push 0x454226
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x454226
call fcn.00452be0
push 0x45423c
call fcn.00452be0
mov al, 0xff
add al, 0
jns 0x40156b
neg al
movzx eax, al
push 0xa
push 0x45423e
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x45423e
call fcn.00452be0
push 0x454254
call fcn.00452be0
mov al, 0x80
add al, 0
jns 0x40159b
neg al
movzx eax, al
push 0xa
push 0x454256
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x454256
call fcn.00452be0
push 0x45426c
call fcn.00452be0
push 0x45426e
call fcn.00452be0
mov byte [0x454006], 0
add byte [0x454006], 0
jns 0x4015e3
neg byte [0x454006]
movzx eax, byte [0x454006]
push 0xa
push 0x454271
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x454271
call fcn.00452be0
push 0x454288
call fcn.00452be0
mov byte [0x454006], 1
add byte [0x454006], 0
jns 0x401625
neg byte [0x454006]
movzx eax, byte [0x454006]
push 0xa
push 0x45428a
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x45428a
call fcn.00452be0
push 0x4542a0
call fcn.00452be0
mov byte [0x454006], 0x7f
add byte [0x454006], 0
jns 0x401667
neg byte [0x454006]
movzx eax, byte [0x454006]
push 0xa
push 0x4542a2
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x4542a2
call fcn.00452be0
push 0x4542b8
call fcn.00452be0
mov byte [0x454006], 0xff
add byte [0x454006], 0
jns 0x4016a9
neg byte [0x454006]
movzx eax, byte [0x454006]
push 0xa
push 0x4542ba
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x4542ba
call fcn.00452be0
push 0x4542d0
call fcn.00452be0
mov byte [0x454006], 0x80
add byte [0x454006], 0
jns 0x4016eb
neg byte [0x454006]
movzx eax, byte [0x454006]
push 0xa
push 0x4542d2
push eax
call dword [sym.imp.msvcrt.dll__ultoa]
add esp, 0xc
push 0x4542d2
call fcn.00452be0
push 0x4542e8
call fcn.00452be0
push str._r_n_r_n
call fcn.00452be0
push 0xfa0
call sub.kernel32.dll_Sleep
xor ebx, ebx
mov dword [0x4542f0], 0xffffffff
mov dword [0x4542f4], 0xffffffff
mov dword [0x4542f8], 0xffffffff
mov dword [0x4542fc], 0xffffffff
mov dword [0x454300], 0x3e8
mov dword [0x454304], 0x3e8
call sub.kernel32.dll_GetCurrentProcess
push 0x80
push eax
call sub.kernel32.dll_SetPriorityClass
push ebx
xor eax, eax
cpuid
xor eax, eax
cpuid
xor eax, eax
cpuid
pop ebx
push 0
call sub.kernel32.dll_Sleep
mov edi, edi
push ebx
xor eax, eax
cpuid
rdtsc
pop ebx
push edx
push eax
push ebx
xor eax, eax
cpuid
pop ebx
push ebx
xor eax, eax
cpuid
rdtsc
pop ebx
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
cmp edx, dword [0x4542fc]
jne 0x4017bc
cmp eax, dword [0x4542f8]
jae 0x4017c9
mov dword [0x4542f8], eax
mov dword [0x4542fc], edx
sub dword [0x454304], 1
jne 0x401790
mov dword [0x454304], 0x3e8
push 0
call sub.kernel32.dll_Sleep
lea esp, [esp]
lea ebx, [ebx]
push ebx
xor eax, eax
cpuid
rdtsc
pop ebx
push edx
push eax
push ebx
xor eax, eax
cpuid
pop ebx
mov eax, 0x208745a2
add eax, 0
jns 0x40180c
neg eax
mov eax, 0x77d31f06
add eax, 0
jns 0x401818
neg eax
mov eax, 0xe7e46900
add eax, 0
jns 0x401824
neg eax
mov eax, 0xa01bd885
add eax, 0
jns 0x401830
neg eax
mov eax, 0x5de22466
add eax, 0
jns 0x40183c
neg eax
mov eax, 0xfc037f58
add eax, 0
jns 0x401848
neg eax
mov eax, 0x4230e57f
add eax, 0
jns 0x401854
neg eax
mov eax, 0xb3d994a9
add eax, 0
jns 0x401860
neg eax
mov eax, 0xf957e9d8
add eax, 0
jns 0x40186c
neg eax
mov eax, 0x9a224c54
add eax, 0
jns 0x401878
neg eax
mov eax, 0xe499127a
add eax, 0
jns 0x401884
neg eax
mov eax, 0x29b33717
add eax, 0
jns 0x401890
neg eax
mov eax, 0x4b5f8643
add eax, 0
jns 0x40189c
neg eax
mov eax, 0x717d5611
add eax, 0
jns 0x4018a8
neg eax
mov eax, 0x6c9b030
add eax, 0
jns 0x4018b4
neg eax
mov eax, 0x187646a3
add eax, 0
jns 0x4018c0
neg eax
mov eax, 0x6c3ad554
add eax, 0
jns 0x4018cc
neg eax
mov eax, 0x1196b5a6
add eax, 0
jns 0x4018d8
neg eax
mov eax, 0xd3936277
add eax, 0
jns 0x4018e4
neg eax
mov eax, 0x81368114
add eax, 0
jns 0x4018f0
neg eax
push ebx
xor eax, eax
cpuid
rdtsc
pop ebx
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
cmp edx, dword [0x4542f4]
jne 0x40190c
cmp eax, dword [0x4542f0]
jae 0x401919
mov dword [0x4542f0], eax
mov dword [0x4542f4], edx
sub dword [0x454304], 1
jne 0x4017f0
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
mov eax, dword [0x4542f0]
sub eax, dword [0x4542f8]
mov edx, dword [0x4542f4]
sbb edx, dword [0x4542fc]
add ebx, eax
mov dword [0x4542f0], 0xffffffff
mov dword [0x4542f4], 0xffffffff
mov dword [0x4542f8], 0xffffffff
mov dword [0x4542fc], 0xffffffff
mov dword [0x454300], 0x3e8
mov dword [0x454304], 0x3e8
call sub.kernel32.dll_GetCurrentProcess
push 0x80
push eax
call sub.kernel32.dll_SetPriorityClass
push ebx
xor eax, eax
cpuid
xor eax, eax
cpuid
xor eax, eax
cpuid
pop ebx
push 0
call sub.kernel32.dll_Sleep
lea ecx, [ecx]
push ebx
xor eax, eax
cpuid
rdtsc
pop ebx
push edx
push eax
push ebx
xor eax, eax
cpuid
pop ebx
push ebx
xor eax, eax
cpuid
rdtsc
pop ebx
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
cmp edx, dword [0x4542fc]
jne 0x4019dc
cmp eax, dword [0x4542f8]
jae 0x4019e9
mov dword [0x4542f8], eax
mov dword [0x4542fc], edx
sub dword [0x454304], 1
jne 0x4019b0
mov dword [0x454304], 0x3e8
push 0
call sub.kernel32.dll_Sleep
lea esp, [esp]
lea ebx, [ebx]
push ebx
xor eax, eax
cpuid
rdtsc
pop ebx
push edx
push eax
push ebx
xor eax, eax
cpuid
pop ebx
mov eax, 0x208745a2
add eax, 0
jns 0x401a2c
neg eax
mov eax, 0x77d31f06
add eax, 0
jns 0x401a38
neg eax
mov eax, 0xe7e46900
add eax, 0
jns 0x401a44
neg eax
mov eax, 0xa01bd885
add eax, 0
jns 0x401a50
neg eax
mov eax, 0x5de22466
add eax, 0
jns 0x401a5c
neg eax
mov eax, 0xfc037f58
add eax, 0
jns 0x401a68
neg eax
mov eax, 0x4230e57f
add eax, 0
jns 0x401a74
neg eax
mov eax, 0xb3d994a9
add eax, 0
jns 0x401a80
neg eax
mov eax, 0xf957e9d8
add eax, 0
jns 0x401a8c
neg eax
mov eax, 0x9a224c54
add eax, 0
jns 0x401a98
neg eax
mov eax, 0xe499127a
add eax, 0
jns 0x401aa4
neg eax
mov eax, 0x29b33717
add eax, 0
jns 0x401ab0
neg eax
mov eax, 0x4b5f8643
add eax, 0
jns 0x401abc
neg eax
mov eax, 0x717d5611
add eax, 0
jns 0x401ac8
neg eax
mov eax, 0x6c9b030
add eax, 0
jns 0x401ad4
neg eax
mov eax, 0x187646a3
add eax, 0
jns 0x401ae0
neg eax
mov eax, 0x6c3ad554
add eax, 0
jns 0x401aec
neg eax
mov eax, 0x1196b5a6
add eax, 0
jns 0x401af8
neg eax
mov eax, 0xd3936277
add eax, 0
jns 0x401b04
neg eax
mov eax, 0x81368114
add eax, 0
jns 0x401b10
neg eax
push ebx
xor eax, eax
cpuid
rdtsc
pop ebx
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
cmp edx, dword [0x4542f4]
jne 0x401b2c
cmp eax, dword [0x4542f0]
jae 0x401b39
mov dword [0x4542f0], eax
mov dword [0x4542f4], edx
sub dword [0x454304], 1
jne 0x401a10
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
mov eax, dword [0x4542f0]
sub eax, dword [0x4542f8]
mov edx, dword [0x4542f4]
sbb edx, dword [0x4542fc]
add ebx, eax
mov dword [0x4542f0], 0xffffffff
mov dword [0x4542f4], 0xffffffff
mov dword [0x4542f8], 0xffffffff
mov dword [0x4542fc], 0xffffffff
mov dword [0x454300], 0x3e8
mov dword [0x454304], 0x3e8
call sub.kernel32.dll_GetCurrentProcess
push 0x80
push eax
call sub.kernel32.dll_SetPriorityClass
push ebx
xor eax, eax
cpuid
xor eax, eax
cpuid
xor eax, eax
cpuid
pop ebx
push 0
call sub.kernel32.dll_Sleep
lea ecx, [ecx]
push ebx
xor eax, eax
cpuid
rdtsc
pop ebx
push edx
push eax
push ebx
xor eax, eax
cpuid
pop ebx
push ebx
xor eax, eax
cpuid
rdtsc
pop ebx
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
cmp edx, dword [0x4542fc]
jne 0x401bfc
cmp eax, dword [0x4542f8]
jae 0x401c09
mov dword [0x4542f8], eax
mov dword [0x4542fc], edx
sub dword [0x454304], 1
jne 0x401bd0
mov dword [0x454304], 0x3e8
push 0
call sub.kernel32.dll_Sleep
lea esp, [esp]
lea ebx, [ebx]
push ebx
xor eax, eax
cpuid
rdtsc
pop ebx
push edx
push eax
push ebx
xor eax, eax
cpuid
pop ebx
mov eax, 0x208745a2
add eax, 0
jns 0x401c4c
neg eax
mov eax, 0x77d31f06
add eax, 0
jns 0x401c58
neg eax
mov eax, 0xe7e46900
add eax, 0
jns 0x401c64
neg eax
mov eax, 0xa01bd885
add eax, 0
jns 0x401c70
neg eax
mov eax, 0x5de22466
add eax, 0
jns 0x401c7c
neg eax
mov eax, 0xfc037f58
add eax, 0
jns 0x401c88
neg eax
mov eax, 0x4230e57f
add eax, 0
jns 0x401c94
neg eax
mov eax, 0xb3d994a9
add eax, 0
jns 0x401ca0
neg eax
mov eax, 0xf957e9d8
add eax, 0
jns 0x401cac
neg eax
mov eax, 0x9a224c54
add eax, 0
jns 0x401cb8
neg eax
mov eax, 0xe499127a
add eax, 0
jns 0x401cc4
neg eax
mov eax, 0x29b33717
add eax, 0
jns 0x401cd0
neg eax
mov eax, 0x4b5f8643
add eax, 0
jns 0x401cdc
neg eax
mov eax, 0x717d5611
add eax, 0
jns 0x401ce8
neg eax
mov eax, 0x6c9b030
add eax, 0
jns 0x401cf4
neg eax
mov eax, 0x187646a3
add eax, 0
jns 0x401d00
neg eax
mov eax, 0x6c3ad554
add eax, 0
jns 0x401d0c
neg eax
mov eax, 0x1196b5a6
add eax, 0
jns 0x401d18
neg eax
mov eax, 0xd3936277
add eax, 0
jns 0x401d24
neg eax
mov eax, 0x81368114
add eax, 0
jns 0x401d30
neg eax
push ebx
xor eax, eax
cpuid
rdtsc
pop ebx
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
cmp edx, dword [0x4542f4]
jne 0x401d4c
cmp eax, dword [0x4542f0]
jae 0x401d59
mov dword [0x4542f0], eax
mov dword [0x4542f4], edx
sub dword [0x454304], 1
jne 0x401c30
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
mov eax, dword [0x4542f0]
sub eax, dword [0x4542f8]
mov edx, dword [0x4542f4]
sbb edx, dword [0x4542fc]
add ebx, eax
mov dword [0x4542f0], 0xffffffff
mov dword [0x4542f4], 0xffffffff
mov dword [0x4542f8], 0xffffffff
mov dword [0x4542fc], 0xffffffff
mov dword [0x454300], 0x3e8
mov dword [0x454304], 0x3e8
call sub.kernel32.dll_GetCurrentProcess
push 0x80
push eax
call sub.kernel32.dll_SetPriorityClass
push ebx
xor eax, eax
cpuid
xor eax, eax
cpuid
xor eax, eax
cpuid
pop ebx
push 0
call sub.kernel32.dll_Sleep
lea ecx, [ecx]
push ebx
xor eax, eax
cpuid
rdtsc
pop ebx
push edx
push eax
push ebx
xor eax, eax
cpuid
pop ebx
push ebx
xor eax, eax
cpuid
rdtsc
pop ebx
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
cmp edx, dword [0x4542fc]
jne 0x401e1c
cmp eax, dword [0x4542f8]
jae 0x401e29
mov dword [0x4542f8], eax
mov dword [0x4542fc], edx
sub dword [0x454304], 1
jne 0x401df0
mov dword [0x454304], 0x3e8
push 0
call sub.kernel32.dll_Sleep
lea esp, [esp]
lea ebx, [ebx]
push ebx
xor eax, eax
cpuid
rdtsc
pop ebx
push edx
push eax
push ebx
xor eax, eax
cpuid
pop ebx
mov eax, 0x208745a2
add eax, 0
jns 0x401e6c
neg eax
mov eax, 0x77d31f06
add eax, 0
jns 0x401e78
neg eax
mov eax, 0xe7e46900
add eax, 0
jns 0x401e84
neg eax
mov eax, 0xa01bd885
add eax, 0
jns 0x401e90
neg eax
mov eax, 0x5de22466
add eax, 0
jns 0x401e9c
neg eax
mov eax, 0xfc037f58
add eax, 0
jns 0x401ea8
neg eax
mov eax, 0x4230e57f
add eax, 0
jns 0x401eb4
neg eax
mov eax, 0xb3d994a9
add eax, 0
jns 0x401ec0
neg eax
mov eax, 0xf957e9d8
add eax, 0
jns 0x401ecc
neg eax
mov eax, 0x9a224c54
add eax, 0
jns 0x401ed8
neg eax
mov eax, 0xe499127a
add eax, 0
jns 0x401ee4
neg eax
mov eax, 0x29b33717
add eax, 0
jns 0x401ef0
neg eax
mov eax, 0x4b5f8643
add eax, 0
jns 0x401efc
neg eax
mov eax, 0x717d5611
add eax, 0
jns 0x401f08
neg eax
mov eax, 0x6c9b030
add eax, 0
jns 0x401f14
neg eax
mov eax, 0x187646a3
add eax, 0
jns 0x401f20
neg eax
mov eax, 0x6c3ad554
add eax, 0
jns 0x401f2c
neg eax
mov eax, 0x1196b5a6
add eax, 0
jns 0x401f38