Function at 0x726b40
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, 0x158
mov rax, qword [rcx + 0x18]
mov r14, rcx
mov qword [rsp + 0x50], rax
mov dword [rsp + 0xb0], 0
call fcn.0073a580
mov r12, qword [r14 + 0x90]
mov qword [rsp + 0xb8], rax
test r12, r12
je 0x726ba1
mov eax, dword [r12]
sub eax, 1
mov dword [r12], eax
test eax, eax
jle 0x726d10
mov qword [r14 + 0x90], 0
mov rax, qword [rsp + 0x50]
mov ebx, dword [r14 + 0x3c]
mov r13d, dword [rax + 0x10]
test r13d, r13d
je 0x726c80
test ebx, ebx
je 0x726c48
mov rdx, qword [r14]
mov rsi, qword [rsp + 0xb8]
mov edi, dword [rdx + 0x90]
mov r8, rsi
mov qword [rsp + 0xd0], rsi
test rsi, rsi
je 0x726da6
mov ecx, dword [rsi + 0x1c]
test ecx, ecx
jle 0x726e00
test ebx, ebx
jne 0x726c38
movsxd rax, ebx
lea rsi, [rsp + 0xd0]
shl rax, 4
cmp dword [rax + r8 + 0x24], edi
jl 0x726df0
nop dword [rax]
mov r8d, ebx
mov rdx, rsi
xor r9d, r9d
mov rcx, r14
call fcn.0072af80
mov edx, dword [r14 + 0x3c]
add ebx, 1
mov r8, qword [rsp + 0xd0]
test edx, edx
je 0x726dc0
mov qword [rsp + 0xb8], r8
jmp 0x726d8b
mov r8, qword [rsp + 0xb8]
cmp dword [r8 + 0x18], 0x7cf
jg 0x726e10
mov rcx, r8
call fcn.0071cd30
mov dword [rsp + 0xac], eax
test eax, eax
jne 0x726e3c
mov ebx, dword [r14 + 0x3c]
nop dword [rax]
mov eax, dword [rsp + 0xb0]
mov rsi, qword [rsp + 0xb8]
mov rdx, qword [r14]
test ebx, ebx
jne 0x726bca
mov r9d, dword [rdx + 0x8c]
add eax, dword [r14 + 0x34]
test r9d, r9d
jle 0x726d50
test rsi, rsi
je 0x726e28
mov r10, qword [rsi + 8]
movsxd r11, dword [r14 + 0x10]
cdqe
xor edx, edx
add rax, r10
mov r8, r11
mov qword [rsi + 8], rax
div r11
xor edx, edx
mov rcx, rax
mov rax, r10
div r11
mov edi, ecx
lea rdx, [rsp + 0xb8]
mov rcx, r14
sub edi, eax
imul r8d, edi
imul r8d, dword [rsi + 0x1c]
call fcn.0072ad70
mov rdx, qword [r14]
mov ebx, dword [r14 + 0x3c]
mov rsi, qword [rsp + 0xb8]
jmp 0x726d54
mov r15d, dword [r12 + 0x1c]
xor ebx, ebx
test r15d, r15d
jle 0x726d3c
nop dword [rax]
mov rax, rbx
add rbx, 1
shl rax, 4
mov rcx, qword [r12 + rax + 0x28]
call fcn.0082d7e0
cmp dword [r12 + 0x1c], ebx
jg 0x726d20
mov rcx, r12
call fcn.0082d7e0
jmp 0x726b96
mov ebx, dword [r14 + 0x3c]
mov edi, dword [rdx + 0x90]
mov r8, rsi
mov qword [rsp + 0xd0], rsi
test rsi, rsi
jne 0x726be4
xor r8d, r8d
test ebx, ebx
jne 0x726da6
nop dword [rax]
mov rdx, r8
mov rcx, r14
call fcn.0073b410
mov r8, qword [rsp + 0xb8]
test r8, r8
je 0x726da6
mov eax, dword [r8]
sub eax, 1
mov dword [r8], eax
test eax, eax
jg 0x726da6
mov rcx, r8
call fcn.0073b2d0
nop
add rsp, 0x158
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edx, ebx
mov rcx, r14
call fcn.0073a290
mov eax, dword [r14 + 0x3c]
mov r8, qword [rsp + 0xd0]
test eax, eax
jne 0x726c38
movsxd rax, ebx
shl rax, 4
cmp dword [rax + r8 + 0x24], edi
jge 0x726c10
mov qword [rsp + 0xb8], r8
jmp 0x726d78
test ebx, ebx
je 0x726d78
jmp 0x726d90
mov dword [r14 + 0x3c], 0xd
mov qword [rsp + 0xd0], r8
jmp 0x726d90
mov ebx, dword [r14 + 0x3c]
xor r8d, r8d
test ebx, ebx
je 0x726d78
jmp 0x726da6
mov r8d, eax
mov rax, qword [r14]
mov rcx, r14
mov edi, dword [rax + 0x88]
mov esi, edi
mov edi, dword [rax + 0x5c]
mov eax, dword [rax + 0xb0]
mov dword [rsp + 0x60], eax
lea rax, [rsp + 0xd0]
mov rdx, rax
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x70], edi
call fcn.007429b0
mov eax, dword [r14 + 0x3c]
test eax, eax
je 0x727827
lea rdi, [r14 + 0x3c]
mov r15, r14
mov r14d, esi
mov qword [rsp + 0xa0], rdi
lea rdi, [rsp + 0xc8]
mov qword [rsp + 0x90], rdi
nop dword [rax]
test eax, eax
jne 0x72768f
mov r13d, r14d
mov rax, qword [rsp + 0x50]
mov rbx, qword [rax + 0x18]
test rbx, rbx
je 0x72768f
lea rdi, [rbx + 0x30]
mov rcx, rdi
mov qword [rsp + 0x80], rdi
call sub.msvcrt.dll_strlen
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov rdx, rbx
mov rsi, rax
call fcn.00728ee0
movsxd rax, esi
mov rcx, rdi
lea rax, [rdi + rax + 1]
mov qword [rsp + 0x38], rax
mov eax, dword [rbx + 0x18]
sub eax, 0x31
sub eax, esi
mov dword [rsp + 0x4c], eax
call sub.msvcrt.dll_strlen
mov r12d, dword [rsp + 0x60]
mov dword [rsp + 0x8c], eax
test r12d, r12d
je 0x727480
mov edi, dword [rsp + 0x4c]
mov eax, dword [r15 + 0x3c]
test edi, edi
jle 0x7274e7
test eax, eax
jne 0x727687
mov dword [rsp + 0x64], 0
lea rax, [rsp + 0xc0]
mov dword [rsp + 0x74], r13d
xor edi, edi
xor ebx, ebx
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x68], rax
jmp 0x727052
mov word [rcx], ax
movsxd rcx, dword [rsp + 0xe8]
add rcx, qword [rsp + 0xe0]
cmp r12, 0x7f
jbe 0x727420
cmp r12, 0x3fff
jbe 0x727530
mov rdx, r12
call fcn.0076d570
mov rdx, qword [rsp + 0x58]
mov r8, r12
mov rcx, r15
add dword [rsp + 0xe8], eax
mov byte [rsp + 0x119], 0
call fcn.00742130
mov r13d, dword [r15 + 0x3c]
test r13d, r13d
jne 0x727670
cmp dword [rsp + 0x70], 1
jne 0x727120
mov esi, dword [rsp + 0x4c]
movsxd rax, dword [rsp + 0xe8]
cmp edi, esi
jge 0x727028
mov rbx, qword [rsp + 0x38]
movsxd rdx, edi
cmp byte [rbx + rdx], 0
jne 0x727028
lea edx, [rax + 1]
mov dword [rsp + 0xe8], edx
mov rdx, qword [rsp + 0xe0]
mov byte [rdx + rax], 0
lea edx, [rdi + 1]
cmp edx, esi
jl 0x727618
mov eax, dword [rsp + 0xe8]
mov edi, edx
nop dword [rax]
add eax, dword [rsp + 0xf8]
cmp eax, dword [rsp + 0x74]
jge 0x727440
mov eax, dword [r15 + 0x3c]
mov rbx, r12
cmp edi, dword [rsp + 0x4c]
jge 0x727650
test eax, eax
jne 0x727660
mov rdx, qword [rsp + 0x68]
movsxd rcx, edi
add rcx, qword [rsp + 0x38]
mov qword [rsp + 0xc0], 0
call fcn.007ca200
mov esi, dword [rsp + 0x60]
mov r12, qword [rsp + 0x40]
movzx eax, al
add r12, qword [rsp + 0xc0]
mov qword [rsp + 0x40], r12
add edi, eax
test esi, esi
je 0x7270ab
cmp dword [rsp + 0x70], 1
je 0x7273b0
movsxd rsi, edi
add rsi, qword [rsp + 0x38]
test byte [rsi], 1
jne 0x727550
mov edx, dword [r15 + 0x3c]
or edx, dword [rsp + 0x64]
je 0x7271a0
movzx eax, word [rsp + 0xe8]
mov rcx, qword [rsp + 0xe0]
movsxd rdx, dword [rsp + 0xe8]
rol ax, 8
cmp byte [rsp + 0x119], 0
jne 0x726f70
mov r8, r12
add rcx, rdx
sub r8, rbx
cmp r8, 0x7f
jbe 0x727430
cmp r8, 0x3fff
jbe 0x727508
mov rdx, r8
call fcn.0076d570
add dword [rsp + 0xe8], eax
jmp 0x726fc1
movsxd r14, edi
add r14, qword [rsp + 0x38]
mov ebx, 1
movzx eax, byte [r14]
mov dword [rsp + 0xc8], eax
test al, al
js 0x727458
mov edx, eax
mov r11d, dword [rsp + 0x60]
shr edx, 0x1f
add edx, eax
sar edx, 1
mov ebp, edx
test r11d, r11d
je 0x72715d
test al, 1
jne 0x7275d0
lea ebp, [rdx + rbx]
movsxd rcx, dword [rsp + 0xe8]
mov eax, dword [rsp + 0xf8]
mov esi, dword [rsp + 0x74]
add eax, ecx
add eax, ebp
cmp eax, esi
jg 0x7271d0
add rcx, qword [rsp + 0xe0]
movsxd r8, ebp
mov rdx, r14
add edi, ebp
call sub.msvcrt.dll_memcpy
add dword [rsp + 0xe8], ebp
mov eax, dword [r15 + 0x3c]
jmp 0x72703d
mov r9, qword [rsp + 0x80]
mov r8d, dword [rsp + 0x8c]
mov rcx, r15
mov rdx, qword [rsp + 0x58]
call fcn.00741e30
mov dword [rsp + 0x64], 1
jmp 0x7270b9
lea rax, [rsp + 0xb4]
mov dword [rsp + 0xa8], edi
mov edi, r13d
mov r13d, esi
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x98], r12
jmp 0x727240
movsxd r8, ebx
add rcx, qword [rsp + 0xe0]
mov rdx, r12
call sub.msvcrt.dll_memcpy
add ebx, dword [rsp + 0xe8]
mov dword [rsp + 0xe8], ebx
add ebx, dword [rsp + 0xf8]
cmp r13d, ebx
jg 0x7275b0
mov edi, ebp
mov rdx, qword [rsp + 0x58]
mov rcx, r15
call fcn.00742850
cmp ebp, edi
jle 0x7275b0
mov eax, dword [r15 + 0x3c]
test eax, eax
jne 0x727590
movsxd rcx, dword [rsp + 0xe8]
mov esi, r13d
mov ebx, ebp
movsxd r9, edi
sub ebx, edi
lea r12, [r14 + r9]
sub esi, ecx
sub esi, dword [rsp + 0xf8]
cmp ebx, esi
jle 0x7271f8
mov rdx, qword [rsp + 0x78]
mov rcx, r12
call fcn.007ca410
movsxd r8, eax
mov rbx, r8
cmp esi, r8d
jle 0x727324
mov dword [rsp + 0x88], edi
mov rdx, qword [rsp + 0x90]
mov rdi, r12
mov r12d, esi
jmp 0x7272f3
movzx r9d, byte [rcx + 1]
test r9b, r9b
jns 0x727368
movzx r10d, byte [rcx + 2]
shl eax, 0xe
or eax, r10d
and r10d, 0x80
je 0x727388
call fcn.007ca200
mov ecx, dword [rsp + 0xc8]
movzx eax, al
and ecx, 0x7fffffff
mov dword [rsp + 0xb4], ecx
add eax, ebx
cmp r12d, eax
jl 0x727317
mov ebx, eax
movsxd rsi, ebx
lea rcx, [rdi + rsi]
movzx eax, byte [rcx]
mov r10d, eax
test al, al
js 0x7272a8
mov dword [rsp + 0xb4], eax
mov eax, 1
add eax, ebx
cmp r12d, eax
jge 0x7272f1
mov r12, rdi
mov edi, dword [rsp + 0x88]
mov r8, rsi
movsxd rcx, dword [rsp + 0xe8]
mov rdx, r12
add edi, ebx
add rcx, qword [rsp + 0xe0]
call sub.msvcrt.dll_memcpy
add ebx, dword [rsp + 0xe8]
mov dword [rsp + 0xe8], ebx
add ebx, dword [rsp + 0xf8]
cmp ebx, r13d
jl 0x727238
jmp 0x72722b
and r10d, 0x7f
mov eax, 2
shl r10d, 7
or r9d, r10d
mov dword [rsp + 0xb4], r9d
jmp 0x7272ea
and r9d, 0x7f
and eax, 0x1fc07f
shl r9d, 7
or eax, r9d
mov dword [rsp + 0xb4], eax
mov eax, 3
jmp 0x7272ea
cmp dword [rsp + 0x4c], edi
jle 0x7270ab
mov rdx, qword [rsp + 0x38]
movsxd rax, edi
cmp byte [rdx + rax], 0
jne 0x7270ab
mov r8, qword [rsp + 0x80]
mov rdx, qword [rsp + 0xb8]
mov r9, r12
mov rcx, r15
call fcn.007278b0
lea eax, [rdi + 1]
cmp dword [rsp + 0x4c], eax
jle 0x72781c
mov rsi, qword [rsp + 0x38]
movsxd rdx, eax
cmp byte [rsi + rdx], 0
jne 0x72781c
mov dword [rsp + 0x4c], 0
mov edx, dword [r15 + 0x3c]
add edi, 2
jmp 0x7270af
mov byte [rcx], r12b
mov eax, 1
jmp 0x726fa2
mov byte [rcx], r8b
mov eax, 1
jmp 0x72710b
mov rdx, qword [rsp + 0x58]
mov rcx, r15
call fcn.00742850
jmp 0x727039
mov rdx, qword [rsp + 0x90]
mov rcx, r14
call fcn.007ca410
mov ebx, eax
mov eax, dword [rsp + 0xc8]
jmp 0x727140
mov r9, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x58]
mov r8d, eax
mov rcx, r15
call fcn.00741e30
mov ebp, dword [r15 + 0x3c]
test ebp, ebp
jne 0x72768f
movsxd rax, dword [rsp + 0xe8]
mov edx, dword [rsp + 0xf8]
mov edi, dword [rsp + 0x4c]
add edx, eax
add edx, edi
cmp edx, r13d
jge 0x727600
add rax, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0x38]
movsxd r8, edi
mov rcx, rax
call sub.msvcrt.dll_memcpy
add dword [rsp + 0xe8], edi
mov eax, dword [r15 + 0x3c]
test eax, eax
jne 0x727687
mov rdi, qword [rsp + 0x50]
mov rax, qword [rdi + 0x18]
mov rax, qword [rax + 8]
mov qword [rdi + 0x18], rax
jmp 0x726eb3
mov rax, r8
and r8d, 0x7f
shr rax, 7
mov byte [rcx + 1], r8b
or eax, 0xffffff80
mov byte [rcx], al
mov eax, 2
jmp 0x72710b
mov rax, r12
shr rax, 7
or eax, 0xffffff80
mov byte [rcx], al
mov eax, r12d
and eax, 0x7f
mov byte [rcx + 1], al
mov eax, 2
jmp 0x726fa2
mov rdx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x80]
mov r9, r12
mov rcx, r15
call fcn.007278b0
mov eax, dword [r15 + 0x3c]
mov edx, eax
test eax, eax
jne 0x72757e
cmp byte [rsi], 1
jne 0x7270af
add edi, 1
jmp 0x727040
mov edi, dword [rsp + 0xa8]
mov r12, qword [rsp + 0x98]
add edi, ebp
jmp 0x72703d
mov edi, dword [rsp + 0xa8]
mov r12, qword [rsp + 0x98]
mov eax, dword [r15 + 0x3c]
add edi, ebp
jmp 0x72703d
movsxd r8, edx
mov rcx, qword [rsp + 0xa0]
add edi, ebx
lea rdx, [rsp + 0xe0]
add r8, r8
movsxd r14, edi
call fcn.007c7700
add r14, qword [rsp + 0x38]
jmp 0x727160
mov dword [rsp + 0x64], 1
test edi, edi
jg 0x726f42
jmp 0x7274ef
movsxd rcx, edx
movsxd rax, dword [rsp + 0xe8]
cmp byte [rbx + rcx], 0
jne 0x727680
lea edx, [rax + 1]
add edi, 2
mov dword [rsp + 0xe8], edx
mov rdx, qword [rsp + 0xe0]
mov byte [rdx + rax], 0
mov eax, dword [rsp + 0xe8]
jmp 0x727028
mov r13d, dword [rsp + 0x74]
jmp 0x7274e7
mov r14d, dword [rsp + 0x74]
jmp 0x726ea8
mov r14d, dword [rsp + 0x74]
mov eax, r13d
jmp 0x726ea8
mov edi, edx
jmp 0x727028
mov r14d, r13d
jmp 0x726ea8
mov rdx, qword [rsp + 0x58]
lea r8, [rsp + 0xb0]
mov rcx, r15
mov r14, r15
call fcn.007424e0
mov eax, dword [rsp + 0xb0]
test eax, eax
jle 0x72780b
mov rsi, qword [rsp + 0xb8]
mov r10d, dword [rsi + 0x1c]
test r10d, r10d
je 0x727851
mov ebx, dword [r14 + 0x3c]
mov eax, dword [rsp + 0xb0]
test ebx, ebx
jne 0x726c8f
mov ebx, dword [rsi + 0x24]
mov r12, qword [rsi + 0x28]
call fcn.0082e1a0
test eax, eax
jne 0x72787b
lea eax, [rbx + 1]
cdqe
lea rdx, [rax*8]
sub rdx, rax
shl rdx, 3
test r12, r12
je 0x727898
test rdx, rdx
je 0x727873
cmp rdx, 0x7ffffeff
ja 0x72787b
mov rcx, r12
call fcn.007e6b90
mov rdx, rax
test rdx, rdx
je 0x72787b
movsxd rcx, dword [rsi + 0x24]
lea rax, [rcx*8]
sub rax, rcx
lea rax, [rdx + rax*8]
mov qword [rax], 0
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0
mov ebx, dword [r14 + 0x3c]
mov qword [rsi + 0x28], rdx
mov eax, dword [rsp + 0xb0]
test ebx, ebx
jne 0x72780f
mov r8, qword [rsp + 0xb8]
mov edi, dword [rsp + 0xac]
movsxd rcx, dword [r8 + 0x24]
mov r9, qword [r8 + 0x28]
lea edx, [rcx + 1]
mov dword [r8 + 0x24], edx
lea rdx, [rcx*8]
sub rdx, rcx
lea rdx, [r9 + rdx*8]
mov dword [rdx + 8], eax
mov rax, qword [r8 + 0x10]
mov dword [rdx], edi
mov dword [rdx + 4], 1
test rax, rax
je 0x7277f5
movsxd rcx, dword [r14 + 0x38]
movq xmm0, rax
add rax, 1
punpcklqdq xmm0, xmm0
mov qword [rdx + 0x30], rcx
movups xmmword [rdx + 0x10], xmm0
mov qword [r8 + 0x10], rax
add dword [r8 + 0x18], 1
xor edx, edx
mov rcx, r14
call fcn.0073a290
mov eax, dword [rsp + 0xb0]
mov ebx, dword [r14 + 0x3c]
mov rsi, qword [rsp + 0xb8]
jmp 0x726c8f
mov edi, eax
mov eax, dword [r15 + 0x3c]
jmp 0x727040
mov rax, qword [rsp + 0x50]
xor r9d, r9d
xor r8d, r8d
lea rdx, [rax + 0x20]
lea rcx, [rax + 0x14]
add rax, 0x18
mov qword [rsp + 0x20], rax
call fcn.00729060
mov dword [r14 + 0x3c], eax
jmp 0x726e7f
mov rcx, qword [rsp + 0xa0]
lea rdx, [rsp + 0xb8]
call fcn.00739e40
mov rsi, qword [rsp + 0xb8]
jmp 0x7276cb
mov rcx, r12
call fcn.0082d7e0
mov dword [r14 + 0x3c], 7
mov rdx, qword [r14]
mov ebx, 7
mov rsi, qword [rsp + 0xb8]
jmp 0x726bca
mov rcx, rdx
call fcn.007dc490
mov rdx, rax
jmp 0x727730