Function at 0x40102f
Capabilities:
Execute anti-debugging instructions

Disassembly:
call 0x40102f
push 0x4020c2
call fcn.00401ac0
push str.Press_any_key_to_continue_...
call fcn.00401ac0
call fcn.00401b00
push 0x4020e4
call fcn.00401ac0
push 0
call sub.kernel32.dll_ExitProcess
push 0x4020e7
push str.text
call fcn.00401b30
push 0x4020e7
call fcn.00401ac0
push str._original_address_r_n_r_n
call fcn.00401ac0
push 0x40205b
push str.text
call fcn.00401990
push 0x402112
push eax
call fcn.00401b30
push 0x402112
call fcn.00401ac0
push str._1st_return_address_r_n
call fcn.00401ac0
push str.text
call fcn.00401ac0
push 0x40213e
call fcn.00401ac0
push str.text_2
push str.text
call fcn.00401990
push 0x402141
push eax
call fcn.00401b30
push 0x402141
call fcn.00401ac0
push str._2nd_return_address_r_n
call fcn.00401ac0
push str.text
call fcn.00401ac0
push str._r_n_n_n
call fcn.00401ac0
mov byte [0x4026d0], 0
push str.test_the_first_macro
call fcn.00401ac0
push 0x402188
call fcn.00401ac0
push str.print_addx__addx__addx__addx__addx__addx__ADDR_tstbuf_ADDR_tst1__ADDR_tst2__ADDR_tst3__ADDR_tst4__ADDR_tst5__ADDR_tst6__r_n
call fcn.00401ac0
push str.test_1__r_n
push 0x4026d0
call fcn.00401990
push str.test_2__r_n
push eax
call fcn.00401990
push str.test_3__r_n
push eax
call fcn.00401990
push str.test_4__r_n
push eax
call fcn.00401990
push str.test_5__r_n
push eax
call fcn.00401990
push str.test_6__r_n
push eax
call fcn.00401990
push eax
call fcn.00401ac0
mov byte [0x4026d0], 0
push str._r_ntest_the_second_macro__old_syntax_r_n
call fcn.00401ac0
push str.print_add3__add3__add3__add3__add3__add3__ADDR_tstbuf_ADDR_tst1__ADDR_tst2__ADDR_tst3__ADDR_tst4__ADDR_tst5__ADDR_tst6__r_n
call fcn.00401ac0
push str.test_1__r_n
push 0x4026d0
call fcn.004019f0
push str.test_2__r_n
push eax
call fcn.004019f0
push str.test_3__r_n
push eax
call fcn.004019f0
push str.test_4__r_n
push eax
call fcn.004019f0
push str.test_5__r_n
push eax
call fcn.004019f0
push str.test_6__r_n
push eax
call fcn.004019f0
push eax
call fcn.00401ac0
mov byte [0x4026d0], 0
push str._r_ntest_the_second_macro__new_syntax_r_n
call fcn.00401ac0
push str.print_add3__ADDR_tstbuf_ADDR_tst1_ADDR_tst2_ADDR_tst3_ADDR_tst4_ADDR_tst5_ADDR_tst6__r_n
call fcn.00401ac0
push str.test_1__r_n
push 0x4026d0
call fcn.004019f0
push str.test_2__r_n
push 0
call fcn.004019f0
push str.test_3__r_n
push 0
call fcn.004019f0
push str.test_4__r_n
push 0
call fcn.004019f0
push str.test_5__r_n
push 0
call fcn.004019f0
push str.test_6__r_n
push 0
call fcn.004019f0
push eax
call fcn.00401ac0
mov byte [0x4026d0], 0
push str._r_ntest_add4__macro__new_syntax_r_n
call fcn.00401ac0
push str.print_add4__ADDR_tstbuf_ADDR_tst1_ADDR_tst2_ADDR_tst3_ADDR_tst4_ADDR_tst5_ADDR_tst6__r_n
call fcn.00401ac0
push str.test_1__r_n
push 0x4026d0
call fcn.00401a50
push str.test_2__r_n
push 0
call fcn.00401a50
push str.test_3__r_n
push 0
call fcn.00401a50
push str.test_4__r_n
push 0
call fcn.00401a50
push str.test_5__r_n
push 0
call fcn.00401a50
push str.test_6__r_n
push 0
call fcn.00401a50
push eax
call fcn.00401ac0
push str._r_nRegs_preserved:
call fcn.00401ac0
push str._r_naddx__szCatStr2:
call fcn.00401ac0
push 0x12345
pop ecx
mov edx, ecx
mov byte [0x4026d0], 0
push str.test_1__r_n
push 0x4026d0
call fcn.00401990
push str.test_2__r_n
push eax
call fcn.00401990
push str.test_3__r_n
push eax
call fcn.00401990
push str.test_4__r_n
push eax
call fcn.00401990
push str.test_5__r_n
push eax
call fcn.00401990
push str.test_6__r_n
push eax
call fcn.00401990
mov eax, eax
cmp ecx, 0x12345
jne 0x401305
pushal
push 0x4023c0
call fcn.00401ac0
popal
cmp edx, 0x12345
jne 0x401319
pushal
push 0x4023c5
call fcn.00401ac0
popal
push str._r_nadd3__szCatStr3:
call fcn.00401ac0
push 0x12345
pop ecx
mov edx, ecx
mov byte [0x4026d0], 0
push str.test_1__r_n
push 0x4026d0
call fcn.004019f0
push str.test_2__r_n
push eax
call fcn.004019f0
push str.test_3__r_n
push eax
call fcn.004019f0
push str.test_4__r_n
push eax
call fcn.004019f0
push str.test_5__r_n
push eax
call fcn.004019f0
push str.test_6__r_n
push eax
call fcn.004019f0
mov eax, eax
cmp ecx, 0x12345
jne 0x40138e
pushal
push 0x4023dd
call fcn.00401ac0
popal
cmp edx, 0x12345
jne 0x4013a2
pushal
push 0x4023e2
call fcn.00401ac0
popal
push str._r_nadd4__szCatStr4:
call fcn.00401ac0
push 0x12345
pop ecx
mov edx, ecx
mov byte [0x4026d0], 0
push str.test_1__r_n
push 0x4026d0
call fcn.00401a50
push str.test_2__r_n
push eax
call fcn.00401a50
push str.test_3__r_n
push eax
call fcn.00401a50
push str.test_4__r_n
push eax
call fcn.00401a50
push str.test_5__r_n
push eax
call fcn.00401a50
push str.test_6__r_n
push eax
call fcn.00401a50
mov eax, eax
cmp ecx, 0x12345
jne 0x401417
pushal
push str.ecx
call fcn.00401ac0
popal
cmp edx, 0x12345
jne 0x40142b
pushal
push 0x4023ff
call fcn.00401ac0
popal
push str._r_n_ntimings:_r_n
call fcn.00401ac0
push 0xc8
call sub.kernel32.dll_Sleep
mov dword [0x402420], 0x30d40
call sub.kernel32.dll_GetCurrentProcess
push pe_nt_image_headers32
push eax
call sub.kernel32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x402424], 0x30d40
xor eax, eax
cpuid
nop
sub dword [0x402424], 1
jne 0x401470
xor eax, eax
cpuid
rdtsc
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
push edx
push eax
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x402424], 0x30d40
xor eax, eax
cpuid
lea ecx, [ecx]
mov byte [0x4026d0], 0
push str.test_1__r_n
push 0x4026d0
call fcn.00401990
push str.test_2__r_n
push eax
call fcn.00401990
push str.test_3__r_n
push eax
call fcn.00401990
push str.test_4__r_n
push eax
call fcn.00401990
push str.test_5__r_n
push eax
call fcn.00401990
push str.test_6__r_n
push eax
call fcn.00401990
mov eax, eax
sub dword [0x402424], 1
jne 0x4014a0
xor eax, eax
cpuid
rdtsc
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
mov dword [0x402418], eax
mov dword [0x40241c], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x402418]
fild dword [0x402420]
fdivp st(1)
fistp qword [0x402418]
mov eax, dword [0x402418]
push 0x402428
push eax
call fcn.00401b30
push 0x402428
call fcn.00401ac0
push str._cycles_for_addx__r_n
call fcn.00401ac0
push 0xc8
call sub.kernel32.dll_Sleep
mov dword [0x402420], 0x30d40
call sub.kernel32.dll_GetCurrentProcess
push pe_nt_image_headers32
push eax
call sub.kernel32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x402424], 0x30d40
xor eax, eax
cpuid
lea esp, [esp]
mov edi, edi
sub dword [0x402424], 1
jne 0x4015a0
xor eax, eax
cpuid
rdtsc
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
push edx
push eax
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x402424], 0x30d40
xor eax, eax
cpuid
lea ecx, [ecx]
mov byte [0x4026d0], 0
push str.test_1__r_n
push 0x4026d0
call fcn.004019f0
push str.test_2__r_n
push eax
call fcn.004019f0
push str.test_3__r_n
push eax
call fcn.004019f0
push str.test_4__r_n
push eax
call fcn.004019f0
push str.test_5__r_n
push eax
call fcn.004019f0
push str.test_6__r_n
push eax
call fcn.004019f0
mov eax, eax
sub dword [0x402424], 1
jne 0x4015d0
xor eax, eax
cpuid
rdtsc
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
mov dword [0x402418], eax
mov dword [0x40241c], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x402418]
fild dword [0x402420]
fdivp st(1)
fistp qword [0x402418]
mov eax, dword [0x402418]
push 0x402450
push eax
call fcn.00401b30
push 0x402450
call fcn.00401ac0
push str._cycles_for_add3___old_syntax_r_n
call fcn.00401ac0
push 0xc8
call sub.kernel32.dll_Sleep
mov dword [0x402420], 0x30d40
call sub.kernel32.dll_GetCurrentProcess
push pe_nt_image_headers32
push eax
call sub.kernel32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x402424], 0x30d40
xor eax, eax
cpuid
lea esp, [esp]
mov edi, edi
sub dword [0x402424], 1
jne 0x4016d0
xor eax, eax
cpuid
rdtsc
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
push edx
push eax
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x402424], 0x30d40
xor eax, eax
cpuid
lea ecx, [ecx]
mov byte [0x4026d0], 0
push str.test_1__r_n
push 0x4026d0
call fcn.004019f0
push str.test_2__r_n
push 0
call fcn.004019f0
push str.test_3__r_n
push 0
call fcn.004019f0
push str.test_4__r_n
push 0
call fcn.004019f0
push str.test_5__r_n
push 0
call fcn.004019f0
push str.test_6__r_n
push 0
call fcn.004019f0
mov eax, eax
sub dword [0x402424], 1
jne 0x401700
xor eax, eax
cpuid
rdtsc
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
mov dword [0x402418], eax
mov dword [0x40241c], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x402418]
fild dword [0x402420]
fdivp st(1)
fistp qword [0x402418]
mov eax, dword [0x402418]
push 0x402484
push eax
call fcn.00401b30
push 0x402484
call fcn.00401ac0
push str._cycles_for_add3___short_syntax_r_n
call fcn.00401ac0
push 0xc8
call sub.kernel32.dll_Sleep
mov dword [0x402420], 0x30d40
call sub.kernel32.dll_GetCurrentProcess
push pe_nt_image_headers32
push eax
call sub.kernel32.dll_SetPriorityClass
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x402424], 0x30d40
xor eax, eax
cpuid
lea esp, [esp]
sub dword [0x402424], 1
jne 0x401800
xor eax, eax
cpuid
rdtsc
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
push edx
push eax
xor eax, eax
cpuid
rdtsc
push edx
push eax
mov dword [0x402424], 0x30d40
xor eax, eax
cpuid
lea ecx, [ecx]
mov byte [0x4026d0], 0
push str.test_1__r_n
push 0x4026d0
call fcn.00401a50
push str.test_2__r_n
push 0
call fcn.00401a50
push str.test_3__r_n
push 0
call fcn.00401a50
push str.test_4__r_n
push 0
call fcn.00401a50
push str.test_5__r_n
push 0
call fcn.00401a50
push str.test_6__r_n
push 0
call fcn.00401a50
mov eax, eax
sub dword [0x402424], 1
jne 0x401830
xor eax, eax
cpuid
rdtsc
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
pop ecx
sub eax, ecx
pop ecx
sbb edx, ecx
mov dword [0x402418], eax
mov dword [0x40241c], edx
call sub.kernel32.dll_GetCurrentProcess
push 0x20
push eax
call sub.kernel32.dll_SetPriorityClass
wait
fninit
fild qword [0x402418]
fild dword [0x402420]
fdivp st(1)
fistp qword [0x402418]
mov eax, dword [0x402418]
push 0x4024ba
push eax
call fcn.00401b30
push 0x4024ba
call fcn.00401ac0
push str._cycles_for_add4___short_syntax_r_n
call fcn.00401ac0
push str._nCode_sizes:_r_n
call fcn.00401ac0
push str.szCatStr2____
call fcn.00401ac0
mov eax, 0x57
push 0x402511
push eax
call fcn.00401b30
push 0x402511
call fcn.00401ac0
push 0x402528
call fcn.00401ac0
push str.szCatStr3____
call fcn.00401ac0
mov eax, 0x5f
push 0x40253b
push eax
call fcn.00401b30
push 0x40253b
call fcn.00401ac0
push 0x402550
call fcn.00401ac0
push str.szCatStr4____
call fcn.00401ac0
mov eax, 0x70
push 0x402563
push eax
call fcn.00401b30
push 0x402563
call fcn.00401ac0
push 0x402578
call fcn.00401ac0
ret