Function at 0x140054110
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 8], rbx
xchg rsi, rbp
mov qword [rsp + 0x10], rbp
xchg rsi, rbp
mov qword [rsp + 0x18], rdi
push rbp
push r12
nop
push 0x1dd54f78
mov qword [rsp], r13
nop
mov qword [rsp - 8], r14
sub rsp, 8
push r15
mov rbp, rsp
sub rsp, 0x50
movzx r13d, dl
xchg rbp, rcx
mov r12, rbp
xchg rbp, rcx
lea eax, [r13 - 1]
xor r15d, r15d
cmp al, 1
ja 0x1400547dd
mov edi, r15d
mov qword [rbp - 0x20], r15
mov esi, r15d
xchg r8, r15
mov qword [rbp - 0x18], r8
xchg r15, r8
xchg r13, r15
mov qword [rbp - 0x10], r13
xchg r15, r13
xchg r12, rax
mov r12, qword [rcx]
xchg r12, rax
xchg rdx, rbx
mov rbx, qword [rax + 8]
xchg rdx, rbx
cmp r13b, 2
jne 0x140054398
sub rdx, qword [rax]
sar rdx, 2
sar rdx, 1
sar rdx, 1
test rdx, rdx
je 0x14005420a
movabs rax, 0xfffffff278f24f5
add rax, 0x1f1d172c
sub rax, 0x1a62ff15
add rax, 0x2a567ec4
add rax, 0x2133cd1b
add rax, 0x6b61cb3
sub rax, 0x6ddc4ff9
add rax, 0x7fffffff
add rax, 0x6f52aa5b
cmp rdx, rax
ja 0x140054b6f
lea rcx, [rbp - 0x20]
call fcn.1400531c0
xchg rsi, r11
mov r11, qword [rbp - 0x18]
xchg rsi, r11
mov rdi, qword [rbp - 0x20]
mov rax, qword [r12]
lea rbx, [rbp - 0x20]
xchg r8, r15
mov r8, qword [rax + 8]
xchg r15, r8
mov r14, qword [rax]
cmp r14, r15
je 0x140054299
xor edi, edi
nop
xchg rdx, r13
mov r13, qword [rbx + 8]
xchg r13, rdx
cmp rdx, qword [rbx + 0x10]
je 0x140054273
movzx eax, byte [r14]
mov byte [rdx], al
xchg r13, rax
mov r13, qword [r14 + 8]
xchg r13, rax
xchg r13, rax
mov qword [rdx + 8], r13
xchg r13, rax
mov byte [r14], dil
mov qword [r14 + 8], rdi
nop
add qword [rbx + 8], 0x4e794f86
sub qword [rbx + 8], 0x4e794f76
jmp 0x140054284
mov r8, r14
xchg rcx, r14
mov r14, rbx
xchg r14, rcx
call fcn.1400332e0
sub r14, 0xfffffffffffffff0
cmp r14, r15
jne 0x14005422c
mov rsi, qword [rbp - 0x18]
mov rdi, qword [rbp - 0x20]
xor r15d, r15d
cmp rdi, rsi
je 0x14005472c
nop
movzx eax, byte [rsi - 0x10]
mov byte [rbp - 0x30], al
xchg rbx, rax
mov rbx, qword [rsi - 8]
xchg rbx, rax
mov qword [rbp - 0x28], rax
mov byte [rsi - 0x10], 0x3c
add byte [rsi - 0x10], 9
sub byte [rsi - 0x10], 0x38
add byte [rsi - 0x10], 0x2a
xor byte [rsi - 0x10], 0x2f
sub byte [rsi - 0x10], 0x13
xor byte [rsi - 0x10], 0x67
sub byte [rsi - 0x10], 0x1d
sub byte [rsi - 0x10], 0x45
xchg r15, rbp
mov qword [rsi - 8], rbp
xchg rbp, r15
xchg r9, rax
mov r9, qword [rbp - 0x18]
xchg r9, rax
lea rcx, [rax - 8]
movzx edx, byte [rax - 0x10]
call fcn.140054110
nop
xchg r10, rdx
mov r10, qword [rbp - 0x18]
xchg r10, rdx
sub rdx, 0x10
xchg rdx, r10
mov qword [rbp - 0x18], r10
xchg r10, rdx
cmp byte [rbp - 0x30], 2
jne 0x14005459b
lea rbx, [rbp - 0x20]
xchg rdx, rsi
mov rdx, qword [rbp - 0x28]
xchg rdx, rsi
mov r14, qword [rsi + 8]
mov rdi, qword [rsi]
cmp rdi, r14
je 0x140054555
nop word [rax + rax]
mov rdx, qword [rbx + 8]
cmp rdx, qword [rbx + 0x10]
je 0x14005451c
movzx eax, byte [rdi]
mov byte [rdx], al
xchg r11, rax
mov r11, qword [rdi + 8]
xchg r11, rax
mov qword [rdx + 8], rax
mov byte [rdi], 0x2b
add byte [rdi], 0x38
sub byte [rdi], 5
sub byte [rdi], 0x1d
xor byte [rdi], 0x54
sub byte [rdi], 0x15
xchg r15, rsi
mov qword [rdi + 8], rsi
xchg rsi, r15
nop
sub qword [rbx + 8], 0x16721dbe
add qword [rbx + 8], 0x16721dce
jmp 0x140054533
test rdx, rdx
je 0x1400543ef
movabs rax, 0xfffffff4511075f
sub rax, 0x2c25d205
xor rax, 0x416249f3
sub rax, 0x112fbb5f
sub rax, 0x2dab183d
add rax, 0x7fffffff
add rax, 0x655156f3
cmp rdx, rax
ja 0x140054b6f
lea rcx, [rbp - 0x20]
call fcn.1400531c0
xchg r12, rsi
mov r12, qword [rbp - 0x18]
xchg r12, rsi
mov rdi, qword [rbp - 0x20]
xchg r8, rax
mov r8, qword [r12]
xchg r8, rax
mov rbx, qword [rax]
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
jne 0x14005429c
nop dword [rax]
lea r8, [rbx + 0x40]
cmp rsi, qword [rbp - 0x10]
je 0x140054467
movzx eax, byte [r8]
mov byte [rsi], al
mov rax, qword [r8 + 8]
xchg r8, rax
mov qword [rsi + 8], r8
xchg r8, rax
mov byte [r8], 0x78
sub byte [r8], 0x67
add byte [r8], 0x16
add byte [r8], 0x35
xor byte [r8], 0x50
xor byte [r8], 0xc
xchg r15, r11
mov qword [r8 + 8], r11
xchg r11, r15
mov rsi, qword [rbp - 0x18]
neg rsi
add rsi, 0xfffffffffffffff0
neg rsi
mov qword [rbp - 0x18], rsi
jmp 0x14005447d
mov rdx, rsi
lea rcx, [rbp - 0x20]
call fcn.1400332e0
xchg r13, rsi
mov r13, qword [rbp - 0x18]
xchg r13, rsi
xchg r8, rax
mov r8, qword [rbx + 0x10]
xchg r8, rax
cmp byte [rax + 0x19], 0
je 0x1400544ce
xchg rdi, rax
mov rdi, qword [rbx + 8]
xchg rdi, rax
cmp byte [rax + 0x19], 0
jne 0x1400544c0
cmp rbx, qword [rax + 0x10]
jne 0x1400544c0
xchg r12, rax
mov rbx, r12
xchg r12, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400544a1
xchg r9, rbx
mov r9, rax
xchg rbx, r9
jmp 0x140054503
xchg rbx, rax
mov rax, rbx
xchg rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x140054503
nop word [rax + rax]
mov rbx, rcx
mov rax, qword [rcx]
xchg rdx, rax
mov rcx, rdx
xchg rdx, rax
cmp byte [rax + 0x19], 0
je 0x1400544ec
cmp byte [rbx + 0x19], 0
je 0x14005440e
xchg r11, rdi
mov r11, qword [rbp - 0x20]
xchg rdi, r11
jmp 0x14005429c
xchg r8, rsi
mov rsi, rdi
xchg r8, rsi
xchg rbx, rsi
mov rcx, rsi
xchg rbx, rsi
call fcn.1400332e0
nop
sub rdi, 0x75f1e48a
add rdi, 0x75f1e49a
cmp rdi, r14
jne 0x140054347
xchg rsi, r9
mov r9, qword [rbp - 0x28]
xchg rsi, r9
mov rbx, qword [rsi]
mov rdi, qword [rsi + 8]
cmp rbx, rdi
je 0x140054707
nop
lea rcx, [rbx + 8]
movzx edx, byte [rbx]
call fcn.140054110
nop
neg rbx
add rbx, 0xfffffffffffffff0
neg rbx
cmp rbx, rdi
jne 0x140054567
xchg rbx, rax
mov rbx, qword [rsi]
xchg rbx, rax
xchg r9, rax
mov qword [rsi + 8], r9
xchg r9, rax
jmp 0x140054707
cmp byte [rbp - 0x30], 1
jne 0x140054707
mov rdi, qword [rbp - 0x28]
mov rbx, qword [rdi]
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
jne 0x1400546d4
lea r8, [rbx + 0x40]
cmp rdx, qword [rbp - 0x10]
je 0x14005461e
movzx eax, byte [r8]
mov byte [rdx], al
mov rax, qword [r8 + 8]
xchg rcx, rax
mov qword [rdx + 8], rcx
xchg rcx, rax
mov byte [r8], 0x66
sub byte [r8], 0x4b
xor byte [r8], 0x42
sub byte [r8], 0x4c
xor byte [r8], 0x19
add byte [r8], 0x5a
xor byte [r8], 0x25
add byte [r8], 0x2c
xor byte [r8], 0x77
mov qword [r8 + 8], r15
mov rdx, qword [rbp - 0x18]
neg rdx
add rdx, 0xfffffffffffffff0
neg rdx
xchg r11, rdx
mov qword [rbp - 0x18], r11
xchg rdx, r11
jmp 0x14005462b
lea rcx, [rbp - 0x20]
call fcn.1400332e0
mov rdx, qword [rbp - 0x18]
xchg r15, rax
mov r15, qword [rbx + 0x10]
xchg r15, rax
cmp byte [rax + 0x19], 0
je 0x14005467d
xchg r13, rax
mov r13, qword [rbx + 8]
xchg r13, rax
cmp byte [rax + 0x19], 0
jne 0x14005466f
nop
cmp rbx, qword [rax + 0x10]
jne 0x14005466f
xchg r13, rax
mov rbx, r13
xchg r13, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x140054650
xchg rbx, rdx
mov rdx, rax
xchg rbx, rdx
jmp 0x1400546c6
xchg rbx, rax
mov rax, rbx
xchg rbx, rax
xchg rsi, rcx
mov rsi, qword [rax]
xchg rcx, rsi
cmp byte [rcx + 0x19], 0
jne 0x1400546c6
nop dword [rax]
nop dword [rax + rax]
xchg rcx, rbx
mov rcx, rbx
xchg rbx, rcx
xchg rsi, rax
mov rsi, qword [rcx]
xchg rsi, rax
xchg rcx, r14
mov r14, rax
xchg rcx, r14
cmp byte [rax + 0x19], 0
je 0x1400546a3
cmp byte [rbx + 0x19], 0
je 0x1400545b9
mov rdi, qword [rbp - 0x28]
xchg rbx, r9
mov r9, qword [rdi]
xchg r9, rbx
mov r8, qword [rbx + 8]
xchg r12, rdx
mov r12, rdi
xchg r12, rdx
xchg rbp, rdi
mov rcx, rbp
xchg rdi, rbp
call fcn.140033c30
mov qword [rbx + 8], rbx
mov qword [rbx], rbx
mov qword [rbx + 0x10], rbx
mov qword [rdi + 8], r15
movzx edx, byte [rbp - 0x30]
lea rcx, [rbp - 0x28]
call fcn.140054110
nop
xchg r12, rdi
mov r12, qword [rbp - 0x20]
xchg r12, rdi
mov rsi, qword [rbp - 0x18]
cmp rdi, rsi
jne 0x1400542a7
test rdi, rdi
je 0x1400547dd
cmp rdi, rsi
je 0x140054776
nop word [rax + rax]
lea rcx, [rdi + 8]
movzx edx, byte [rdi]
call fcn.140054110
nop
nop
add rdi, 0x20a721d4
sub rdi, 0x20a721c4
cmp rdi, rsi
jne 0x140054747
xchg rdi, rdx
mov rdx, qword [rbp - 0x20]
xchg rdi, rdx
xchg rdx, r11
mov r11, qword [rbp - 0x10]
xchg r11, rdx
sub rdx, rdi
and rdx, 0xfffffffffffffff0
xchg rdx, rax
mov rdx, rdi
xchg rdx, rax
cmp rdx, 0x1000
jb 0x1400547cf
nop
sub rdx, 0x26a36a25
add rdx, 0x26a36a4c
mov rdi, qword [rdi - 8]
sub rax, rdi
nop
sub rax, 0xffffffffd9c70b0d
add rax, 0xffffffffd9c70b05
cmp rax, 0x1f
jbe 0x1400547cf
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
xchg rcx, rdi
mov rdi, rcx
xchg rdi, rcx
call fcn.1401fc804
mov ecx, r13d
sub ecx, 1
je 0x140054a7e
sub ecx, 1
je 0x1400549aa
sub ecx, 1
je 0x1400548b1
cmp ecx, 5
jne 0x140054b0f
mov rbx, qword [r12]
xchg r9, rcx
mov r9, qword [rbx]
xchg rcx, r9
test rcx, rcx
je 0x140054877
mov rdx, qword [rbx + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x140054861
nop
add rdx, 0x7bc43e38
sub rdx, 0x7bc43e11
xchg r8, r10
mov r10, qword [rcx - 8]
xchg r10, r8
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140054a77
xchg rcx, r8
mov r8, rcx
xchg rcx, r8
call fcn.1401fc804
xchg r15, r12
mov qword [rbx], r12
xchg r12, r15
mov qword [rbx + 8], r15
mov qword [rbx + 0x10], r15
mov edx, 0x5486e62b
xor edx, 0x6f52ced2
sub edx, 0x9eb1d6d
add edx, 0x4da8bd5a
sub edx, 0x2df797f
sub edx, 0x2ae32b0f
sub edx, 0x47d6ee39
xor edx, 0x27c2c80b
sub edx, 0x2e3afdec
jmp 0x140054b06
xchg r15, rbx
mov r15, qword [r12]
xchg rbx, r15
xchg rdx, r13
mov r13, qword [rbx + 0x18]
xchg r13, rdx
cmp rdx, 0x10
jb 0x140054909
inc rdx
xchg r9, rcx
mov r9, qword [rbx]
xchg rcx, r9
cmp rdx, 0x1000
jb 0x140054904
sub rdx, 0xffffffffffffffd9
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140054a77
mov rcx, r8
call fcn.1401fc804
xchg rsi, r15
mov qword [rbx + 0x10], rsi
xchg r15, rsi
mov qword [rbx + 0x18], 0x6595af74
sub qword [rbx + 0x18], 0x1ad481ff
xor qword [rbx + 0x18], 0x5e1dcf9d
add qword [rbx + 0x18], 0x4cff3e02
xor qword [rbx + 0x18], 0x45b04003
sub qword [rbx + 0x18], 0x21487e4f
add qword [rbx + 0x18], 0x6121937d
sub qword [rbx + 0x18], 0x1dbcf3f2
xor qword [rbx + 0x18], 0x4688822a
mov byte [rbx], 0x29
sub byte [rbx], 4
xor byte [rbx], 0x6d
add byte [rbx], 0x11
add byte [rbx], 0x14
sub byte [rbx], 0x2a
sub byte [rbx], 0x15
xor byte [rbx], 0x63
sub byte [rbx], 0x4d
mov edx, 0x4bee114f
sub edx, 0x4c53a61
sub edx, 0x3019b140
xor edx, 0x53d4e9f2
sub edx, 0x3eac3c25
add edx, 0x11c0fc66
add edx, 0x4272890d
xor edx, 0x5a63158a
jmp 0x140054b06
mov rdi, qword [r12]
mov rbx, qword [rdi]
test rbx, rbx
je 0x140054a49
mov rsi, qword [rdi + 8]
cmp rbx, rsi
je 0x1400549f6
nop word [rax + rax]
lea rcx, [rbx + 8]
movzx edx, byte [rbx]
call fcn.140054110
nop
nop
sub rbx, 0x27e65640
add rbx, 0x27e65650
cmp rbx, rsi
jne 0x1400549d1
mov rcx, qword [rdi]
xchg rdx, r8
mov r8, qword [rdi + 0x10]
xchg rdx, r8
sub rdx, rcx
and rdx, 0xfffffffffffffff0
cmp rdx, 0x1000
jb 0x140054a33
sub rdx, 0xffffffffffffffd9
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140054a77
mov rcx, r8
call fcn.1401fc804
xchg r10, r15
mov qword [rdi], r10
xchg r10, r15
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], r15
mov edx, 0x97a7e16
add edx, 0x45f0e5e
add edx, 0x5862691e
sub edx, 0x2d0c822c
sub edx, 0x13b21e53
sub edx, 0x13c06e84
sub edx, 0x11bce677
jmp 0x140054b06
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rbx, qword [r12]
mov r8, qword [rbx]
mov r8, qword [r8 + 8]
mov rdx, rbx
mov rcx, rbx
call fcn.140033c30
mov edx, 0xef46522
add edx, 0x53ef1e47
add edx, 0x62deb1a
xor edx, 0x7c2b857a
add edx, 0x5e52f7ae
sub edx, 0x33f9cbef
xor edx, 0x6d448728
xor edx, 0x7d81f4a0
sub edx, 0x2f5163e0
mov rcx, qword [rbx]
call fcn.1401fc804
mov edx, 0x4c865ee
add edx, 0x2cdc4903
sub edx, 0x17c8c507
xor edx, 0x56c5b1c4
add edx, 0x1b6787b2
sub edx, 0x3d4df9c1
sub edx, 0xa27c278
add edx, 0x3cda9f70
sub edx, 0x5feac307
mov rcx, qword [r12]
call fcn.1401fc804
lea r11, [rsp + 0x50]
xchg rbx, r13
mov r13, qword [r11 + 0x30]
xchg rbx, r13
mov rsi, qword [r11 + 0x38]
xchg rdi, r13
mov r13, qword [r11 + 0x40]
xchg rdi, r13
mov rsp, r11
nop
add rsp, 8
xchg qword [rsp - 8], r15
nop
add rsp, 8
mov r14, qword [rsp - 8]
push rcx
push rbx
push rbx
push rax
push rdx
xchg qword [rsp + 0x28], r13
pop rdx
pop rax
pop rbx
pop rbx
pop rcx
add rsp, 8
nop
add rsp, 8
mov r12, qword [rsp - 8]
push rdx
push rbx
push rdx
push rax
push rcx
xchg qword [rsp + 0x28], rbp
add rsp, 0x30
ret
call fcn.14002f9b0
nop
int3