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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov dword [rax + 0x18], r8d
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rsi
push r13
push r15
sub rsp, 0xd0
mov r13d, dword [rcx + 0x34]
xor r15d, r15d
mov qword [rax - 0x28], rbp
mov rsi, r9
mov qword [rax - 0x30], rdi
mov rbp, rcx
mov qword [rax - 0x38], r12
mov rdi, rdx
mov r12, qword [rcx + 0x10]
mov qword [rax - 0x40], r14
lea eax, [r13 + 1]
mov dword [rcx + 0x34], eax
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x34], r13d
mov qword [rsp + 0x60], r12
test r12, r12
jne 0x14004f65b
call fcn.14007a150
mov r12, rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0xc8], rbx
test rsi, rsi
je 0x14004f708
test dword [rdi + 4], 0x800
je 0x14004f708
mov rax, qword [rdi + 0x20]
mov r10d, r15d
mov r8, qword [rax]
movsxd rbx, dword [r8]
test ebx, ebx
jle 0x14004f6f9
mov r8, qword [r8 + 8]
mov r9, r15
mov rcx, qword [r8]
movzx edx, byte [rcx]
lea eax, [rdx + 0x65]
cmp al, 1
ja 0x14004f6a4
mov rcx, qword [rcx + 0x10]
jmp 0x14004f694
cmp dl, 0x9d
jne 0x14004f6ad
movzx edx, byte [rcx + 0x36]
cmp dl, 0x61
je 0x14004f6ea
cmp dl, 0x83
jbe 0x14004f6f9
cmp dl, 0x86
jbe 0x14004f6ea
cmp dl, 0x98
jne 0x14004f6f9
test dword [rcx + 4], 0x100000
jne 0x14004f6f9
movzx eax, word [rcx + 0x30]
test ax, ax
js 0x14004f6ea
movsx rdx, ax
mov rax, qword [rcx + 0x40]
shl rdx, 5
mov rcx, qword [rax + 8]
cmp byte [rdx + rcx + 0x18], r15b
je 0x14004f6f9
inc r10d
inc r9
add r8, 0x28
cmp r9, rbx
jl 0x14004f691
cmp r10d, ebx
cmove rsi, r15
mov qword [rsp + 0x108], rsi
mov r14d, 1
cmp dword [rbp + 0x30], r15d
jne 0x14004ff63
mov eax, dword [rdi + 4]
bt eax, 0xb
jae 0x14004ff63
test al, 0x20
jne 0x14004ff63
mov rax, qword [rdi + 0x20]
cmp qword [rax + 0x48], r15
jne 0x14004ff63
test byte [rax + 0xc], 9
jne 0x14004ff63
cmp qword [rax + 0x58], r15
jne 0x14004ff63
cmp qword [rax + 0x28], r15
jne 0x14004ff63
mov rcx, qword [rax + 0x20]
cmp dword [rcx], r14d
jne 0x14004ff63
cmp qword [rcx + 0x30], r15
jne 0x14004ff63
mov r14, qword [rcx + 0x28]
cmp dword [r14 + 0x54], r15d
jne 0x14004feb1
mov rax, qword [rax]
mov qword [rsp + 0x50], rax
movsxd rbx, dword [rax]
mov dword [rsp + 0x30], ebx
test ebx, ebx
jle 0x14004f7b8
mov rcx, qword [rax + 8]
mov rdx, r15
nop dword [rax + rax]
mov rax, qword [rcx]
cmp byte [rax], 0x98
jne 0x14004feb1
inc rdx
add rcx, 0x28
cmp rdx, rbx
jl 0x14004f7a0
mov r8, qword [r14 + 0x70]
mov ecx, 0xfff0bdc0
mov rax, qword [rbp]
mov qword [rsp + 0x68], rax
test r8, r8
je 0x14004f7f4
mov edx, dword [rax + 0x28]
mov ecx, r15d
test edx, edx
jle 0x14004f7f4
mov r9, qword [rax + 0x20]
nop dword [rax]
movsxd rax, ecx
shl rax, 5
cmp qword [rax + r9 + 0x18], r8
je 0x14004f7f4
inc ecx
cmp ecx, edx
jl 0x14004f7e0
mov rax, qword [rbp + 0xa0]
movsx esi, cx
test rax, rax
mov rcx, rbp
mov dword [rsp + 0x48], esi
cmovne rcx, rax
mov eax, dword [rcx + 0x7c]
bt eax, esi
jb 0x14004f824
bts eax, esi
mov dword [rcx + 0x7c], eax
cmp esi, 1
jne 0x14004f824
call fcn.140061930
mov rax, qword [r14]
xor r9d, r9d
mov r8d, dword [r14 + 0x38]
mov edx, esi
mov rcx, rbp
mov qword [rsp + 0x20], rax
call fcn.1400599b0
mov r9, qword [rsp + 0x50]
cmp ebx, 1
jne 0x14004f8e9
mov rax, qword [r9 + 8]
mov rcx, qword [rax]
cmp word [rcx + 0x30], r15w
jge 0x14004f8e9
lea edx, [rbx + 0x13]
mov rcx, r12
call fcn.1400370c0
mov r9, r14
mov dword [rsp + 0x20], 0x69
mov r8d, esi
mov edx, r13d
mov rcx, rbp
mov ebx, eax
call fcn.14006b640
mov edx, dword [r12 + 0xb8]
mov esi, 1
test ebx, ebx
jns 0x14004f897
lea ebx, [rdx - 1]
mov rax, qword [r12]
cmp byte [rax + 0x55], r15b
je 0x14004f8c0
mov r13, qword [rsp + 0xf8]
lea rax, [0x1400fbd48]
mov dword [rax + 8], edx
mov eax, dword [rsp + 0x34]
mov dword [r13 + 0x2c], eax
jmp 0x14004ffdf
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x68]
mov dword [rax + rcx*8 + 8], edx
lea rax, [rax + rcx*8]
mov r13, qword [rsp + 0xf8]
mov eax, dword [rsp + 0x34]
mov dword [r13 + 0x2c], eax
jmp 0x14004ffdf
mov qword [rsp + 0x40], rbx
mov esi, 1
mov r8, rbx
test ebx, ebx
jle 0x14004fa09
mov r13, qword [rsp + 0xf8]
mov rbp, r15
mov rdi, r15
nop dword [rax]
test esi, esi
je 0x14004feb9
mov rdx, qword [r13 + 0x10]
movzx r8d, byte [rdx]
movzx eax, r8b
cmp r8b, 0x9d
jne 0x14004f92e
movzx eax, byte [rdx + 0x36]
cmp al, 0x9e
jne 0x14004f93b
mov rax, qword [rdx + 0x20]
mov rcx, rax
jmp 0x14004f946
cmp al, 0x77
jne 0x14004f96c
mov rax, qword [rdx + 0x20]
mov rcx, qword [rax]
cmp dword [rcx], 1
jle 0x14004f96c
cmp r8b, 0x77
je 0x14004f961
cmp byte [rdx + 0x36], 0x77
je 0x14004f961
mov rax, qword [rax + 8]
mov rdx, qword [rdi + rax]
jmp 0x14004f96c
mov rax, qword [rax]
mov rcx, qword [rax + 8]
mov rdx, qword [rdi + rcx]
mov rax, qword [r9 + 8]
mov rcx, qword [rax + rdi]
movzx eax, word [rcx + 0x30]
test ax, ax
js 0x14004f990
movsx rcx, ax
mov rax, qword [r14 + 8]
shl rcx, 5
movzx ebx, byte [rcx + rax + 0x19]
jmp 0x14004f992
mov bl, 0x44
mov rcx, rdx
call fcn.14004c460
test al, al
je 0x14004f9b3
test bl, bl
je 0x14004f9bb
cmp al, 0x43
jge 0x14004f9af
cmp bl, 0x43
jge 0x14004f9af
mov al, 0x41
jmp 0x14004f9bd
mov al, 0x43
jmp 0x14004f9bd
test bl, bl
jne 0x14004f9bb
mov al, 0x41
jmp 0x14004f9bd
add al, bl
movsx ecx, al
sub ecx, 0x41
je 0x14004f9d4
cmp ecx, 1
je 0x14004f9d4
cmp bl, 0x43
mov esi, r15d
setge sil
mov r8, qword [rsp + 0x40]
inc rbp
mov r9, qword [rsp + 0x50]
add rdi, 0x28
cmp rbp, r8
jl 0x14004f910
test esi, esi
je 0x14004feb9
mov rbp, qword [rsp + 0xf0]
mov ebx, r8d
mov rdi, qword [rsp + 0xf8]
mov r13, qword [r14 + 0x10]
test r13, r13
je 0x14004feb1
lea r14, [0x1400fbd48]
mov esi, r15d
test esi, esi
jne 0x14004f8d4
movzx ecx, word [r13 + 0x60]
cmp ecx, ebx
jl 0x14004fe8f
cmp ecx, 0x3f
jae 0x14004fe8f
test byte [rsp + 0x100], 4
je 0x14004fa63
movzx eax, word [r13 + 0x5e]
cmp eax, ebx
jg 0x14004fe8f
cmp ecx, ebx
jle 0x14004fa63
cmp byte [r13 + 0x62], sil
je 0x14004fe8f
mov rdx, r15
mov r12, r15
mov qword [rsp + 0x58], rdx
test r8, r8
jle 0x14004fc1c
mov r14, r15
nop word [rax + rax]
mov rdx, qword [rdi + 0x10]
movzx r8d, byte [rdx]
movzx eax, r8b
cmp r8b, 0x9d
jne 0x14004fa96
movzx eax, byte [rdx + 0x36]
cmp al, 0x9e
jne 0x14004faa3
mov rax, qword [rdx + 0x20]
mov rcx, rax
jmp 0x14004faae
cmp al, 0x77
jne 0x14004fad4
mov rax, qword [rdx + 0x20]
mov rcx, qword [rax]
cmp dword [rcx], 1
jle 0x14004fad4
cmp r8b, 0x77
je 0x14004fac9
cmp byte [rdx + 0x36], 0x77
je 0x14004fac9
mov rax, qword [rax + 8]
mov rdx, qword [r14 + rax]
jmp 0x14004fad4
mov rax, qword [rax]
mov rcx, qword [rax + 8]
mov rdx, qword [r14 + rcx]
test dword [rdx + 4], 0x100
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 8]
mov rbx, qword [r14 + rax]
jne 0x14004fb0b
test rbx, rbx
je 0x14004faf8
test dword [rbx + 4], 0x100
jne 0x14004fb08
mov rcx, rbp
call fcn.14004c610
mov rsi, rax
test rax, rax
jne 0x14004fb16
mov rdx, rbx
mov rcx, rbp
call fcn.14004c610
mov rsi, rax
movzx ebp, word [rbx + 0x30]
mov edi, r15d
mov rbx, qword [r13 + 8]
mov r11, r15
mov rdx, qword [rsp + 0x40]
lea r15, [0x1400e2570]
cmp word [rbx], bp
jne 0x14004fb9c
test rsi, rsi
je 0x14004fbb1
mov rcx, qword [r13 + 0x40]
mov rax, qword [rsi]
mov r10, qword [rcx + r11*8]
movzx r8d, byte [rax]
movzx ecx, byte [r10]
movzx r9d, byte [r8 + r15]
movzx ecx, byte [rcx + r15]
sub r9d, ecx
jne 0x14004fb9c
sub r10, rax
nop
test r8b, r8b
je 0x14004fb8b
movzx ecx, byte [r10 + rax + 1]
lea r9, [0x1400e2570]
movzx r8d, byte [rax + 1]
inc rax
movzx edx, byte [rcx + r9]
movzx r9d, byte [r8 + r9]
sub r9d, edx
je 0x14004fb60
jmp 0x14004fb90
test r9d, r9d
je 0x14004fbac
mov rdx, qword [rsp + 0x40]
lea r15, [0x1400e2570]
inc edi
inc r11
add rbx, 2
cmp r11, rdx
jl 0x14004fb30
jmp 0x14004fbb1
mov rdx, qword [rsp + 0x40]
mov ebx, dword [rsp + 0x30]
mov r15d, 0
cmp edi, ebx
je 0x14004fc0c
mov ecx, edi
mov eax, 1
shl rax, cl
mov rcx, qword [rsp + 0x58]
test rcx, rax
jne 0x14004fc0c
or rcx, rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x58], rcx
test rax, rax
je 0x14004fbec
mov dword [rax + r12*4], edi
mov rbp, qword [rsp + 0xf0]
inc r12
mov rdi, qword [rsp + 0xf8]
add r14, 0x28
cmp r12, rdx
jl 0x14004fa80
mov rdx, qword [rsp + 0x58]
lea r14, [0x1400fbd48]
mov esi, dword [rsp + 0x38]
mov ecx, ebx
mov eax, 1
shl rax, cl
dec rax
cmp rdx, rax
jne 0x14004fe87
mov r12, qword [rsp + 0x60]
mov rax, qword [r12 + 0x18]
movsxd rdi, dword [r12 + 0xb8]
cmp dword [rax + 0x3c], edi
jg 0x14004fc64
xor r9d, r9d
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov rcx, r12
lea edx, [r9 + 0x14]
call fcn.140036ff0
mov edi, eax
jmp 0x14004fc8e
lea rcx, [rdi + rdi*2]
lea eax, [rdi + 1]
mov dword [r12 + 0xb8], eax
mov rax, qword [r12 + 0x68]
mov qword [rax + rcx*8], 0x14
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r15
mov r8, qword [r13]
lea rdx, str.USING_INDEX__s_FOR_IN_OPERATOR
mov rcx, qword [rsp + 0x68]
call fcn.140017540
movsxd rdx, dword [r12 + 0xb8]
mov rbx, rax
mov rax, qword [r12 + 0x18]
cmp dword [rax + 0x3c], edx
jg 0x14004fcd4
xor r9d, r9d
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov edx, 0xa3
mov rcx, r12
call fcn.140036ff0
mov edx, eax
jmp 0x14004fcfe
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [r12 + 0xb8], eax
mov rax, qword [r12 + 0x68]
mov qword [rax + rcx*8], 0xa3
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r15
mov rcx, qword [r12]
cmp byte [rcx + 0x55], 0
je 0x14004fd17
mov r8, rbx
mov edx, 0xffffffff
call fcn.140037e90
jmp 0x14004fd5c
test edx, edx
jns 0x14004fd25
mov edx, dword [r12 + 0xb8]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x68]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x14004fd4f
mov r9d, 0xffffffff
mov r8, rbx
mov rcx, r12
call fcn.1400380f0
jmp 0x14004fd5c
test rbx, rbx
je 0x14004fd5c
mov qword [rdx + 0x10], rbx
mov byte [rdx + 1], 0xff
mov rax, qword [r12 + 0x18]
movsxd rcx, dword [r12 + 0xb8]
mov edx, dword [r13 + 0x58]
mov r8d, dword [rsp + 0x34]
cmp dword [rax + 0x3c], ecx
jg 0x14004fd91
mov eax, dword [rsp + 0x48]
mov r9d, edx
mov edx, 0x69
mov dword [rsp + 0x20], eax
mov rcx, r12
call fcn.140036ff0
jmp 0x14004fdc2
lea eax, [rcx + 1]
mov dword [r12 + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x68]
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [rsp + 0x48]
mov dword [rax + rcx*8 + 0xc], edx
mov dword [rax + rcx*8], 0x69
mov dword [rax + rcx*8 + 4], r8d
mov qword [rax + rcx*8 + 0x10], r15
mov rbp, qword [rsp + 0xf0]
mov rdx, r13
mov rcx, rbp
mov rbx, qword [rbp + 0x10]
call fcn.140062240
mov rdx, rax
test rax, rax
je 0x14004fe12
mov rcx, qword [rbx]
cmp byte [rcx + 0x55], 0
je 0x14004fdf9
mov r8, rax
mov edx, 0xfffffffb
call fcn.140037e90
jmp 0x14004fe12
movsxd rax, dword [rbx + 0xb8]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
mov byte [rax + rcx*8 - 0x17], 0xfb
mov qword [rax + rcx*8 - 8], rdx
mov rax, qword [r13 + 0x38]
mov rcx, qword [rsp + 0x108]
mov ebx, dword [rsp + 0x30]
movzx esi, byte [rax]
add esi, 3
mov dword [rsp + 0x38], esi
test rcx, rcx
je 0x14004fe50
mov r8d, dword [rbp + 0x38]
inc r8d
mov dword [rbp + 0x38], r8d
mov dword [rcx], r8d
cmp ebx, 1
jne 0x14004fe50
mov edx, dword [rsp + 0x34]
mov rcx, r12
call fcn.14004f460
mov rax, qword [r12]
mov edx, dword [r12 + 0xb8]
cmp byte [rax + 0x55], 0
je 0x14004fe6a
mov rax, r14
mov dword [rax + 8], edx
jmp 0x14004fe8f
lea eax, [rdx - 1]
test edi, edi
cmovns eax, edi
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x68]
mov dword [rax + rcx*8 + 8], edx
lea rax, [rax + rcx*8]
jmp 0x14004fe8f
mov rbp, qword [rsp + 0xf0]
mov r13, qword [r13 + 0x28]
mov r8, qword [rsp + 0x40]
mov rdi, qword [rsp + 0xf8]
test r13, r13
jne 0x14004fa20
test esi, esi
jne 0x14004f8d4
mov r13, qword [rsp + 0xf8]
mov r14d, 1
mov ebp, dword [rsp + 0x100]
test bpl, 1
je 0x14004ff70
test dword [r13 + 4], 0x800
jne 0x14004ff70
mov rbx, qword [r13 + 0x10]
lea rcx, [rsp + 0x70]
xor eax, eax
mov qword [r13 + 0x10], r15
mov qword [rsp + 0x90], rax
mov rdx, r13
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x88], rax
lea rax, [0x14004f1e0]
mov qword [rsp + 0x78], rax
lea rax, [0x14004f250]
mov qword [rsp + 0x80], rax
mov byte [rsp + 0x94], 1
mov dword [rsp + 0x98], r15d
call fcn.140049a10
cmp byte [rsp + 0x94], 0
mov qword [r13 + 0x10], rbx
je 0x14004ff54
mov rax, qword [r13 + 0x20]
cmp dword [rax], 2
jg 0x14004ff70
mov eax, dword [rsp + 0x34]
mov esi, 5
mov dword [r13 + 0x2c], eax
jmp 0x14004ffdf
mov r13, qword [rsp + 0xf8]
jmp 0x14004febf
mov rdi, qword [rsp + 0xf0]
mov r8d, r15d
mov esi, 2
mov ebx, dword [rdi + 0xb4]
test bpl, 4
je 0x14004ffad
mov dword [rdi + 0xb4], r15d
mov rax, qword [r13 + 0x10]
cmp word [rax + 0x30], 0
jge 0x14004ffc4
test dword [r13 + 4], 0x800
jne 0x14004ffc4
mov esi, r14d
jmp 0x14004ffc4
mov rax, qword [rsp + 0x108]
test rax, rax
je 0x14004ffc4
inc dword [rdi + 0x38]
mov r8d, dword [rdi + 0x38]
mov dword [rax], r8d
cmp esi, 1
mov r9d, r15d
mov rdx, r13
mov rcx, rdi
sete r9b
call fcn.140050290
mov dword [rdi + 0xb4], ebx
mov r9, qword [rsp + 0x110]
mov r14, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xb8]
mov rbp, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xc8]
test r9, r9
je 0x14005010f
lea eax, [rsi - 3]
cmp eax, 1
jbe 0x14005010f
mov rcx, qword [r13 + 0x10]
movzx eax, byte [rcx]
cmp al, 0x9d
jne 0x140050033
movzx eax, byte [rcx + 0x36]
cmp al, 0x9e
jne 0x140050040
mov rax, qword [rcx + 0x20]
mov r10d, dword [rax]
jmp 0x140050056
cmp al, 0x77
jne 0x140050050
mov rax, qword [rcx + 0x20]
mov rcx, qword [rax]
mov r10d, dword [rcx]
jmp 0x140050056
mov r10d, 1
test r10d, r10d
jle 0x1400500f0
cmp r10d, 0x10
jb 0x1400500f0
movdqa xmm2, xmmword [0x1400e5d30]
mov eax, r10d
and eax, 0x8000000f
jge 0x140050082
dec eax
or eax, 0xfffffff0
inc eax
mov r8d, r10d
lea rcx, [r9 + 0x20]
sub r8d, eax
mov edx, 8
lea eax, [rdx - 4]
movd xmm0, r15d
pshufd xmm0, xmm0, 0
lea rcx, [rcx + 0x40]
paddd xmm0, xmm2
movd xmm1, eax
movdqu xmmword [rcx - 0x60], xmm0
lea eax, [rdx + 4]
add r15d, 0x10
pshufd xmm1, xmm1, 0
paddd xmm1, xmm2
movd xmm0, edx
movdqu xmmword [rcx - 0x50], xmm1
add edx, 0x10
movd xmm1, eax
pshufd xmm0, xmm0, 0
pshufd xmm1, xmm1, 0
paddd xmm0, xmm2
paddd xmm1, xmm2
movdqu xmmword [rcx - 0x40], xmm0
movdqu xmmword [rcx - 0x30], xmm1
cmp r15d, r8d
jl 0x140050091
movsxd rcx, r15d
movsxd rdx, r10d
cmp rcx, rdx
jge 0x14005010f
nop dword [rax + rax]
mov dword [r9 + rcx*4], r15d
inc r15d
inc rcx
cmp rcx, rdx
jl 0x140050100
mov eax, esi
add rsp, 0xd0
pop r15
pop r13
pop rsi
ret