Function at 0x1401c2830
Capabilities:
Parse pe header

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov qword [rbp], 0xfffffffffffffffe
mov r15, rdx
mov r14, rcx
mov qword [rbp - 0x20], rdx
mov rax, qword [rbp - 0x20]
movzx eax, word [rax]
mov dword [rbp - 4], eax
mov ebx, 0xbddffc69
mov ecx, 0x127db7e9
mov edx, 0xac786ca4
cmp ebx, 0x6109e73
jle 0x1401c28a0
cmp ebx, 0x5470e5e5
jle 0x1401c28d0
cmp ebx, 0x5470e5e6
je 0x1401c2934
cmp ebx, 0x7a94aa7c
jne 0x1401c2870
mov ebx, 0x5470e5e6
mov r10, rax
jmp 0x1401c2870
cmp ebx, 0xac786ca4
je 0x1401c28eb
cmp ebx, 0xbddffc69
je 0x1401c2911
cmp ebx, 0xe84ff315
jne 0x1401c2870
mov ebx, 0x7a94aa7c
xor eax, eax
jmp 0x1401c2870
cmp ebx, 0x6109e74
je 0x1401c2927
cmp ebx, 0x127db7e9
jne 0x1401c2870
mov ebx, 0x7a94aa7c
mov rax, qword [rbp - 0x40]
jmp 0x1401c2870
mov rbx, qword [rbp - 0x20]
movsxd rbx, dword [rbx + 0x3c]
add rbx, r15
mov qword [rbp - 0x40], rbx
mov rbx, qword [rbp - 0x40]
cmp dword [rbx], 0x4550
mov ebx, 0xe84ff315
cmove ebx, ecx
jmp 0x1401c2870
mov ebx, dword [rbp - 4]
cmp ebx, 0x5a4d
mov ebx, 0x6109e74
cmove ebx, edx
jmp 0x1401c2870
mov ebx, 0x5470e5e6
xor r10d, r10d
jmp 0x1401c2870
test r10, r10
je 0x1401c2b12
mov eax, dword [0x140837a70]
mov r8d, dword [0x140837a74]
lea r11d, [rax - 1]
imul r11d, eax
test r11b, 1
sete byte [rbp - 4]
mov edx, 0x8e41a98e
mov eax, 0xeb87329f
cmove eax, edx
cmp r8d, 0xa
setl byte [rbp - 0x20]
cmovl eax, edx
mov edx, 0xe462de81
mov edi, 0x40a70a71
xorps xmm0, xmm0
nop
cmp edx, 0xeb87329e
jg 0x1401c29b0
cmp edx, 0x8e41a98e
je 0x1401c29e3
cmp edx, 0xe462de81
jne 0x1401c2980
movzx ebx, byte [rbp - 4]
cmp byte [rbp - 0x20], 0
mov edx, 0xeb87329f
cmovne edx, edi
test bl, bl
cmovne edx, edi
jmp 0x1401c2980
cmp edx, 0xeb87329f
je 0x1401c29d0
cmp edx, 0x40a70a71
jne 0x1401c2980
movaps xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], 0
mov edx, eax
jmp 0x1401c2980
movaps xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], 0
mov edx, 0x40a70a71
jmp 0x1401c2980
mov edx, dword [0x1408381c8]
mov r9d, dword [0x1408381cc]
lea ebx, [rdx - 1]
imul ebx, edx
test bl, 1
sete byte [rbp - 4]
mov edx, 0x123a671a
mov esi, 0x914d2157
cmove esi, edx
cmp r9d, 0xa
setl byte [rbp - 0x20]
cmovl esi, edx
mov edx, 0x84105c10
mov edi, 0x9b48b0ef
nop
cmp edx, 0x9b48b0ee
jle 0x1401c2a40
cmp edx, 0x9b48b0ef
je 0x1401c2a57
cmp edx, 0x123a671a
jne 0x1401c2a20
jmp 0x1401c2a72
cmp edx, 0x84105c10
je 0x1401c2a5b
cmp edx, 0x914d2157
jne 0x1401c2a20
mov edx, 0x9b48b0ef
jmp 0x1401c2a20
mov edx, esi
jmp 0x1401c2a20
movzx ecx, byte [rbp - 4]
cmp byte [rbp - 0x20], 0
mov edx, 0x914d2157
cmovne edx, edi
test cl, cl
cmovne edx, edi
jmp 0x1401c2a20
mov edi, dword [r10 + 0xb0]
test rdi, rdi
je 0x1401c2c40
add rdi, r15
mov ebx, dword [r10 + 0xb4]
add rbx, rdi
cmp rdi, rbx
jae 0x1401c2ae9
movabs r13, 0x1fffffff8
lea r12, [rbp - 0x40]
lea rsi, [rbp - 0x20]
nop word cs:[rax + rax]
cmp dword [rdi + 4], 0
je 0x1401c2ae9
mov eax, dword [rdi]
add rax, r15
mov qword [rbp - 0x20], rax
lea rax, [rdi + 8]
mov qword [rbp - 0x18], rax
mov eax, dword [rdi + 4]
add rax, r13
shr rax, 1
mov dword [rbp - 0x10], eax
mov rcx, r12
mov rdx, rsi
call fcn.1401c4a40
mov eax, dword [rdi + 4]
add rdi, rax
cmp rdi, rbx
jb 0x1401c2ab0
lea rdx, [rbp - 0x40]
mov rcx, r14
call fcn.1401c2d70
lea rcx, [rbp - 0x40]
call fcn.1401c0530
mov rax, r14
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x140837a70]
mov ecx, dword [0x140837a74]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp - 0x20]
mov edx, 0x8e41a98e
mov eax, 0xeb87329f
cmove eax, edx
cmp ecx, 0xa
setl byte [rbp - 0x40]
cmovl eax, edx
mov edx, 0xe462de81
mov ecx, 0x40a70a71
xorps xmm0, xmm0
nop
cmp edx, 0xeb87329e
jg 0x1401c2b80
cmp edx, 0x8e41a98e
je 0x1401c2bb3
cmp edx, 0xe462de81
jne 0x1401c2b50
movzx ebx, byte [rbp - 0x20]
cmp byte [rbp - 0x40], 0
mov edx, 0xeb87329f
cmovne edx, ecx
test bl, bl
cmovne edx, ecx
jmp 0x1401c2b50
cmp edx, 0xeb87329f
je 0x1401c2ba0
cmp edx, 0x40a70a71
jne 0x1401c2b50
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], 0
mov edx, eax
jmp 0x1401c2b50
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], 0
mov edx, 0x40a70a71
jmp 0x1401c2b50
mov eax, dword [0x1408381c8]
mov ecx, dword [0x1408381cc]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp - 0x20]
mov edx, 0x123a671a
mov eax, 0x914d2157
cmove eax, edx
cmp ecx, 0xa
setl byte [rbp - 0x40]
cmovl eax, edx
mov edx, 0x84105c10
mov ecx, 0x9b48b0ef
nop dword [rax]
cmp edx, 0x9b48b0ee
jg 0x1401c2c10
cmp edx, 0x84105c10
je 0x1401c2c25
cmp edx, 0x914d2157
jne 0x1401c2bf0
mov edx, 0x9b48b0ef
jmp 0x1401c2bf0
cmp edx, 0x9b48b0ef
je 0x1401c2c3c
cmp edx, 0x123a671a
jne 0x1401c2bf0
jmp 0x1401c2afe
movzx ebx, byte [rbp - 0x20]
cmp byte [rbp - 0x40], 0
mov edx, 0x914d2157
cmovne edx, ecx
test bl, bl
cmovne edx, ecx
jmp 0x1401c2bf0
mov edx, eax
jmp 0x1401c2bf0
test r11b, 1
sete byte [rbp - 4]
cmp r8d, 0xa
setl byte [rbp - 0x20]
mov ecx, 0xe462de81
mov edi, 0x40a70a71
xorps xmm0, xmm0
nop dword [rax]
cmp ecx, 0xeb87329e
jg 0x1401c2c90
cmp ecx, 0x8e41a98e
je 0x1401c2cc3
cmp ecx, 0xe462de81
jne 0x1401c2c60
movzx edx, byte [rbp - 4]
cmp byte [rbp - 0x20], 0
mov ecx, 0xeb87329f
cmovne ecx, edi
test dl, dl
cmovne ecx, edi
jmp 0x1401c2c60
cmp ecx, 0xeb87329f
je 0x1401c2cb0
cmp ecx, 0x40a70a71
jne 0x1401c2c60
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], 0
mov ecx, eax
jmp 0x1401c2c60
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], 0
mov ecx, 0x40a70a71
jmp 0x1401c2c60
test bl, 1
sete byte [rbp - 4]
cmp r9d, 0xa
setl byte [rbp - 0x20]
mov ecx, 0x84105c10
mov eax, 0x9b48b0ef
nop dword [rax]
cmp ecx, 0x9b48b0ee
jg 0x1401c2d00
cmp ecx, 0x84105c10
je 0x1401c2d15
cmp ecx, 0x914d2157
jne 0x1401c2ce0
mov ecx, 0x9b48b0ef
jmp 0x1401c2ce0
cmp ecx, 0x9b48b0ef
je 0x1401c2d2c
cmp ecx, 0x123a671a
jne 0x1401c2ce0
jmp 0x1401c2af5
movzx edx, byte [rbp - 4]
cmp byte [rbp - 0x20], 0
mov ecx, 0x914d2157
cmovne ecx, eax
test dl, dl
cmovne ecx, eax
jmp 0x1401c2ce0
mov ecx, esi
jmp 0x1401c2ce0