Function at 0x14009f20c
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1f0
mov qword [rsp + 0x1a8], 0xfffffffffffffffe
mov qword [r11 + 0x20], rbx
mov rax, qword [0x1401aeec0]
xor rax, rsp
mov qword [rsp + 0x1e0], rax
mov rax, r8
mov rdi, rcx
mov qword [rsp + 0x188], rcx
and dword [rsp + 0xb0], 0
and dword [rsp + 0xb4], 0
and dword [rsp + 0xb8], 0
and dword [rsp + 0xbc], 0
movsxd rbx, edx
lea r9, [r11 - 0x178]
mov r8, rbx
mov edx, 0x41d
mov rcx, rax
call qword [0x140155a48]
mov r11d, dword [rsp + 0xb0]
mov dword [rsp + 0x38], r11d
mov eax, dword [rsp + 0xbc]
mov dword [rsp + 0x3c], eax
lea rdx, [rsp + 0x38]
mov rcx, qword [rsp + 0x240]
call qword [0x140155de0]
mov rax, qword [rdi + 0x170]
mov r12, qword [rax + 0x98]
mov qword [rsp + 0xa8], r12
and dword [rsp + 0x1c0], 0
xor edx, edx
lea r8d, [rdx + 0x1c]
lea rcx, [rsp + 0x1c4]
call fcn.14011b500
lea r9, [rsp + 0x1c0]
mov r8, rbx
mov edx, 0x417
mov rcx, qword [rsp + 0x240]
call qword [0x140155a48]
movsxd r14, dword [rsp + 0x1c4]
mov r13, qword [rdi + 0x170]
add r13, 0x7c8
mov qword [rsp + 0x118], r13
or rsi, 0xffffffffffffffff
cmp r14d, 0xa772
jne 0x14009f37c
lea rax, [rdi + 0x340]
test rax, rax
je 0x14009f347
lea rdx, [rax + 8]
jmp 0x14009f349
xor edx, edx
lea rcx, [rsp + 0x1a0]
call fcn.140002bfc
lea r11, vtable.CShellPidl.0
mov qword [rsp + 0x198], r11
mov r8d, esi
lea rdx, [rsp + 0x198]
mov rcx, qword [rdi + 0x170]
call fcn.1400d4d7c
mov eax, 0xa770
mov r15d, 0x800
cmp r14d, eax
jne 0x14009f6b6
mov r9d, 1
mov r8, rax
mov edx, 0x403
mov rcx, qword [r13 + 0x130]
call qword [0x140155a48]
nop
call qword [0x140155b18]
mov rbx, rax
mov qword [rsp + 0x88], rax
mov edx, 0xcf10
lea rcx, [rsp + 0xd0]
call fcn.1400adda0
mov r9, qword [rax]
mov r8, rsi
mov edx, 3
mov rcx, rbx
call qword [0x140155b20]
mov r11, qword [rsp + 0xd0]
add r11, 0xfffffffffffffff4
cmp r11, qword [0x1401a8050]
je 0x14009f428
mov eax, esi
lock xadd dword [r11], eax
add eax, esi
test eax, eax
jg 0x14009f420
mov rcx, qword [rsp + 0xd0]
add rcx, 0xfffffffffffffff4
call fcn.14011be18
mov rbx, qword [rsp + 0x88]
jmp 0x14009f428
mov rbx, qword [rsp + 0x88]
xor r9d, r9d
xor r8d, r8d
mov edx, r15d
mov rcx, rbx
call qword [0x140155b20]
lea r9, [0x1401642e8]
xor edx, edx
mov r8d, 0x8041
mov rcx, rbx
call qword [0x140155b20]
lea r9, [0x1401642e0]
xor edx, edx
mov r8d, 0x8042
mov rcx, rbx
call qword [0x140155b20]
lea r9, [0x1401642d8]
xor edx, edx
mov r8d, 0x8043
mov rcx, rbx
call qword [0x140155b20]
lea r9, [0x1401642d0]
xor edx, edx
mov r8d, 0x8044
mov rcx, rbx
call qword [0x140155b20]
mov r11, qword [0x1401bb2d0]
mov rbp, qword [r11]
mov qword [rsp + 0x78], rbp
mov rsi, qword [0x1401bb2a0]
mov qword [rsp + 0x70], rsi
xor r9d, r9d
xor r8d, r8d
mov edx, r15d
mov rcx, rbx
call qword [0x140155b20]
mov r13d, 0xea60
mov r15, qword [0x1401bb2d0]
test rsi, rsi
je 0x14009f4e2
cmp rsi, qword [0x1401bb2a0]
je 0x14009f4e7
call fcn.14011d9b0
cmp rbp, r15
je 0x14009f531
test rsi, rsi
jne 0x14009f4fb
call fcn.14011d9b0
xor r11d, r11d
jmp 0x14009f4fe
mov r11, qword [rsi]
cmp rbp, qword [r11 + 0x30]
jne 0x14009f509
call fcn.14011d9b0
mov r9, qword [rbp + 0x18]
mov r8, r13
xor edx, edx
mov rcx, rbx
call qword [0x140155b20]
lea rcx, [rsp + 0x70]
call fcn.14002bd94
mov rbp, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x70]
jmp 0x14009f4cd
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x90], eax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x94], eax
mov r9d, 0x102
mov r8, qword [rsp + 0x90]
mov rdx, rbx
mov rcx, r12
call fcn.1401158a8
mov r12d, eax
cmp eax, r13d
jl 0x14009f66a
mov r15, qword [0x1401bb2d0]
mov rcx, qword [r15]
mov qword [rsp + 0x98], rcx
mov rax, qword [0x1401bb2a0]
mov qword [rsp + 0x90], rax
movaps xmm0, xmmword [rsp + 0x90]
movdqa xmmword [rsp + 0x70], xmm0
mov rbp, qword [rsp + 0x70]
test rbp, rbp
je 0x14009f5aa
cmp rbp, rax
je 0x14009f5af
call fcn.14011d9b0
mov rsi, qword [rsp + 0x78]
cmp rsi, r15
je 0x14009f678
cmp r13d, r12d
je 0x14009f5df
inc r13d
lea rcx, [rsp + 0x70]
call fcn.14002bd94
mov r15, qword [0x1401bb2d0]
mov rax, qword [0x1401bb2a0]
jmp 0x14009f59b
test rbp, rbp
jne 0x14009f5ee
call fcn.14011d9b0
xor r11d, r11d
jmp 0x14009f5f2
mov r11, qword [rbp]
cmp rsi, qword [r11 + 0x30]
jne 0x14009f5fd
call fcn.14011d9b0
mov rax, qword [rsi + 0x18]
cmp dword [rax - 0xc], 0
jl 0x14009f61e
mov qword [rsp + 0x80], rax
lock add dword [rax - 0xc], 1
mov rbx, qword [rsp + 0x88]
jmp 0x14009f655
mov rax, qword [0x1401a8058]
mov qword [rsp + 0x80], rax
mov rsi, qword [rsi + 0x18]
test rsi, rsi
jne 0x14009f63a
xor eax, eax
jmp 0x14009f643
mov rcx, rsi
call qword [0x140155830]
mov r8, rsi
mov edx, eax
lea rcx, [rsp + 0x80]
call fcn.1400035cc
xor r8d, r8d
lea rdx, [rsp + 0x80]
mov rcx, rdi
call fcn.14009c740
jmp 0x14009f678
test eax, eax
je 0x14009f678
mov edx, eax
mov rcx, rdi
call fcn.140088ac4
xor r9d, r9d
mov edx, 0x403
mov r8d, 0xa770
mov r13, qword [rsp + 0x118]
mov rcx, qword [r13 + 0x130]
call qword [0x140155a48]
nop
test rbx, rbx
je 0x14009fb4c
mov rcx, rbx
call qword [0x140155e50]
mov r12, qword [rsp + 0xa8]
mov ebx, 0xa76d
lea esi, [rbx - 1]
cmp r14d, esi
je 0x14009fb56
cmp r14d, ebx
je 0x14009fb56
lea eax, [rbx + 4]
cmp r14d, eax
jne 0x14009fb4c
mov r9d, 1
mov r8, rax
mov edx, 0x403
mov rcx, qword [r13 + 0x130]
call qword [0x140155a48]
xor ebp, ebp
mov qword [rsp + 0x158], rbp
xor ebx, ebx
mov qword [rsp + 0x160], rbx
xor r14d, r14d
mov dword [rsp + 0x168], r14d
xor r12d, r12d
mov qword [rsp + 0x140], r12
xor esi, esi
mov qword [rsp + 0x148], rsi
xor r15d, r15d
mov dword [rsp + 0x150], r15d
call qword [0x140155b18]
mov qword [rsp + 0xa0], rax
mov rcx, qword [rdi + 0x348]
call fcn.1400fc7e8
test eax, eax
je 0x14009fa1d
mov rcx, qword [rdi + 0x348]
call qword [0x140155980]
mov qword [rsp + 0x90], rax
xor r13d, r13d
mov dword [rsp + 0x40], r13d
mov rcx, qword [rdi + 0x348]
call fcn.1400fc7e8
cmp eax, 1
jl 0x14009fa1d
mov esi, eax
mov rdi, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0x90]
mov rcx, rbp
call qword [0x140155958]
mov rcx, rax
call qword [0x140155980]
mov qword [rsp + 0x170], rax
lea r8, [rsp + 0x170]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x140]
call fcn.1400ddbe8
mov rcx, rbp
call qword [0x140155950]
mov rcx, rbp
call qword [0x140155980]
mov qword [rsp + 0x190], rax
lea r8, [rsp + 0x190]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x158]
call fcn.1400ddbe8
mov rdx, rbp
lea rcx, [rsp + 0x178]
call fcn.1400fcf48
nop
lea rdx, [0x14015ae38]
lea rcx, [rsp + 0x50]
call fcn.140003880
nop
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0x178]
call fcn.1400fd544
mov rbx, rax
mov rdx, rbp
lea rcx, [rsp + 0x138]
call fcn.1400fd3b0
nop
lea r8, [rsp + 0x50]
mov rdx, rax
lea rcx, [rsp + 0xc8]
call fcn.140004610
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0xf0]
call fcn.140004610
inc r13d
movsxd r8, r13d
mov r9, qword [rax]
xor edx, edx
mov rcx, qword [rsp + 0xa0]
call qword [0x140155b20]
mov r11, qword [rsp + 0xf0]
add r11, 0xfffffffffffffff4
cmp r11, qword [0x1401a8050]
je 0x14009f8cb
or rbx, 0xffffffffffffffff
mov eax, ebx
lock xadd dword [r11], eax
add eax, ebx
test eax, eax
jg 0x14009f8cf
mov rcx, qword [rsp + 0xf0]
add rcx, 0xfffffffffffffff4
call fcn.14011be18
jmp 0x14009f8cf
or rbx, 0xffffffffffffffff
mov rcx, qword [rsp + 0xc8]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1401a8050]
je 0x14009f902
mov eax, ebx
lock xadd dword [rcx], eax
add eax, ebx
test eax, eax
jg 0x14009f902
mov rcx, qword [rsp + 0xc8]
add rcx, 0xfffffffffffffff4
call fcn.14011be18
nop
mov rcx, qword [rsp + 0x138]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1401a8050]
je 0x14009f935
mov eax, ebx
lock xadd dword [rcx], eax
add eax, ebx
test eax, eax
jg 0x14009f935
mov rcx, qword [rsp + 0x138]
add rcx, 0xfffffffffffffff4
call fcn.14011be18
nop
mov rcx, qword [rsp + 0x110]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1401a8050]
je 0x14009f968
mov eax, ebx
lock xadd dword [rcx], eax
add eax, ebx
test eax, eax
jg 0x14009f968
mov rcx, qword [rsp + 0x110]
add rcx, 0xfffffffffffffff4
call fcn.14011be18
nop
mov rcx, qword [rsp + 0x50]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1401a8050]
je 0x14009f98b
mov eax, ebx
lock xadd dword [rcx], eax
add eax, ebx
test eax, eax
jg 0x14009f98b
call fcn.14011be18
mov edx, 1
lea rcx, [rsp + 0x178]
call fcn.1400fc760
mov ecx, eax
xor edx, edx
call fcn.140113f2c
mov rbx, rax
mov r8d, r13d
mov rdx, rax
mov rcx, rdi
call fcn.140116f34
test eax, eax
jne 0x14009f9c9
mov r8d, r13d
mov rdx, rbx
mov rcx, rdi
call fcn.140116f84
mov dword [rsp + 0x40], r13d
lea rcx, [rsp + 0x178]
call fcn.1400fcf84
sub rsi, 1
jne 0x14009f79c
mov r14d, dword [rsp + 0x168]
mov rbx, qword [rsp + 0x160]
mov rbp, qword [rsp + 0x158]
mov r15d, dword [rsp + 0x150]
mov rsi, qword [rsp + 0x148]
mov r12, qword [rsp + 0x140]
mov rdi, qword [rsp + 0x188]
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x54], eax
mov r9d, 0x102
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
call fcn.1401158a8
mov r13d, eax
xor r9d, r9d
mov edx, 0x403
mov r8d, 0xa771
mov rcx, qword [rsp + 0x118]
mov rcx, qword [rcx + 0x130]
call qword [0x140155a48]
test r13d, r13d
je 0x14009fb03
lea ecx, [r13 - 1]
test ecx, ecx
js 0x14009faed
cmp ecx, r14d
jge 0x14009faed
movsxd rax, ecx
mov rdx, qword [rbx + rax*8]
test ecx, ecx
js 0x14009fad7
cmp ecx, r15d
jge 0x14009fad7
movsxd rax, ecx
mov r13, qword [rsi + rax*8]
lea rcx, [rsp + 0x1b0]
call fcn.1400fcf48
and dword [rsp + 0x20], 0
mov r9d, 1
xor r8d, r8d
mov rdx, rax
mov rcx, rdi
call fcn.1400962c0
test eax, eax
je 0x14009fb03
mov rdx, r13
mov rcx, rdi
call fcn.140087914
jmp 0x14009fb03
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
mov ecx, 0xc000008c
call qword [0x1401557f8]
int3
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
mov ecx, 0xc000008c
call qword [0x1401557f8]
nop
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
je 0x14009fb17
call qword [0x140155e50]
nop
test r12, r12
je 0x14009fb24
mov rcx, r12
call fcn.14011bb0c
test rsi, rsi
je 0x14009fb32
mov rcx, rsi
call fcn.14011bb0c
nop
test rbp, rbp
je 0x14009fb3f
mov rcx, rbp
call fcn.14011bb0c
test rbx, rbx
je 0x14009fb4c
mov rcx, rbx
call fcn.14011bb0c
mov eax, 1
jmp 0x1400a0079
call qword [0x140155b18]
mov qword [rsp + 0x48], rax
cmp r14d, esi
jne 0x14009fd55
mov eax, dword [rdi + 0x268]
sub eax, 1
mov dword [rsp + 0x30], eax
js 0x14009ff52
lea rdx, [rsp + 0x30]
lea rcx, [rdi + 0x370]
call fcn.14009c350
mov rbp, rax
lea rdx, [0x14015ae38]
lea rcx, [rsp + 0x100]
call fcn.140003880
nop
lea rdx, [rsp + 0x130]
mov rcx, rbp
call fcn.1400fd544
mov rbx, rax
mov rdx, qword [rbp + 8]
lea rcx, [rsp + 0xc0]
call fcn.1400fd3b0
nop
lea r8, [rsp + 0x100]
mov rdx, rax
lea rcx, [rsp + 0xe8]
call fcn.140004610
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x128]
call fcn.140004610
mov r9, qword [rax]
mov esi, dword [rsp + 0x30]
inc esi
movsxd r8, esi
xor edx, edx
mov rcx, qword [rsp + 0x48]
call qword [0x140155b20]
mov r11, qword [rsp + 0x128]
add r11, 0xfffffffffffffff4
cmp r11, qword [0x1401a8050]
je 0x14009fc49
or rbx, 0xffffffffffffffff
mov eax, ebx
lock xadd dword [r11], eax
add eax, ebx
test eax, eax
jg 0x14009fc4d
mov rcx, qword [rsp + 0x128]
add rcx, 0xfffffffffffffff4
call fcn.14011be18
jmp 0x14009fc4d
or rbx, 0xffffffffffffffff
mov rcx, qword [rsp + 0xe8]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1401a8050]
je 0x14009fc80
mov eax, ebx
lock xadd dword [rcx], eax
add eax, ebx
test eax, eax
jg 0x14009fc80
mov rcx, qword [rsp + 0xe8]
add rcx, 0xfffffffffffffff4
call fcn.14011be18
nop
mov rcx, qword [rsp + 0xc0]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1401a8050]
je 0x14009fcb3
mov eax, ebx
lock xadd dword [rcx], eax
add eax, ebx
test eax, eax
jg 0x14009fcb3
mov rcx, qword [rsp + 0xc0]
add rcx, 0xfffffffffffffff4
call fcn.14011be18
nop
mov rcx, qword [rsp + 0x130]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1401a8050]
je 0x14009fce6
mov eax, ebx
lock xadd dword [rcx], eax
add eax, ebx
test eax, eax
jg 0x14009fce6
mov rcx, qword [rsp + 0x130]
add rcx, 0xfffffffffffffff4
call fcn.14011be18
nop
mov rcx, qword [rsp + 0x100]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1401a8050]
je 0x14009fd0c
mov eax, ebx
lock xadd dword [rcx], eax
add eax, ebx
test eax, eax
jg 0x14009fd0c
call fcn.14011be18
mov edx, 1
mov rcx, rbp
call fcn.1400fc760
mov ecx, eax
xor edx, edx
call fcn.140113f2c
mov rbx, rax
mov r8d, esi
mov rdx, rax
mov rcx, r12
call fcn.140116f34
test eax, eax
jne 0x14009fd45
mov r8d, esi
mov rdx, rbx
mov rcx, r12
call fcn.140116f84
sub dword [rsp + 0x30], 1
jns 0x14009fb7d
jmp 0x14009ff52
cmp r14d, ebx
jne 0x14009ff52
mov esi, dword [rdi + 0x268]
inc esi
mov dword [rsp + 0x60], esi
mov eax, dword [rdi + 0x3b0]
inc eax
cmp esi, eax
jge 0x14009ff52
lea rdx, [rsp + 0x60]
lea rcx, [rdi + 0x370]
call fcn.14009c350
mov rbp, rax
lea rdx, [0x14015ae38]
lea rcx, [rsp + 0x108]
call fcn.140003880
nop
lea rdx, [rsp + 0xf8]
mov rcx, rbp
call fcn.1400fd544
mov rbx, rax
mov rdx, qword [rbp + 8]
lea rcx, [rsp + 0xd8]
call fcn.1400fd3b0
nop
lea r8, [rsp + 0x108]
mov rdx, rax
lea rcx, [rsp + 0xe0]
call fcn.140004610
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x120]
call fcn.140004610
inc esi
movsxd r8, esi
mov r9, qword [rax]
xor edx, edx
mov rcx, qword [rsp + 0x48]
call qword [0x140155b20]
mov r11, qword [rsp + 0x120]
add r11, 0xfffffffffffffff4
cmp r11, qword [0x1401a8050]
je 0x14009fe42
or rbx, 0xffffffffffffffff
mov eax, ebx
lock xadd dword [r11], eax
add eax, ebx
test eax, eax
jg 0x14009fe46
mov rcx, qword [rsp + 0x120]
add rcx, 0xfffffffffffffff4
call fcn.14011be18
jmp 0x14009fe46
or rbx, 0xffffffffffffffff
mov rcx, qword [rsp + 0xe0]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1401a8050]
je 0x14009fe79
mov eax, ebx
lock xadd dword [rcx], eax
add eax, ebx
test eax, eax
jg 0x14009fe79
mov rcx, qword [rsp + 0xe0]
add rcx, 0xfffffffffffffff4
call fcn.14011be18
nop
mov rcx, qword [rsp + 0xd8]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1401a8050]
je 0x14009feac
mov eax, ebx
lock xadd dword [rcx], eax
add eax, ebx
test eax, eax
jg 0x14009feac
mov rcx, qword [rsp + 0xd8]
add rcx, 0xfffffffffffffff4
call fcn.14011be18
nop
mov rcx, qword [rsp + 0xf8]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1401a8050]
je 0x14009fedf
mov eax, ebx
lock xadd dword [rcx], eax
add eax, ebx
test eax, eax
jg 0x14009fedf
mov rcx, qword [rsp + 0xf8]
add rcx, 0xfffffffffffffff4
call fcn.14011be18
nop
mov rcx, qword [rsp + 0x108]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1401a8050]
je 0x14009ff05
mov eax, ebx
lock xadd dword [rcx], eax
add eax, ebx
test eax, eax
jg 0x14009ff05
call fcn.14011be18
mov edx, 1
mov rcx, rbp
call fcn.1400fc760
mov ecx, eax
xor edx, edx
call fcn.140113f2c
mov rbx, rax
mov r8d, esi
mov rdx, rax
mov rcx, r12
call fcn.140116f34
test eax, eax
jne 0x14009ff3e
mov r8d, esi
mov rdx, rbx
mov rcx, r12
call fcn.140116f84
mov dword [rsp + 0x60], esi
mov eax, dword [rdi + 0x3b0]
inc eax
cmp esi, eax
jl 0x14009fd7a
mov rsi, r14
mov r14d, 1
mov r9, r14
mov r8, rsi
mov r15d, 0x403
mov edx, r15d
mov rcx, qword [r13 + 0x130]
call qword [0x140155a48]
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
call qword [0x140155e48]
mov ebp, 0xffff
test eax, eax
jle 0x1400a0007
xor r9d, r9d
xor r8d, r8d
mov edx, 0x800
mov rcx, rbx
call qword [0x140155b20]
xor edx, edx
lea ecx, [rdx + 0xa]
call fcn.140113fe8
mov r8d, ebp
mov rdx, rax
mov rcx, r12
call fcn.140116f84
lea edx, [r14 + 0x12]
lea rcx, [rsp + 0x58]
call fcn.1400adda0
mov r9, qword [rax]
mov r8, rbp
xor edx, edx
mov rcx, rbx
call qword [0x140155b20]
mov r11, qword [rsp + 0x58]
add r11, 0xfffffffffffffff4
cmp r11, qword [0x1401a8050]
je 0x1400a0007
or eax, 0xffffffff
lock xadd dword [r11], eax
dec eax
test eax, eax
jg 0x1400a0007
mov rcx, qword [rsp + 0x58]
add rcx, 0xfffffffffffffff4
call fcn.14011be18
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x5c], eax
mov r9d, 0x102
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x48]
mov rcx, r12
call fcn.1401158a8
cmp eax, ebp
jne 0x1400a003d
mov rcx, rdi
call fcn.140094fdc
jmp 0x1400a004c
test eax, eax
je 0x1400a004c
lea edx, [rax - 1]
mov rcx, rdi
call fcn.14009d5fc
xor r9d, r9d
mov r8, rsi
mov edx, r15d
mov rcx, qword [r13 + 0x130]
call qword [0x140155a48]
nop
mov rbx, qword [rsp + 0x48]
test rbx, rbx
je 0x1400a0076
mov rcx, rbx
call qword [0x140155e50]
mov eax, r14d
mov rcx, qword [rsp + 0x1e0]
xor rcx, rsp
call fcn.14011b6f0
mov rbx, qword [rsp + 0x248]
add rsp, 0x1f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret