Function at 0x140001540
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], rbx
push rbp
push rdi
push r13
push r14
push r15
sub rsp, 0x460
xor r13d, r13d
lea r15, [rcx + 0x20]
mov dword [r15], r13d
mov rbx, rcx
mov rax, qword gs:[0x30]
mov qword [rcx + 0x28], rax
test rax, rax
je 0x14000164c
mov qword [r11 + 8], rsi
mov dword [rcx + 0x88], 4
mov rsi, qword [rax + 0x60]
mov qword [r11 + 0x10], r12
mov qword [rcx + 0x1c8], rsi
test rsi, rsi
je 0x14000163c
mov rsi, qword [rsi + 0x18]
mov qword [rcx + 0x120], rsi
test rsi, rsi
je 0x14000163c
add rsi, 0x20
mov qword [rcx + 0x78], rsi
je 0x14000163c
mov edx, 0x18df691c
call section..text
or eax, 1
mov dword [rbx + 0x198], eax
mov r11, qword [rsi]
cmp r11, rsi
je 0x140001635
nop dword [rax + rax]
mov r10, qword [r11 + 0x50]
mov eax, 0x9c6b6a55
mov r9, r13
nop dword [rax]
movzx edx, word [r10]
lea ecx, [rdx - 0x61]
cmp ecx, 0x19
lea r8d, [rdx - 0x20]
cmova r8d, edx
lea ecx, [r8 + r8*8]
xor eax, ecx
mov ecx, r8d
imul ecx, r8d
rol eax, 5
sub eax, ecx
test r8d, r8d
je 0x140001626
inc r9
add r10, 2
cmp r9, 0xffffffffffffffff
jne 0x1400015f0
cmp eax, 0x24bee46f
je 0x140001666
mov r11, qword [r11]
cmp r11, rsi
jne 0x1400015e0
mov qword [rbx + 0x148], r13
mov rsi, qword [rsp + 0x490]
mov r12, qword [rsp + 0x498]
mov rbx, qword [rsp + 0x4a0]
xor eax, eax
add rsp, 0x460
pop r15
pop r14
pop r13
pop rdi
pop rbp
ret
mov rdi, qword [r11 + 0x20]
mov qword [rbx + 0x148], rdi
test rdi, rdi
je 0x14000163c
mov edx, 0x133a4190
mov r8d, 0xa6fb20a
mov rcx, rdi
call fcn.140001050
mov qword [rbx + 0xb0], rax
mov rbp, rax
test rax, rax
je 0x14000163c
mov edx, 0xc1e84422
mov r8d, 0xe29343e0
mov rcx, rdi
call fcn.140001050
mov qword [rbx + 8], rax
test rax, rax
je 0x14000163c
mov edx, 0xc6c8e96a
mov r8d, 0xaefc2e3f
mov rcx, rdi
call fcn.140001050
mov qword [rbx + 0xb8], rax
test rax, rax
je 0x14000163c
mov edx, 0xbe9b5ca0
mov r8d, 0x8db7713a
mov rcx, rdi
call fcn.140001050
mov qword [rbx + 0x130], rax
test rax, rax
je 0x14000163c
mov edx, 0xe0e007d8
mov r8d, 0x41507618
mov rcx, rdi
call fcn.140001050
mov qword [rbx + 0x188], rax
test rax, rax
je 0x14000163c
mov rax, qword [rsi]
mov r8d, 0x1e76f953
mov r9, r13
mov r10, qword [rax + 0x50]
nop dword [rax]
movzx ecx, word [r10]
lea eax, [rcx - 0x61]
cmp eax, 0x19
lea edx, [rcx - 0x20]
cmova edx, ecx
lea eax, [rdx + rdx*8]
xor r8d, eax
mov eax, edx
imul eax, edx
rol r8d, 5
sub r8d, eax
test edx, edx
je 0x140001763
inc r9
add r10, 2
cmp r9, 0xc
jne 0x140001730
mov dword [rbx + 0x158], r8d
mov edx, 0x35abd475
mov r8d, 0x5ed2780b
mov rcx, rdi
call fcn.140001050
mov qword [rbx + 0xa0], rax
test rax, rax
je 0x14000163c
mov edx, 0xd85c069f
mov r8d, 0x7f362e62
mov rcx, rdi
call fcn.140001050
mov qword [rbx + 0x80], rax
test rax, rax
je 0x14000163c
mov edx, 0xcc92c8db
mov r8d, 0x578060d2
mov rcx, rdi
call fcn.140001050
mov qword [rbx + 0x1a8], rax
test rax, rax
je 0x14000163c
mov edx, 0x58e578fc
mov r8d, 0x63edf7c6
mov rcx, rdi
call fcn.140001050
mov qword [rbx + 0x180], rax
test rax, rax
je 0x14000163c
mov edx, 0x529b975
mov r8d, 0x6c159b06
mov rcx, rdi
call fcn.140001050
mov qword [rbx + 0x98], rax
test rax, rax
je 0x14000163c
mov edx, 0x5d6e090d
mov r8d, 0xe5eea6ed
mov rcx, rdi
call fcn.140001050
mov qword [rbx + 0x60], rax
test rax, rax
je 0x14000163c
mov edx, 0x57d204f6
mov r8d, 0x3cdae1f4
mov rcx, rdi
call fcn.140001050
mov qword [rbx + 0x118], rax
test rax, rax
je 0x14000163c
mov rax, qword [rsi]
mov r9d, 0x7f338756
mov r8, r13
mov r10, qword [rax + 0x50]
nop dword [rax]
movzx ecx, word [r10]
lea eax, [rcx - 0x61]
cmp eax, 0x19
lea edx, [rcx - 0x20]
cmova edx, ecx
lea eax, [rdx + rdx*8]
xor r9d, eax
mov eax, edx
imul eax, edx
rol r9d, 5
sub r9d, eax
test edx, edx
je 0x1400018a3
inc r8
add r10, 2
cmp r8, 0xc
jne 0x140001870
mov edx, dword [rbx + 0x198]
lea rdi, [rbx + 0xec]
mov r8d, dword [rbx + 0x158]
lea r14, [rbx + 0xf0]
imul r8d, r8d
lea ecx, [rdx + r9]
add r8d, ecx
add ecx, edx
rol r8d, 0x10
mov eax, r8d
imul r8d, r8d
xor eax, 0x49c25bce
mov dword [rdi], eax
add r8d, ecx
add ecx, edx
rol r8d, 0x10
mov eax, r8d
imul r8d, r8d
xor eax, 0x805598f5
mov dword [r14], eax
add r8d, ecx
rol r8d, 0x10
mov eax, r8d
imul r8d, r8d
xor eax, 0x6f0e447b
mov dword [rbx + 0xf4], eax
lea eax, [rdx + rcx]
mov dword [rbx + 0x1c0], eax
mov rcx, r13
add r8d, eax
rol r8d, 0x10
mov dword [rbx + 0x158], r8d
xor r8d, 0x43137d62
mov dword [rbx + 0xf8], r8d
movzx eax, byte [rcx + rdi]
test al, al
je 0x140001956
sub al, 0x30
cmp al, 0x4a
ja 0x14000163c
inc rcx
cmp rcx, 0x10
jl 0x140001936
jmp 0x14000163c
mov rcx, rdi
call rbp
mov qword [rbx + 0x48], rax
test rax, rax
je 0x14000163c
mov r8d, dword [rbx + 0x198]
mov ecx, dword [rbx + 0x1c0]
mov r9d, dword [rbx + 0x158]
add ecx, r8d
imul r9d, r9d
lea edx, [r8 + rcx]
add r9d, ecx
lea ecx, [r8 + rdx]
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0xea26ad97
mov dword [rdi], eax
add r9d, edx
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0x5ca6e9ff
mov dword [r14], eax
add r9d, ecx
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0x56b2752c
mov dword [rbx + 0xf4], eax
lea eax, [r8 + rcx]
mov dword [rbx + 0x1c0], eax
mov rcx, rdi
add r9d, eax
rol r9d, 0x10
mov dword [rbx + 0x158], r9d
xor r9d, 0xe29e6bb9
mov dword [rbx + 0xf8], r9d
mov rax, qword [rbx + 0xb0]
call rax
mov qword [rbx + 0xc0], rax
test rax, rax
je 0x14000163c
mov rax, qword [rbx + 8]
mov edx, 0x71
xor ecx, ecx
mov r8d, 0x3000
lea r9d, [rdx - 0x6d]
call rax
mov qword [rbx + 0xd0], rax
mov rbp, rax
test rax, rax
je 0x14000163c
mov rsi, qword [rbx + 0x48]
mov edx, 0x5e31246f
mov rcx, rsi
mov r8d, 0x876fdb14
call fcn.140001050
mov qword [rbx + 0x190], rax
test rax, rax
je 0x14000163c
mov edx, 0x3607df94
mov r8d, 0x62d1f2b4
mov rcx, rsi
call fcn.140001050
mov qword [rbx + 0x38], rax
test rax, rax
je 0x14000163c
mov rcx, qword [rbx + 0x148]
mov edx, 0x44c17aa8
mov r8d, 0xb6efff8f
call fcn.140001050
mov qword [rbx + 0x70], rax
test rax, rax
je 0x14000163c
mov edx, 0x9092b77f
mov r8d, 0x99420ae9
mov rcx, rsi
call fcn.140001050
mov qword [rbx + 0x18], rax
test rax, rax
je 0x14000163c
mov edx, 0xf10b5147
mov r8d, 0x2ab7438d
mov rcx, rsi
call fcn.140001050
mov qword [rbx + 0x168], rax
test rax, rax
je 0x14000163c
mov rcx, qword [rbx + 0xc0]
mov edx, 0xd302c5fa
mov r8d, 0x11f3f4e5
call fcn.140001050
mov qword [rbx + 0xc8], rax
test rax, rax
je 0x14000163c
mov r8d, dword [rbx + 0x198]
mov esi, 0x10
mov ecx, dword [rbx + 0x1c0]
mov r9d, dword [rbx + 0x158]
add ecx, r8d
imul r9d, r9d
lea edx, [r8 + rcx]
add r9d, ecx
lea ecx, [r8 + rdx]
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0x82acd081
mov dword [rdi], eax
add r9d, edx
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0xc43ff87f
mov dword [r14], eax
add r9d, ecx
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0x934fc108
mov dword [rbx + 0xf4], eax
lea eax, [r8 + rcx]
mov dword [rbx + 0x1c0], eax
mov ecx, esi
add r9d, eax
rol r9d, 0x10
mov dword [rbx + 0x158], r9d
xor r9d, 0x808d7aa8
mov dword [rbx + 0xf8], r9d
cmp rcx, 4
jb 0x140001bb8
mov eax, dword [rdi + rcx - 4]
sub rcx, 4
mov dword [rcx + rbp + 0x10], eax
jmp 0x140001bc4
movzx eax, byte [rdi + rcx - 1]
dec rcx
mov byte [rcx + rbp + 0x10], al
test rcx, rcx
jne 0x140001ba4
mov rcx, qword [rbx + 0x148]
mov edx, 0x35fb2895
mov r8d, 0xfffabd30
call fcn.140001050
mov qword [rbx + 0xa8], rax
test rax, rax
je 0x14000163c
mov r8d, dword [rbx + 0x198]
mov ecx, dword [rbx + 0x1c0]
mov r9d, dword [rbx + 0x158]
add ecx, r8d
imul r9d, r9d
lea edx, [r8 + rcx]
add r9d, ecx
lea ecx, [r8 + rdx]
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0x732f7f99
mov dword [rdi], eax
add r9d, edx
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0x169297c4
mov dword [r14], eax
add r9d, ecx
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0xacb6ea32
mov dword [rbx + 0xf4], eax
lea eax, [r8 + rcx]
mov dword [rbx + 0x1c0], eax
mov rcx, rsi
add r9d, eax
rol r9d, 0x10
mov dword [rbx + 0x158], r9d
xor r9d, 0xf71974f2
mov dword [rbx + 0xf8], r9d
mov rdx, qword [rbx + 0xd0]
cmp rcx, 4
jb 0x140001c9a
mov eax, dword [rdi + rcx - 4]
sub rcx, 4
mov dword [rdx + rcx], eax
jmp 0x140001ca5
movzx eax, byte [rdi + rcx - 1]
dec rcx
mov byte [rdx + rcx], al
test rcx, rcx
jne 0x140001c87
mov r8d, dword [rbx + 0x198]
mov ecx, dword [rbx + 0x1c0]
mov r9d, dword [rbx + 0x158]
add ecx, r8d
imul r9d, r9d
lea edx, [rcx + r8]
add r9d, ecx
lea ecx, [r8 + rdx]
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0x59df6ecf
mov dword [rdi], eax
add r9d, edx
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0xfa6f9feb
mov dword [r14], eax
add r9d, ecx
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0x2b02c48c
mov dword [rbx + 0xf4], eax
lea eax, [r8 + rcx]
mov dword [rbx + 0x1c0], eax
mov rcx, rsi
add r9d, eax
rol r9d, 0x10
mov dword [rbx + 0x158], r9d
xor r9d, 0xae1a684d
mov dword [rbx + 0xf8], r9d
mov rdx, qword [rbx + 0xd0]
cmp rcx, 4
jb 0x140001d55
mov eax, dword [rdi + rcx - 4]
sub rcx, 4
mov dword [rdx + rcx + 0x60], eax
jmp 0x140001d61
movzx eax, byte [rdi + rcx - 1]
dec rcx
mov byte [rdx + rcx + 0x60], al
test rcx, rcx
jne 0x140001d41
mov rcx, qword [rbx + 0x48]
mov edx, 0xbb498b39
mov r8d, 0xc8531827
call fcn.140001050
mov qword [rbx + 0x140], rax
test rax, rax
je 0x14000163c
mov r8d, dword [rbx + 0x198]
mov ecx, dword [rbx + 0x1c0]
mov r9d, dword [rbx + 0x158]
add ecx, r8d
imul r9d, r9d
lea edx, [rcx + r8]
add r9d, ecx
lea ecx, [r8 + rdx]
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0x97d88c29
mov dword [rdi], eax
add r9d, edx
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0xb814c69c
mov dword [r14], eax
add r9d, ecx
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0x21a9003b
mov dword [rbx + 0xf4], eax
lea eax, [r8 + rcx]
mov dword [rbx + 0x1c0], eax
mov rcx, rsi
add r9d, eax
rol r9d, 0x10
mov dword [rbx + 0x158], r9d
xor r9d, 0x7cf7fdfe
mov dword [rbx + 0xf8], r9d
mov rdx, qword [rbx + 0xd0]
cmp rcx, 4
jb 0x140001e35
mov eax, dword [rdi + rcx - 4]
sub rcx, 4
mov dword [rdx + rcx + 0x70], eax
jmp 0x140001e41
movzx eax, byte [rdi + rcx - 1]
dec rcx
mov byte [rdx + rcx + 0x70], al
test rcx, rcx
jne 0x140001e21
mov rax, qword [rbx + 0x168]
lea edx, [rcx + 1]
xor r9d, r9d
mov dword [rsp + 0x20], r13d
xor r8d, r8d
call rax
mov qword [rbx + 0x1d0], rax
test rax, rax
je 0x14000163c
mov r8d, dword [rbx + 0x198]
mov ecx, dword [rbx + 0x1c0]
mov r9d, dword [rbx + 0x158]
add ecx, r8d
imul r9d, r9d
lea edx, [rcx + r8]
add r9d, ecx
lea ecx, [r8 + rdx]
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0x115363e3
mov dword [rdi], eax
add r9d, edx
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0x9baaf712
mov dword [r14], eax
add r9d, ecx
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0xb59bf8a7
mov dword [rbx + 0xf4], eax
lea eax, [r8 + rcx]
mov dword [rbx + 0x1c0], eax
mov rcx, rsi
add r9d, eax
rol r9d, 0x10
mov dword [rbx + 0x158], r9d
xor r9d, 0x4395facf
mov dword [rbx + 0xf8], r9d
mov rdx, qword [rbx + 0xd0]
cmp rcx, 4
jb 0x140001f18
mov eax, dword [rdi + rcx - 4]
sub rcx, 4
mov dword [rdx + rcx + 0x50], eax
jmp 0x140001f24
movzx eax, byte [rdi + rcx - 1]
dec rcx
mov byte [rdx + rcx + 0x50], al
test rcx, rcx
jne 0x140001f04
mov rcx, qword [rbx + 0x48]
mov edx, 0x25cc6577
mov r8d, 0xa9508863
call fcn.140001050
mov qword [rbx + 0x1b0], rax
test rax, rax
je 0x14000163c
mov r8d, dword [rbx + 0x198]
mov r9d, dword [rbx + 0x158]
mov ecx, dword [rbx + 0x1c0]
imul r9d, r9d
add ecx, r8d
mov qword [rsp + 0x38], r13
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], 3
lea edx, [rcx + r8]
mov qword [rsp + 0x20], r13
add r9d, ecx
lea ecx, [r8 + rdx]
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0x2422288a
mov dword [rdi], eax
add r9d, edx
mov rdx, rdi
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0xa668fd2f
mov dword [r14], eax
add r9d, ecx
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0x1f21a38a
mov dword [rbx + 0xf4], eax
lea eax, [r8 + rcx]
mov dword [rbx + 0x1c0], eax
mov r8d, 0x1bb
add r9d, eax
rol r9d, 0x10
mov dword [rbx + 0x158], r9d
xor r9d, 0xf686896f
mov dword [rbx + 0xf8], r9d
xor r9d, r9d
mov rax, qword [rbx + 0x38]
mov rcx, qword [rbx + 0x1d0]
call rax
mov qword [rbx], rax
test rax, rax
je 0x14000163c
mov rax, qword [rbx + 0xa0]
lea rdx, [rsp + 0x40]
mov ecx, 0x104
call rax
test eax, eax
je 0x14000163c
mov rax, qword [rbx + 0x118]
lea rcx, [rsp + 0x40]
call rax
test eax, eax
je 0x14000163c
mov r8d, dword [rbx + 0x198]
mov r9d, dword [rbx + 0x158]
mov ecx, dword [rbx + 0x1c0]
imul r9d, r9d
add ecx, r8d
mov qword [rsp + 0x38], r13
mov dword [rsp + 0x30], 0x80800000
mov qword [rsp + 0x28], r13
lea edx, [rcx + r8]
mov qword [rsp + 0x20], r13
add r9d, ecx
lea ecx, [r8 + rdx]
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0x503873b8
mov dword [rdi], eax
add r9d, edx
mov rdx, rdi
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0x834b9b16
mov dword [r14], eax
add r9d, ecx
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0xaff508b4
mov dword [rbx + 0xf4], eax
lea eax, [r8 + rcx]
mov dword [rbx + 0x1c0], eax
mov r8, r14
add r9d, eax
rol r9d, 0x10
mov dword [rbx + 0x158], r9d
xor r9d, 0x1cef5bc5
mov dword [rbx + 0xf8], r9d
xor r9d, r9d
mov rax, qword [rbx + 0x18]
mov rcx, qword [rbx]
call rax
mov qword [rbx + 0x90], rax
test rax, rax
je 0x14000163c
mov r8d, dword [rbx + 0x198]
mov ecx, dword [rbx + 0x1c0]
mov r9d, dword [rbx + 0x158]
add ecx, r8d
imul r9d, r9d
lea edx, [rcx + r8]
add r9d, ecx
lea ecx, [r8 + rdx]
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0x33467c58
mov dword [rdi], eax
add r9d, edx
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0xcc2c530f
mov dword [r14], eax
add r9d, ecx
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0xd6c71332
mov dword [rbx + 0xf4], eax
lea eax, [r8 + rcx]
mov dword [rbx + 0x1c0], eax
mov rcx, rsi
add r9d, eax
rol r9d, 0x10
mov dword [rbx + 0x158], r9d
xor r9d, 0x9b8eb2c4
mov dword [rbx + 0xf8], r9d
mov rdx, qword [rbx + 0xd0]
cmp rcx, 4
jb 0x1400021b8
mov eax, dword [rdi + rcx - 4]
sub rcx, 4
mov dword [rdx + rcx + 0x30], eax
jmp 0x1400021c4
movzx eax, byte [rdi + rcx - 1]
dec rcx
mov byte [rdx + rcx + 0x30], al
test rcx, rcx
jne 0x1400021a4
mov r8d, dword [rbx + 0x198]
mov ecx, dword [rbx + 0x1c0]
mov r9d, dword [rbx + 0x158]
add ecx, r8d
imul r9d, r9d
lea edx, [r8 + rcx]
add r9d, ecx
lea ecx, [rdx + r8]
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0x99e90e18
mov dword [rdi], eax
add r9d, edx
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0xf4b9f199
mov dword [r14], eax
add r9d, ecx
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0x77e7287c
mov dword [rbx + 0xf4], eax
lea eax, [rcx + r8]
mov dword [rbx + 0x1c0], eax
mov rcx, rsi
add r9d, eax
rol r9d, 0x10
mov dword [rbx + 0x158], r9d
xor r9d, 0x434fadd9
mov dword [rbx + 0xf8], r9d
mov rdx, qword [rbx + 0xd0]
cmp rcx, 4
jb 0x140002274
mov eax, dword [rdi + rcx - 4]
sub rcx, 4
mov dword [rdx + rcx + 0x20], eax
jmp 0x140002280
movzx eax, byte [rdi + rcx - 1]
dec rcx
mov byte [rdx + rcx + 0x20], al
test rcx, rcx
jne 0x140002260
mov rcx, qword [rbx + 0x48]
mov edx, 0x2d2ad268
mov r8d, 0x928c7453
call fcn.140001050
mov qword [rbx + 0x110], rax
test rax, rax
je 0x14000163c
lea rdx, [rsp + 0x250]
mov rcx, rbx
call fcn.140001390
mov rax, qword [rbx + 0x1d8]
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x14000163c
mov r8d, dword [rbx + 0x198]
mov ecx, dword [rbx + 0x1c0]
mov r9d, dword [rbx + 0x158]
add ecx, r8d
imul r9d, r9d
lea edx, [r8 + rcx]
add r9d, ecx
lea ecx, [rdx + r8]
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0x5a623348
mov dword [rdi], eax
add r9d, edx
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0x251f7854
mov dword [r14], eax
add r9d, ecx
rol r9d, 0x10
mov eax, r9d
imul r9d, r9d
xor eax, 0x8a2523c4
mov dword [rbx + 0xf4], eax
lea eax, [rcx + r8]
mov dword [rbx + 0x1c0], eax
add r9d, eax
rol r9d, 0x10
mov dword [rbx + 0x158], r9d
xor r9d, 0x1a908c54
mov dword [rbx + 0xf8], r9d
mov rcx, qword [rbx + 0xd0]
cmp rsi, 4
jb 0x140002375
mov eax, dword [rdi + rsi - 4]
sub rsi, 4
mov dword [rcx + rsi + 0x40], eax
jmp 0x140002381
movzx eax, byte [rdi + rsi - 1]
dec rsi
mov byte [rcx + rsi + 0x40], al
test rsi, rsi
jne 0x140002361
mov rax, qword [rbx + 0xa8]
lea r9, [rbx + 0x68]
mov rdx, qword [rbx + 0xd0]
lea r8d, [rsi + 0x71]
mov rcx, qword [rbx + 0x1d8]
mov qword [rsp + 0x20], r13
call rax
test eax, eax
je 0x14000163c
mov rcx, qword [rbx + 0x1d8]
call qword [rbx + 0x1a8]
mov rax, qword [rbx + 0xc8]
lea r8, [rsp + 0x250]
xor r9d, r9d
mov dword [rsp + 0x28], 1
xor edx, edx
mov qword [rsp + 0x20], r13
xor ecx, ecx
call rax
cmp rax, 0x20
jb 0x14000163c
mov rax, qword [rbx + 0x1b0]
xor r9d, r9d
mov rcx, qword [rbx + 0x90]
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], r13d
call rax
test eax, eax
je 0x14000163c
mov rax, qword [rbx + 0x140]
lea r9, [rbx + 0x88]
mov rcx, qword [rbx + 0x90]
lea r8, [rbx + 0x128]
mov edx, 0x20000005
mov qword [rsp + 0x20], r15
call rax
test eax, eax
je 0x14000163c
mov rax, qword [rbx + 8]
lea r9d, [rsi + 4]
mov edx, dword [rbx + 0x128]
xor ecx, ecx
mov r8d, 0x3000
call rax
mov qword [rbx + 0x100], rax
test rax, rax
je 0x14000163c
mov r10, qword [rbx + 0x190]
lea r9, [rbx + 0x1b8]
mov r8d, dword [rbx + 0x128]
mov rdx, rax
mov rcx, qword [rbx + 0x90]
call r10
test eax, eax
je 0x14000163c
mov eax, dword [rbx + 0x128]
cmp dword [rbx + 0x1b8], eax
jne 0x14000163c
mov rcx, qword [rbx + 0x1d0]
call qword [rbx + 0x110]
mov rax, qword [rbx + 0x100]
mov ecx, 0x5a4d
mov qword [rbx + 0x50], rax
cmp word [rax], cx
jne 0x14000163c
mov rcx, qword [rbx + 0x90]
call qword [rbx + 0x110]
mov rcx, qword [rbx]
call qword [rbx + 0x110]
mov rax, qword [rbx + 0x50]
movsxd rdx, dword [rax + 0x3c]
add rdx, qword [rbx + 0x100]
mov qword [rbx + 0xe0], rdx
cmp dword [rdx], 0x4550
jne 0x14000163c
mov eax, 0x8664
cmp word [rdx + 4], ax
jne 0x14000163c
mov eax, 0x20b
cmp word [rdx + 0x18], ax
jne 0x14000163c
movzx ecx, word [rdx + 0x14]
lea r9d, [rsi + 0x40]
mov rax, qword [rbx + 8]
add rcx, 0x18
add rcx, rdx
mov r8d, 0x3000
mov qword [rbx + 0x30], rcx
xor ecx, ecx
mov edx, dword [rdx + 0x50]
call rax
mov qword [rbx + 0x10], rax
mov r8, rax
test rax, rax
je 0x14000163c
mov rcx, qword [rbx + 0xe0]
mov edx, dword [rcx + 0x54]
mov rcx, qword [rbx + 0x100]
test rdx, rdx
je 0x140002595
nop dword [rax]
cmp rdx, 4
jb 0x140002584
mov eax, dword [rcx + rdx - 4]
sub rdx, 4
mov dword [r8 + rdx], eax
jmp 0x140002590
movzx eax, byte [rcx + rdx - 1]
dec rdx
mov byte [r8 + rdx], al
test rdx, rdx
jne 0x140002570
mov rcx, rbx
call fcn.140001190
mov rcx, rbx
call fcn.140001210
mov rcx, rbx
call fcn.1400012f0
mov rax, qword [rbx + 0xe0]
mov r8d, 0x2000
mov rcx, qword [rbx + 0x10]
mov r9d, dword [rax + 0x28]
add r9, rcx
test word [rax + 0x16], r8w
je 0x1400025fa
xor r8d, r8d
lea edx, [r8 + 1]
call r9
mov rcx, qword [rbx + 0x10]
mov edx, 0xf60f7c66
mov r8d, 0x2611a2e3
call fcn.140001050
test rax, rax
je 0x14000163c
call rax
jmp 0x14000163c
call r9
jmp 0x14000163c