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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
mov r14, qword [rcx]
mov qword [rsp + 0x110], rcx
mov rdi, qword [rsp + 0x110]
mov rax, qword [r14]
mov qword [rsp + 0x118], rdx
mov dword [rsp + 0x8c], 0
mov r11, qword [r14 + 8]
mov r13, qword [r14 + 0x10]
mov rdi, qword [rdi + 0x10]
mov qword [rsp + 0x40], rax
mov rax, qword [rcx + 8]
movzx r10d, byte [rdi + 0x10]
mov rcx, rax
mov qword [rsp + 0x60], rax
mov rax, qword [rax + 0x20]
mov edx, dword [rcx + 0x14]
imul rsi, r10, 0x68
add rsi, r11
test edx, edx
mov rbx, qword [rsi + 0x28]
mov qword [rsp + 0x68], rbx
jle 0x767b44
lea r9d, [rdx - 1]
mov ebx, dword [rsi + 0x4c]
xor r12d, r12d
add r9, 1
imul r9, r9, 0x38
add r9, rax
movzx ecx, word [rax + 0x12]
mov edx, ecx
and edx, 0xffffffbf
cmp dword [rax + 0x1c], ebx
mov word [rax + 0x12], dx
jne 0x767310
test qword [rax + 0x28], r8
jne 0x767310
movzx ebp, word [rax + 0x14]
and ebp, 0xf7ff
je 0x767310
and ecx, 0x80
jne 0x767310
test byte [rsi + 0x44], 0x58
je 0x767302
mov rcx, qword [rax]
test byte [rcx + 4], 3
je 0x767310
cmp ebx, dword [rcx + 0x34]
jne 0x767310
or edx, 0x40
add r12d, 1
mov word [rax + 0x12], dx
nop dword [rax]
add rax, 0x38
cmp r9, rax
jne 0x7672c2
movsxd r12, r12d
imul rdx, r12, 0x1c
lea rax, [rdx + 0x88]
mov qword [rsp + 0x50], rax
test r13, r13
je 0x76747a
mov r15d, dword [r13]
test r15d, r15d
jle 0x7679d3
imul r10, r10, 0x68
xor ecx, ecx
mov qword [rsp + 0x70], r14
lea rsi, [r13 + 8]
mov dword [rsp + 0x58], r15d
lea rbx, [0x0073b810]
mov r14, rsi
lea rbp, [0x00745e80]
mov rsi, rbx
mov ebx, ecx
lea rax, [r11 + r10]
mov qword [rsp + 0x48], rax
mov r15, qword [r14]
mov ecx, 1
mov qword [rsp + 0x98], rbp
mov word [rsp + 0xb4], cx
mov qword [rsp + 0xa0], rsi
mov dword [rsp + 0xb8], 0
test r15, r15
je 0x7675d2
lea rcx, [rsp + 0x90]
mov rdx, r15
call fcn.00745470
cmp word [rsp + 0xb4], 0
jne 0x7675d2
test byte [r14 + 0x10], 2
jne 0x76747a
movzx eax, byte [r15]
cmp al, 0xa7
je 0x7675c0
cmp al, 0x71
jne 0x76747a
mov rax, qword [r15 + 0x10]
cmp byte [rax], 0xa7
jne 0x76747a
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx + 0x4c]
cmp dword [rax + 0x2c], ecx
jne 0x76747a
movzx edx, word [rax + 0x30]
mov word [r15 + 0x30], dx
movsx rax, word [rax + 0x30]
test ax, ax
js 0x7675d2
lea rdx, [rax + rax*2]
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 8]
lea rdx, [rax + rdx*8]
movzx ecx, word [rdx + 0x12]
mov rax, qword [rdx]
lea rdx, str.BINARY
test ch, 2
jne 0x767444
jmp 0x767464
add rax, 1
cmp byte [rax], 0
jne 0x767440
and ecx, 4
jne 0x7675a0
add rax, 1
mov rdx, rax
lea rax, str.BINARY
cmove rdx, rax
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x76747a
call fcn.007423c0
test eax, eax
je 0x7675d2
xor ebx, ebx
xor ebp, ebp
xor r15d, r15d
mov rax, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rax]
add rdx, rbx
call fcn.007549c0
test rax, rax
mov rsi, rax
je 0x767bca
lea r11, [rax + r12*8 + 0x80]
xor edx, edx
mov dword [rsi + 0x70], ebp
lea rax, [r12 + r12*2]
mov qword [rsi + 8], r11
lea r14, [r11 + rax*4]
mov rax, qword [rsp + 0x40]
mov word [rsp + 0x48], dx
add rbx, r14
mov qword [rsi + 0x18], r14
mov qword [rsi + 0x20], rbx
mov rbx, qword [rsp + 0x60]
mov dword [rsi + 0x74], 0
mov qword [rsi + 0x68], rax
mov qword [rsi + 0x60], rbx
mov rax, qword [rbx + 0x20]
mov ebx, dword [rbx + 0x14]
test ebx, ebx
jle 0x767b55
xor edx, edx
xor r12d, r12d
mov r10d, 1
mov qword [rsp + 0x50], rdi
jmp 0x76753e
cmp r9w, 0x40
je 0x7675f2
test bp, 0x180
je 0x767600
cmp r9w, 0x100
setne cl
add ecx, 0x47
mov byte [r8 + 4], cl
add r12d, 1
add edx, 1
add rax, 0x38
cmp ebx, edx
je 0x767683
movzx ecx, word [rax + 0x12]
test cl, 0x40
je 0x76752f
mov r9d, dword [rax + 0x20]
movsxd r8, r12d
movzx ebp, word [rax + 0x14]
lea r8, [r8 + r8*2]
lea r8, [r11 + r8*4]
mov dword [r8 + 8], edx
mov dword [r8], r9d
mov r9d, ebp
and r9w, 0x3fff
cmp r9w, 1
jne 0x767505
test cx, cx
js 0x767594
mov r9d, dword [rsi + 0x74]
mov edi, r10d
mov ecx, r12d
shl edi, cl
mov ebp, r9d
or r9d, edi
cmp r12d, 0x20
cmovge r9d, ebp
mov dword [rsi + 0x74], r9d
mov byte [r8 + 4], 2
jmp 0x76752b
add rax, 1
cmp byte [rax], 0
je 0x767452
add rax, 1
cmp byte [rax], 0
jne 0x7675a0
jmp 0x767452
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x4c]
cmp dword [r15 + 0x2c], eax
jne 0x76747a
add ebx, 1
add r14, 0x20
cmp dword [rsp + 0x58], ebx
jne 0x767375
mov r14, qword [rsp + 0x70]
mov r15d, dword [rsp + 0x58]
jmp 0x7679d9
movzx ecx, byte [rax + 0x17]
mov byte [r8 + 4], cl
jmp 0x76752b
and ebp, 0x3c
mov byte [r8 + 4], r9b
je 0x76752b
mov rcx, qword [rax]
mov rbp, qword [rcx + 0x18]
movzx ecx, byte [rbp]
cmp cl, 0xb0
jne 0x767621
movzx ecx, byte [rbp + 2]
cmp cl, 0xb1
je 0x767a04
cmp cl, 0x8a
jne 0x76752b
mov rcx, qword [rbp + 0x20]
mov rcx, qword [rcx + 0x20]
mov ecx, dword [rcx]
cmp ecx, 1
jle 0x76752b
movzx ebp, word [rsp + 0x48]
mov ecx, r12d
mov edi, r10d
shl edi, cl
mov ecx, edi
or ecx, ebp
cmp r12d, 0x10
cmovl ebp, ecx
cmp r9w, 0x10
mov word [rsp + 0x48], bp
je 0x767b3a
cmp r9w, 4
jne 0x76752b
mov byte [r8 + 4], 0x20
jmp 0x76752b
mov rdi, qword [rsp + 0x50]
test r15d, r15d
mov dword [rsi], r12d
je 0x76774d
lea eax, [r15 - 1]
xor r15d, r15d
mov qword [rsp + 0x50], rdi
lea r12, [r13 + 8]
shl rax, 5
mov qword [rsp + 0x58], rsi
mov edi, r15d
lea r13, [r13 + rax + 0x28]
lea rax, [rsp + 0x90]
lea rbp, [0x00745e80]
mov rsi, rax
lea rbx, [0x0073b810]
nop
mov r15, qword [r12]
mov eax, 1
mov qword [rsp + 0x98], rbp
mov word [rsp + 0xb4], ax
mov qword [rsp + 0xa0], rbx
mov dword [rsp + 0xb8], 0
test r15, r15
je 0x767734
mov rdx, r15
mov rcx, rsi
call fcn.00745470
cmp word [rsp + 0xb4], 0
jne 0x767734
movsxd rax, edi
add edi, 1
lea rdx, [r14 + rax*8]
movsx eax, word [r15 + 0x30]
mov dword [rdx], eax
movzx eax, byte [r12 + 0x10]
and eax, 1
mov byte [rdx + 4], al
add r12, 0x20
cmp r13, r12
jne 0x7676d0
mov rsi, qword [rsp + 0x58]
mov r15d, edi
mov rdi, qword [rsp + 0x50]
mov r12d, dword [rsi]
movzx eax, word [rdi + 0x40]
mov dword [rsi + 0x10], r15d
xor r13d, r13d
xor r14d, r14d
and byte [rdi + 0x1c], 0xfe
mov word [rdi + 0x12], r13w
mov dword [rdi + 0x38], 0x400
cmp r12d, eax
mov word [rdi + 0x3c], r14w
jg 0x767842
movzx ecx, word [rsp + 0x48]
xor r9d, r9d
mov qword [rsp + 0x20], rsi
mov r8, 0xffffffffffffffff
mov rdx, qword [rsp + 0x118]
lea rax, [rsp + 0x8c]
lea r13, [rsp + 0x90]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x28], ecx
mov rcx, qword [rsp + 0x110]
call fcn.00760e40
mov r11d, dword [rsp + 0x8c]
mov ebp, eax
test r11d, r11d
jne 0x767992
test ebp, ebp
je 0x7678a3
mov edx, dword [rsi + 0x38]
test edx, edx
jne 0x767984
mov rax, qword [rsp + 0x40]
xor ebx, ebx
mov rdi, qword [rax]
mov eax, dword [rsi]
test eax, eax
jle 0x767821
nop word [rax + rax]
mov rcx, qword [rsi + rbx*8 + 0x80]
call fcn.007419b0
mov qword [rsi + rbx*8 + 0x80], 0
add rbx, 1
cmp dword [rsi], ebx
jg 0x767800
mov rdx, rsi
mov rcx, rdi
call fcn.00741080
mov eax, ebp
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x40]
mov r8d, r12d
mov rdx, rdi
mov rcx, qword [rax]
call fcn.00757080
test eax, eax
je 0x767779
mov ebp, dword [rsi]
xor ebx, ebx
mov rax, qword [rsp + 0x40]
test ebp, ebp
mov rdi, qword [rax]
jle 0x767891
nop dword [rax]
mov rcx, qword [rsi + rbx*8 + 0x80]
call fcn.007419b0
mov qword [rsi + rbx*8 + 0x80], 0
add rbx, 1
cmp dword [rsi], ebx
jg 0x767870
mov rdx, rsi
mov rcx, rdi
mov ebp, 7
call fcn.00741080
jmp 0x76782c
mov r15, qword [rsp + 0x118]
mov ebx, dword [rsp + 0x90]
not r15
mov rax, r15
and rax, qword [rdi]
mov dword [rsp + 0x78], ebx
mov qword [rsp + 0x48], rax
jne 0x767a0f
test ebx, ebx
je 0x7677df
mov eax, dword [rsp + 0x50]
mov qword [rsp + 0x30], r13
mov r9d, 1
mov r8, 0xffffffffffffffff
mov rdx, qword [rsp + 0x118]
mov qword [rsp + 0x20], rsi
mov rbx, r15
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x28], eax
call fcn.00760e40
and rbx, qword [rdi]
sete dl
test eax, eax
mov qword [rsp + 0x58], rbx
movzx edx, dl
mov dword [rsp + 0x70], edx
je 0x767bc1
nop dword [rax]
mov ebp, eax
mov eax, dword [rsp + 0x70]
or eax, ebp
jne 0x7677df
mov eax, dword [rsp + 0x50]
mov qword [rsp + 0x30], r13
mov r9d, 1
mov r8, qword [rsp + 0x118]
mov qword [rsp + 0x20], rsi
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x28], eax
mov rdx, r8
call fcn.00760e40
mov edx, dword [rsi + 0x38]
mov ebp, eax
test edx, edx
je 0x7677ea
mov rcx, qword [rsi + 0x30]
call fcn.00740fd0
jmp 0x7677ea
mov eax, dword [rsp + 0x50]
mov qword [rsp + 0x30], r13
xor r9d, r9d
mov r8, 0xffffffffffffffff
mov rdx, qword [rsp + 0x118]
mov qword [rsp + 0x20], rsi
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x28], eax
call fcn.00760e40
mov ebp, eax
jmp 0x7677d7
jne 0x76747a
movzx ebp, word [r14 + 0x44]
movsxd rbx, r15d
shl rbx, 3
test bpl, 0x80
je 0x767b2e
test bp, 0x200
setne bpl
movzx ebp, bpl
add ebp, 2
jmp 0x767481
mov rcx, qword [rbp + 0x20]
mov ecx, dword [rcx]
jmp 0x76763d
mov r10d, dword [rsp + 0x78]
test r10d, r10d
jne 0x7678d2
mov qword [rsp + 0x58], 0
lea eax, [r12 - 1]
mov qword [rsp + 0x68], rdi
mov rdi, qword [rsp + 0x118]
xor ebx, ebx
lea r14, [rax + rax*2]
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x7c], ebp
mov rbp, rsi
shl r14, 2
mov rsi, r15
mov r15, r14
mov r14, qword [rsp + 0x60]
mov dword [rsp + 0x70], eax
mov rcx, rbx
test r12d, r12d
jle 0x767b60
mov rdx, qword [rbp + 8]
mov rbx, 0xffffffffffffffff
mov r9, qword [r14 + 0x20]
lea rax, [rdx + 8]
lea r8, [rdx + r15 + 0x14]
movsxd rdx, dword [rax]
imul rdx, rdx, 0x38
mov r10, qword [r9 + rdx + 0x28]
and r10, rsi
cmp rcx, r10
jae 0x767a9b
cmp r10, rbx
cmovb rbx, r10
add rax, 0xc
cmp r8, rax
jne 0x767a80
cmp rbx, 0xffffffffffffffff
je 0x767b60
cmp rbx, qword [rsp + 0x48]
mov rcx, rbx
je 0x767a5f
cmp qword [rsp + 0x58], rbx
je 0x767a5f
mov eax, dword [rsp + 0x50]
mov r8, rbx
xor r9d, r9d
mov qword [rsp + 0x30], r13
mov rcx, qword [rsp + 0x110]
or r8, rdi
mov qword [rsp + 0x20], rbp
mov rdx, rdi
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x28], eax
call fcn.00760e40
mov rcx, qword [rsp + 0x68]
cmp qword [rcx], rdi
jne 0x767b1e
mov r9d, dword [rsp + 0x90]
mov ecx, 1
mov dword [rsp + 0x78], 1
test r9d, r9d
cmovne ecx, dword [rsp + 0x70]
mov dword [rsp + 0x70], ecx
test eax, eax
je 0x767a5c
mov rsi, rbp
jmp 0x767930
shr bp, 6
and ebp, 1
jmp 0x767481
mov byte [r8 + 4], 8
jmp 0x76752b
mov qword [rsp + 0x50], 0x88
xor r12d, r12d
jmp 0x76732c
xor r12d, r12d
jmp 0x767688
mov r8d, dword [rsp + 0x78]
mov rsi, rbp
mov ebp, dword [rsp + 0x7c]
test r8d, r8d
jne 0x767932
mov eax, dword [rsp + 0x50]
xor r9d, r9d
mov qword [rsp + 0x30], r13
mov r8, qword [rsp + 0x118]
mov qword [rsp + 0x20], rsi
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x28], eax
mov rdx, r8
call fcn.00760e40
mov ecx, dword [rsp + 0x90]
mov ebp, eax
test ecx, ecx
je 0x7677df
jmp 0x767932
mov dword [rsp + 0x78], edx
jmp 0x767a26
mov rcx, qword [rsp + 0x40]
lea rdx, [0x00b4a708]
mov ebp, 7
call fcn.00754600
jmp 0x76782c