Function at 0x4219fc
Capabilities:
Check for software breakpoints
Get os information via kuser_shared_data

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x3c
mov dword [ebp - 0x14], 0xec1ae820
mov edi, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
cmp eax, 0xec1ae81f
jg 0x421a85
cmp eax, 0xcb46c622
jle 0x421af2
cmp eax, 0xd6e2ff17
jg 0x421b54
cmp eax, 0xd392ed9a
jg 0x421bec
cmp eax, 0xcb46c623
je 0x421d7e
cmp eax, 0xcc29bac9
jne 0x421a12
imul edi, edi, 0x940
add edi, 0xffffff5f
push edi
call fcn.004219fc
add esp, 4
push edi
call fcn.004219fc
add esp, 4
mov eax, 0x4b395387
cmp edi, 0xc
jge 0x421f6d
mov eax, 0x1c399552
jmp 0x421f6d
cmp eax, 0x38aa8f11
jle 0x421b23
cmp eax, 0x5c4e5be3
jle 0x421b7a
cmp eax, 0x6bc14ec8
jg 0x421c07
cmp eax, 0x5c4e5be4
je 0x421dd1
cmp eax, 0x6720407a
jne 0x421a12
shr edi, 0xb
add edi, 0xffffffd1
shr edi, 0xc
imul esi, edi, 0x380
lea edi, [esi - 0x44]
push edi
call fcn.004219fc
add esp, 4
mov eax, 0x74d3974c
cmp esi, 0xfa
jae 0x421f6d
mov eax, 0x8282ee34
jmp 0x421f6d
cmp eax, 0x9ca3797b
jle 0x421ba0
cmp eax, 0xb1bc8a41
jg 0x421c59
cmp eax, 0x9ca3797c
je 0x421ce9
cmp eax, 0xa3ca849d
je 0x421da4
jmp 0x421a12
cmp eax, 0x800fd23
jle 0x421bc6
cmp eax, 0x1c399551
jg 0x421c7c
cmp eax, 0x800fd24
je 0x421dff
cmp eax, 0x17d19e4b
je 0x421d61
jmp 0x421a12
cmp eax, 0xe781d287
jg 0x421caf
cmp eax, 0xd6e2ff18
je 0x421cff
cmp eax, 0xdbb36fbb
je 0x421c34
jmp 0x421a12
cmp eax, 0x4b395386
jg 0x421db7
cmp eax, 0x38aa8f12
je 0x421e37
cmp eax, 0x3dfa35e2
je 0x421d91
jmp 0x421a12
cmp eax, 0x8282ee34
je 0x421e48
cmp eax, 0x86fc65c9
je 0x421e66
cmp eax, 0x971633db
je 0x421d70
jmp 0x421a12
cmp eax, 0xec1ae820
je 0x421e97
cmp eax, 0xf9b8cbef
je 0x421edb
cmp eax, 0xfad1b1b1
je 0x421d15
jmp 0x421a12
cmp eax, 0xd392ed9b
je 0x421f0a
cmp eax, 0xd67414a0
je 0x421d3c
jmp 0x421a12
cmp eax, 0x6bc14ec9
je 0x421f2b
cmp eax, 0x74d3974c
jne 0x421a12
mov eax, dword [ebp - 0x24]
movzx eax, word [eax]
cmp eax, 0xcd03
je 0x421c92
movzx eax, ax
cmp eax, 0xf0b
je 0x421c6f
mov eax, dword [ebp - 0x20]
cmp eax, 5
je 0x421ce9
cmp eax, 6
je 0x421d15
xor ebx, ebx
cmp eax, 0xa
jne 0x421d3c
jmp 0x421d4b
cmp eax, 0xb1bc8a42
je 0x421d4b
cmp eax, 0xb9a360cd
jne 0x421a12
mov eax, dword [ebp - 0x18]
shl eax, 0x15
add eax, 0xf9ec6000
jmp 0x421ca0
cmp eax, 0x1c399552
je 0x421d26
cmp eax, 0x25e6dbde
jne 0x421a12
mov eax, dword [ebp - 0x18]
shl eax, 0xb
add eax, 0xfffbb000
shr eax, 0x16
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0x6bc14ec9
jmp 0x421a12
cmp eax, 0xe781d288
je 0x421f46
cmp eax, 0xea12167b
jne 0x421a12
shr edi, 0xd
add edi, 0xffffffcd
push edi
call fcn.004219fc
add esp, 4
push edi
call fcn.004219fc
add esp, 4
mov dword [ebp - 0x14], 0xd6e2ff18
jmp 0x421a12
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x421d61
mov ebx, 2
cmp eax, 1
je 0x421d3c
cmp eax, 2
jne 0x421d70
movzx eax, byte [ebp - 0xd]
add eax, 3
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x14], 0x800fd24
jmp 0x421a12
xor ebx, ebx
mov eax, dword [ebp - 0x1c]
cmp eax, 3
ja 0x421d3c
jmp dword [eax*4 + 0x445efc]
movzx eax, byte [ebp - 0xd]
add eax, 5
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x14], 0x86fc65c9
jmp 0x421a12
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x14], 0x5575b63a
jmp 0x421a12
movzx eax, byte [ebp - 0xd]
add eax, 0xd
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x14], 0x5c4e5be4
jmp 0x421a12
mov dword [ebp - 0x14], 0xd67414a0
xor ebx, ebx
inc ebx
jmp 0x421a12
mov dword [ebp - 0x14], 0xd67414a0
xor ebx, ebx
jmp 0x421a12
movzx ebx, byte [ebp - 0xd]
add ebx, 7
mov dword [ebp - 0x14], 0xd67414a0
jmp 0x421a12
movzx ebx, byte [ebp - 0xd]
add ebx, 9
mov dword [ebp - 0x14], 0xd67414a0
jmp 0x421a12
movzx ebx, byte [ebp - 0xd]
add ebx, 0xb
mov dword [ebp - 0x14], 0xd67414a0
jmp 0x421a12
cmp eax, 0x4b395387
jne 0x421f75
shl edi, 0x12
mov dword [ebp - 0x14], 0x1c399552
jmp 0x421a12
mov eax, dword [ebp - 0x18]
shr eax, 0x16
mov dword [ebp - 0x18], eax
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x7c63
dec edx
mov eax, 0xb1bc8a42
cmp ecx, edx
je 0x421df4
mov eax, 0xd67414a0
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x3c]
jmp 0x421a12
mov eax, dword [ebp - 0x18]
add eax, 0xffffff84
imul ecx, eax, 0xef
imul eax, eax
imul edx, eax, 0x6b75
add ecx, 0xffffff41
dec edx
mov dword [ebp - 0x18], ecx
mov ecx, 0xea12167b
cmp edx, eax
je 0x421e2c
mov ecx, 0xd67414a0
mov dword [ebp - 0x14], ecx
mov ebx, dword [ebp - 0x44]
jmp 0x421a12
shr edi, 1
add edi, 0xffffffa4
mov dword [ebp - 0x14], 0x74d3974c
jmp 0x421a12
shr edi, 0xa
and edi, 0x3f8000
push edi
call fcn.004219fc
add esp, 4
mov dword [ebp - 0x14], 0xd392ed9b
jmp 0x421a12
mov eax, dword [ebp - 0x18]
lea ecx, [eax + 6]
imul ecx, ecx
imul edx, ecx, 0x28e5
dec edx
add eax, 0xb3
mov dword [ebp - 0x18], eax
mov eax, 0xe781d288
cmp ecx, edx
je 0x421e8c
mov eax, 0xd67414a0
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x40]
jmp 0x421a12
mov eax, dword [0x7ffe026c]
mov dword [ebp - 0x20], eax
mov eax, dword [0x7ffe0270]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x7ffe0260]
mov dword [ebp - 0x38], eax
cmp dword [0x7ffe0264], 2
sete byte [ebp - 0xd]
mov eax, dword [ebp + 4]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp byte [eax], 0xcc
mov eax, 0x6bc14ec9
je 0x421f6d
mov eax, 0x74d3974c
jmp 0x421f6d
imul eax, dword [ebp - 0x18], 0xfd
lea ecx, [eax + 0x9b00]
imul ecx, ecx
imul edx, ecx, 0x609b
dec edx
add eax, 0x9b48
mov dword [ebp - 0x18], eax
mov eax, 0x6bc14ec9
cmp ecx, edx
je 0x421f6d
mov eax, 0xdbb36fbb
jmp 0x421f6d
imul edi, edi, 0xd7
add edi, 0x79c7
push edi
call fcn.004219fc
add esp, 4
mov dword [ebp - 0x14], 0x74d3974c
jmp 0x421a12
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], ebx
popal
jmp 0x421f32
add edi, 0xffffff28
shr edi, 0xe
imul edi, edi, 0xbb
push edi
call fcn.004219fc
add esp, 4
mov eax, 0x1c399552
cmp edi, 0x26
jb 0x421f6d
mov eax, 0xcc29bac9
mov dword [ebp - 0x14], eax
jmp 0x421a12
cmp eax, 0x5575b63a
jne 0x421a12
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], ebx
movzx eax, byte [ebp - 0xd]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [edx + 4], ecx
mov ecx, dword [ebp - 0x20]
mov dword [edx], ecx
mov dword [edx + 0xc], eax
mov eax, dword [ebp - 0x48]
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
ret