Function at 0x401000
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x18
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
sub eax, 0x2111f32b
sbb ecx, 6
jb 0x401038
jmp 0x401033
jmp 0x401274
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov edx, 0xaaaaaaab
mov eax, ecx
mul edx
imul ecx, ecx, 0xaaaaaaaa
add edx, ecx
imul ecx, esi, 0xaaaaaaab
add edx, ecx
mov ecx, 0x55555555
mov esi, 0x55555555
sub esi, eax
sbb ecx, edx
jb 0x401079
jmp 0x40106b
mov eax, dword [ebp + 8]
shl eax, 8
mov dword [esp], eax
call fcn.00401000
jmp 0x40107b
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov edx, 0xcccccccd
mov eax, ecx
mul edx
imul ecx, ecx, 0xcccccccc
add edx, ecx
imul ecx, esi, 0xcccccccd
add edx, ecx
sub eax, 0x33333334
sbb edx, 0x33333333
setb al
test al, 1
jne 0x4010b0
jmp 0x4010c2
jmp 0x4010b2
mov eax, dword [ebp + 8]
sar eax, 8
mov dword [esp], eax
call fcn.00401000
jmp 0x4010c2
jmp 0x4010c4
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov edx, 0xb6db6db7
mov eax, ecx
mul edx
imul ecx, ecx, 0x6db6db6d
add edx, ecx
imul ecx, esi, 0xb6db6db7
add edx, ecx
sub eax, 0x92492493
sbb edx, 0x24924924
setb al
test al, 1
jne 0x4010f9
jmp 0x40115d
jmp 0x4010fb
mov eax, dword [ebp + 8]
mov edx, eax
xor edx, 0xffffffff
and edx, 2
mov ecx, eax
and ecx, 0xfffffffd
mov esi, ecx
xor esi, 0xffffffff
mov edi, edx
and edi, esi
mov esi, edx
xor esi, 0xffffffff
mov ebx, ecx
and ebx, esi
imul ebx, edi
mov esi, ecx
and esi, edx
or ecx, edx
imul ecx, esi
add ecx, ebx
mov edx, eax
and edx, 2
or eax, 2
mov edi, edx
xor edi, 0xffffffff
mov ebx, eax
and ebx, edi
mov esi, eax
or esi, edi
xor esi, 0xffffffff
imul esi, ebx
mov edi, eax
and edi, edx
or eax, edx
imul eax, edi
add eax, esi
add eax, ecx
mov dword [esp], eax
call fcn.00401000
jmp 0x40115d
jmp 0x40115f
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov edx, 0x38e38e39
mov eax, ecx
mul edx
imul ecx, ecx, 0x8e38e38e
add edx, ecx
imul ecx, esi, 0x38e38e39
add edx, ecx
sub eax, 0x71c71c72
sbb edx, 0x1c71c71c
setb al
test al, 1
jne 0x401194
jmp 0x4011a7
mov eax, dword [ebp + 8]
mov ecx, 2
cdq
idiv ecx
mov dword [esp], eax
call fcn.00401000
jmp 0x4011a9
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov edx, 0xba2e8ba3
mov eax, ecx
mul edx
imul ecx, ecx, 0x2e8ba2e8
add edx, ecx
imul ecx, esi, 0xba2e8ba3
add edx, ecx
sub eax, 0x5d1745d2
sbb edx, 0x1745d174
setb al
test al, 1
jne 0x4011de
jmp 0x401207
mov eax, dword [ebp + 8]
mov ecx, eax
and ecx, 0xb
and eax, eax
xor eax, 0xffffffff
and eax, 0xfffffff4
xor eax, 0xffffffff
xor edx, edx
sub edx, ecx
xor ecx, ecx
sub ecx, eax
add edx, ecx
xor eax, eax
sub eax, edx
mov dword [esp], eax
call fcn.00401000
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov edx, 0xc4ec4ec5
mov eax, ecx
mul edx
imul ecx, ecx, 0x4ec4ec4e
add edx, ecx
imul ecx, esi, 0xc4ec4ec5
add edx, ecx
mov ecx, 0xb13b13b1
sub ecx, eax
mov eax, 0x13b13b13
sbb eax, edx
jb 0x401252
jmp 0x40123a
mov eax, dword [ebp + 8]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xd
and eax, 0xfffffff2
sub eax, ecx
mov dword [esp], eax
call fcn.00401000
jmp 0x401254
jmp 0x401256
mov eax, dword [esp + 8]
mov ecx, eax
and ecx, 1
add ecx, ecx
xor eax, 1
add eax, ecx
adc dword [esp + 0xc], 0
mov dword [esp + 8], eax
jmp 0x40101f
jmp 0x401276
cmp dword [ebp + 8], 0xca3ed
sete al
test al, 1
jne 0x401286
jmp 0x401293
jmp 0x401288
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]