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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x128
mov qword [rsp + 0xa0], 0xfffffffffffffffe
mov rax, qword [0x100165138]
xor rax, rsp
mov qword [rsp + 0x110], rax
mov r14, r9
mov qword [rsp + 0x68], r9
mov r15, r8
mov qword [rsp + 0x98], r8
mov rbx, rdx
mov qword [rsp + 0x80], rdx
mov rdi, rcx
mov qword [rsp + 0x90], rcx
mov rax, qword [rsp + 0x1a8]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x88], rax
lea rsi, [0x1001653b8]
mov rcx, qword [0x1001653b8]
cmp rcx, rsi
je 0x10005d814
test byte [rcx + 0x1c], 1
je 0x10005d814
cmp byte [rcx + 0x19], 4
jb 0x10005d814
mov edx, 0x24
lea r8, [0x100003cc8]
mov rcx, qword [rcx + 0x10]
call fcn.10001c7b8
xor eax, eax
mov dword [rsp + 0x58], eax
movdqu xmm0, xmmword [0x100001fe0]
movdqu xmmword [rsp + 0xf0], xmm0
mov byte [rsp + 0x51], al
mov byte [rsp + 0x50], al
movdqu xmmword [rsp + 0x100], xmm0
mov dword [rdi + 0x114], 1
mov rcx, qword [0x1001653b8]
cmp rcx, rsi
je 0x10005d874
test byte [rcx + 0x1c], 1
je 0x10005d874
cmp byte [rcx + 0x19], 4
jb 0x10005d874
lea edx, [rax + 0x25]
mov r9, rdi
lea r8, [0x100003cc8]
mov rcx, qword [rcx + 0x10]
call fcn.10001d680
xor r8d, r8d
mov rdx, rbx
lea rcx, [rdi + 8]
call fcn.10001c920
mov ebx, eax
test eax, eax
jns 0x10005d8ca
mov rcx, qword [0x1001653b8]
cmp rcx, rsi
je 0x10005e315
test byte [rcx + 0x1c], 1
je 0x10005e315
cmp byte [rcx + 0x19], 2
jb 0x10005e315
mov edx, 0x26
mov r9d, eax
lea r8, [0x100003cc8]
mov rcx, qword [rcx + 0x10]
call fcn.10001c7dc
jmp 0x10005e315
movdqu xmm0, xmmword [r14]
movdqu xmmword [rdi + 0xd0], xmm0
mov eax, dword [r14 + 0x18]
mov dword [rdi + 0x138], eax
movzx eax, word [r14 + 0x60]
mov word [rdi + 0x160], ax
mov al, byte [rsp + 0x1c0]
mov byte [rdi + 0x180], al
lea rcx, [rdi + 0x18]
call fcn.10010ac34
mov ebx, eax
test eax, eax
js 0x10005e30e
lea r8, [rdi + 0x144]
lea rdx, [rdi + 0x18]
mov rcx, r15
call fcn.100124140
mov ebx, eax
test eax, eax
jns 0x10005d93b
lea rcx, [rdi + 0x18]
call fcn.1000591a8
lea rsi, [0x1001653b8]
jmp 0x10005e315
cmp dword [rdi + 0x144], 4
je 0x10005d94d
lea rcx, [rdi + 0x18]
call fcn.1000591a8
mov ecx, dword [rdi + 0x144]
call fcn.1000a31e8
mov dword [rdi + 0x148], eax
test r15, r15
jne 0x10005d97b
lea r8, [0x100005108]
mov edx, 0x3f8
lea rcx, [0x1000070a0]
call fcn.100099ad8
xor r8d, r8d
lea rdx, [rdi + 0xe8]
mov rcx, r15
call fcn.10009b4ec
mov ebx, eax
test eax, eax
js 0x10005e305
lea rdx, [rdi + 0xe0]
xor r8d, r8d
mov rcx, qword [r14 + 0x98]
call fcn.10009b4ec
mov ebx, eax
test eax, eax
js 0x10005e2fc
cmp dword [rdi + 0x144], 4
jne 0x10005d9dd
xor r8d, r8d
mov rdx, qword [rdi + 0xe8]
lea rcx, [rdi + 8]
call fcn.10001d020
mov ebx, eax
test eax, eax
js 0x10005e2f3
bt dword [rdi + 0x148], 9
jb 0x10005dabe
lea rbp, [rdi + 0xf8]
lea rax, [rdi + 0xc8]
lea rcx, [rdi + 0xf0]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rcx
lea r9, [rdi + 0x18]
mov r8, r14
mov dl, 1
mov rcx, r15
call fcn.1001218f0
mov ebx, eax
test eax, eax
js 0x10005e2ea
xor edx, edx
lea rcx, [rdi + 0x18]
call fcn.10010ad48
mov ebx, eax
test eax, eax
js 0x10005e2e1
lea r8, [rdi + 0x100]
mov rdx, qword [r14 + 0x98]
mov rcx, qword [rbp]
call fcn.1001237a4
mov ebx, eax
test eax, eax
jns 0x10005dab5
mov rcx, qword [0x1001653b8]
lea rsi, [0x1001653b8]
cmp rcx, rsi
je 0x10005e315
test byte [rcx + 0x1c], 1
je 0x10005e315
cmp byte [rcx + 0x19], 2
jb 0x10005e315
mov edx, 0x27
mov dword [rsp + 0x28], eax
mov rax, qword [r14 + 0x98]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp]
lea r8, [0x100003cc8]
mov rcx, qword [rcx + 0x10]
call fcn.10001e360
jmp 0x10005e315
lea rcx, [rdi + 0x18]
call fcn.10010aed8
mov ebp, dword [rsp + 0x190]
test ebp, ebp
jne 0x10005dada
mov ebx, 0x80780010
lea rsi, [0x1001653b8]
jmp 0x10005e315
lea rdx, [rdi + 0xd0]
mov rcx, rdi
call fcn.100061900
mov ebx, eax
test eax, eax
jns 0x10005db37
mov rcx, qword [0x1001653b8]
lea rsi, [0x1001653b8]
cmp rcx, rsi
je 0x10005e315
test byte [rcx + 0x1c], 1
je 0x10005e315
cmp byte [rcx + 0x19], 2
jb 0x10005e315
mov edx, 0x28
mov r9d, eax
lea r8, [0x100003cc8]
mov rcx, qword [rcx + 0x10]
call fcn.10001c7dc
jmp 0x10005e315
xor r13d, r13d
test ebp, ebp
je 0x10005dcd0
mov r15, qword [rsp + 0x1a0]
xor ebx, ebx
xor esi, esi
mov ebp, dword [r14 + 0x40]
test ebp, ebp
je 0x10005dbb1
mov eax, r13d
shl rax, 4
mov rcx, qword [rsp + 0x198]
add rax, rcx
mov qword [rsp + 0x60], rax
mov r14, qword [r14 + 0x48]
lea r12, [r14 + 0x10]
mov ecx, esi
imul rcx, rcx, 0x78
add rcx, r14
mov r9d, dword [r15]
mov r8, rax
mov edx, dword [r12]
call fcn.10009cac0
test al, al
jne 0x10005dba2
inc esi
add r12, 0x78
cmp esi, ebp
mov rax, qword [rsp + 0x60]
jb 0x10005db75
jmp 0x10005dbb1
mov ebx, esi
imul rbx, rbx, 0x78
mov rax, qword [rsp + 0x68]
add rbx, qword [rax + 0x48]
cmp esi, ebp
je 0x10005dcbf
test rbx, rbx
jne 0x10005dbd6
lea r8, [0x100004718]
mov edx, 0x45f
lea rcx, [0x1000070a0]
call fcn.100099ad8
cmp byte [rbx + 0x28], 0
jne 0x10005dbf4
lea r8, [0x100007140]
mov edx, 0x460
lea rcx, [0x1000070a0]
call fcn.100099ad8
xor esi, esi
mov r12d, dword [rdi + 0x11c]
test r12d, r12d
je 0x10005dc51
mov r12d, r13d
shl r12, 4
mov rcx, qword [rsp + 0x198]
add r12, rcx
mov r14, qword [rdi + 0x120]
lea rbp, [r14 + 0x3c]
mov eax, esi
imul rax, rax, 0x6c
lea rcx, [rax + r14 + 0x2c]
mov r9d, dword [r15]
mov r8, r12
mov edx, dword [rbp]
call fcn.10009cac0
test al, al
jne 0x10005dc4a
inc esi
add rbp, 0x6c
cmp esi, dword [rdi + 0x11c]
jb 0x10005dc1f
mov r12d, dword [rdi + 0x11c]
cmp esi, r12d
je 0x10005dc74
inc r13d
add r15, 4
mov ebp, dword [rsp + 0x190]
cmp r13d, ebp
mov r14, qword [rsp + 0x68]
jb 0x10005db4a
jmp 0x10005dcd0
mov rcx, qword [0x1001653b8]
lea rsi, [0x1001653b8]
cmp rcx, rsi
je 0x10005dcb5
test byte [rcx + 0x1c], 1
je 0x10005dcb5
cmp byte [rcx + 0x19], 2
jb 0x10005dcb5
mov edx, 0x29
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x20], rax
mov r9, qword [rbx + 0x18]
lea r8, [0x100003cc8]
mov rcx, qword [rcx + 0x10]
call fcn.10001df38
mov ebx, 0x80780001
jmp 0x10005e315
mov ebx, 0x80780041
lea rsi, [0x1001653b8]
jmp 0x10005e315
mov esi, ebp
mov r12d, 0xc0
mov rax, r12
mul rsi
mov r13, 0xffffffffffffffff
cmovo rax, r13
add rax, 8
cmovb rax, r13
mov rcx, rax
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov qword [rsp + 0x60], rax
test rax, rax
je 0x10005dd2c
mov dword [rax], esi
lea rbx, [rax + 8]
lea rax, [0x10005c930]
mov qword [rsp + 0x20], rax
lea r9, [0x10005c89c]
mov r8d, esi
mov rdx, r12
mov rcx, rbx
call fcn.10014e600
jmp 0x10005dd2e
xor ebx, ebx
mov qword [rdi + 0x108], rbx
test rbx, rbx
jne 0x10005dd4b
mov ebx, 0x8007000e
lea rsi, [0x1001653b8]
jmp 0x10005e315
xor eax, eax
mov dword [rsp + 0x5c], eax
cmp dword [rdi + 0x11c], eax
jbe 0x10005e199
and qword [rsp + 0x70], rax
xor r15d, r15d
mov qword [rsp + 0x60], r15
mov r13d, eax
xor r12d, r12d
mov r8, qword [rdi + 0x120]
mov esi, eax
imul rsi, rsi, 0x6c
lea rax, [rsi + r8 + 0x2c]
lea rcx, [0x100001fe0]
mov rdx, qword [rax]
cmp rdx, qword [rcx]
jne 0x10005dd9f
mov rdx, qword [rax + 8]
cmp rdx, qword [rcx + 8]
jne 0x10005dd9f
xor eax, eax
jmp 0x10005dda4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10005ddc8
test byte [r15 + r8 + 0x3c], 1
jne 0x10005ddc8
lea r8, [0x100007160]
mov edx, 0x491
lea rcx, [0x1000070a0]
call fcn.100099ad8
mov rbx, qword [rdi + 0x120]
lea rcx, [rsi + rbx + 0x2c]
mov r9d, r13d
lea r8, [rsp + 0xf0]
mov edx, dword [r15 + rbx + 0x3c]
call fcn.10009cac0
test al, al
jne 0x10005e049
movdqu xmm0, xmmword [r15 + rbx + 0x2c]
movdqu xmmword [rsp + 0xf0], xmm0
mov eax, dword [r15 + rbx + 0x3c]
mov dword [rsp + 0x54], eax
xor ebx, ebx
xor r13d, r13d
test ebp, ebp
je 0x10005de66
mov r14, qword [rsp + 0x198]
mov rdi, qword [rsp + 0x1a0]
mov r15d, eax
mov ecx, ebx
shl rcx, 4
add rcx, r14
mov r9d, r15d
lea r8, [rsp + 0xf0]
mov edx, dword [rdi + r13*4]
call fcn.10009cac0
test al, al
jne 0x10005de50
inc ebx
inc r13
cmp ebx, ebp
jb 0x10005de26
mov rdi, qword [rsp + 0x90]
mov r14, qword [rsp + 0x68]
mov r15, qword [rsp + 0x60]
mov eax, dword [rsp + 0x54]
cmp ebx, ebp
je 0x10005e044
xor ebx, ebx
cmp dword [r14 + 0x40], ebx
jbe 0x10005debb
mov rbp, qword [r14 + 0x48]
lea rsi, [rbp + 0x10]
mov ecx, ebx
imul rcx, rcx, 0x78
add rcx, rbp
mov r9d, eax
lea r8, [rsp + 0xf0]
mov edx, dword [rsi]
call fcn.10009cac0
test al, al
jne 0x10005deaf
inc ebx
add rsi, 0x78
cmp ebx, dword [r14 + 0x40]
mov eax, dword [rsp + 0x54]
jb 0x10005de7e
jmp 0x10005debb
mov r12d, ebx
imul r12, r12, 0x78
add r12, rbp
jne 0x10005ded3
lea r8, [0x100004718]
mov edx, 0x4c2
lea rcx, [0x1000070a0]
call fcn.100099ad8
cmp byte [r12 + 0x28], 0
jne 0x10005def3
lea r8, [0x100007140]
mov edx, 0x4c3
lea rcx, [0x1000070a0]
call fcn.100099ad8
mov rsi, qword [rsp + 0x70]
add rsi, qword [rdi + 0x108]
mov rbp, r13
add rbp, rbp
mov rax, qword [rsp + 0x78]
movdqu xmm0, xmmword [rax + rbp*8]
movdqu xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0x20], rdi
mov rax, qword [rsp + 0x88]
mov r9d, dword [rax + r13*4]
lea r8, [rsp + 0xb0]
mov rdx, r12
mov rcx, rsi
call fcn.10005cd5c
mov ebx, eax
test eax, eax
js 0x10005e147
cmp dword [rdi + 0x144], 4
je 0x10005dfe0
test byte [rsi + 0x4c], 1
jne 0x10005dfe0
mov byte [rsp + 0x50], 0
lea rdx, [rsp + 0x100]
mov rcx, qword [rsp + 0x98]
call fcn.10009c4a0
mov ebx, eax
test eax, eax
js 0x10005e0ff
mov rax, qword [rsp + 0x78]
movdqu xmm0, xmmword [rax + rbp*8]
movdqu xmmword [rsp + 0xc0], xmm0
movaps xmm1, xmmword [rsp + 0x100]
movdqa xmmword [rsp + 0xe0], xmm1
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx]
lea r9, [rsp + 0x50]
lea r8, [rsp + 0xc0]
lea rdx, [rsp + 0xe0]
call qword [rax + 0x110]
mov ebx, eax
test eax, eax
js 0x10005e0b7
cmp byte [rsp + 0x50], 0
je 0x10005e06d
test byte [rsi + 0x4c], 2
je 0x10005e029
test byte [rsi + 0x4c], 1
jne 0x10005e008
lea rdx, [rdi + 0x1c8]
mov rcx, qword [rsi + 0x70]
call fcn.10009b438
mov ebx, eax
test eax, eax
js 0x10005e2d8
jmp 0x10005e029
lea r8, [rdi + 0x1c8]
movzx edx, word [r12 + 0x44]
mov rcx, qword [r12 + 0x48]
call fcn.10012728c
mov ebx, eax
test eax, eax
js 0x10005e2cf
inc dword [rsp + 0x58]
add qword [rsp + 0x70], 0xc0
mov ebp, dword [rsp + 0x190]
mov r13d, dword [rsp + 0x54]
jmp 0x10005e049
mov r13d, dword [rsp + 0x54]
mov eax, dword [rsp + 0x5c]
inc eax
mov dword [rsp + 0x5c], eax
add r15, 0x6c
mov qword [rsp + 0x60], r15
cmp eax, dword [rdi + 0x11c]
jae 0x10005e195
jmp 0x10005dd6d
mov ebx, 0x80780153
mov rcx, qword [0x1001653b8]
lea rsi, [0x1001653b8]
cmp rcx, rsi
je 0x10005e315
test byte [rcx + 0x1c], 1
je 0x10005e315
cmp byte [rcx + 0x19], 2
jb 0x10005e315
mov edx, 0x2d
lea r8, [0x100003cc8]
mov rcx, qword [rcx + 0x10]
call fcn.10001c7b8
jmp 0x10005e315
mov rcx, qword [0x1001653b8]
lea rsi, [0x1001653b8]
cmp rcx, rsi
je 0x10005e315
test byte [rcx + 0x1c], 1
je 0x10005e315
cmp byte [rcx + 0x19], 2
jb 0x10005e315
mov edx, 0x2c
mov r9d, eax
lea r8, [0x100003cc8]
mov rcx, qword [rcx + 0x10]
call fcn.10001c7dc
jmp 0x10005e315
mov rcx, qword [0x1001653b8]
lea rsi, [0x1001653b8]
cmp rcx, rsi
je 0x10005e315
test byte [rcx + 0x1c], 1
je 0x10005e315
cmp byte [rcx + 0x19], 2
jb 0x10005e315
mov edx, 0x2b
mov r9d, eax
lea r8, [0x100003cc8]
mov rcx, qword [rcx + 0x10]
call fcn.10001c7dc
jmp 0x10005e315
mov rcx, qword [0x1001653b8]
lea rsi, [0x1001653b8]
cmp rcx, rsi
je 0x10005e315
test byte [rcx + 0x1c], 1
je 0x10005e315
cmp byte [rcx + 0x19], 2
jb 0x10005e315
mov edx, 0x2a
mov dword [rsp + 0x20], eax
mov r9, qword [r12 + 0x18]
lea r8, [0x100003cc8]
mov rcx, qword [rcx + 0x10]
call fcn.10001daa4
jmp 0x10005e315
or r13, 0xffffffffffffffff
mov ebx, dword [rsp + 0x58]
cmp ebx, ebp
jae 0x10005e1b2
mov ebx, 0x80780088
lea rsi, [0x1001653b8]
jmp 0x10005e315
cmp ebx, ebp
je 0x10005e1ce
lea r8, [0x1000071c0]
mov edx, 0x522
lea rcx, [0x1000070a0]
call fcn.100099ad8
mov dword [rdi + 0x14c], ebx
lea rcx, [rsp + 0xd0]
call qword [sym.imp.KERNEL32.dll_GetSystemTime]
lea rdx, [rdi + 0x164]
lea rcx, [rsp + 0xd0]
call qword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
test eax, eax
jne 0x10005e21b
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
lea rsi, [0x1001653b8]
jmp 0x10005e315
mov r9, qword [r14 + 0x64]
mov qword [rdi + 0x13c], r9
xor ecx, ecx
test ebp, ebp
je 0x10005e275
mov r10, qword [rsp + 0x198]
mov r11, qword [rsp + 0x78]
mov eax, ecx
add rax, rax
lea rdx, [r11 + rax*8]
lea r8, [r10 + rax*8]
mov rax, qword [r8]
cmp rax, qword [rdx]
jne 0x10005e25c
mov rax, qword [r8 + 8]
cmp rax, qword [rdx + 8]
jne 0x10005e25c
xor eax, eax
jmp 0x10005e261
sbb eax, eax
sbb eax, r13d
test eax, eax
jne 0x10005e271
inc ecx
cmp ecx, ebp
jb 0x10005e239
mov al, byte [rsp + 0x51]
jmp 0x10005e277
mov al, 1
jmp 0x10005e277
mov al, cl
lea rcx, [rdi + 0x184]
mov byte [rsp + 0x40], al
mov rax, qword [rdi + 0x164]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r9
mov rax, qword [rdi + 0xe8]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x1c8]
mov dword [rsp + 0x20], eax
mov r9d, dword [rdi + 0x144]
mov r8d, 2
mov rdx, qword [rsp + 0x80]
call fcn.100125684
mov ebx, eax
lea rsi, [0x1001653b8]
jmp 0x10005e315
lea rsi, [0x1001653b8]
jmp 0x10005e315
lea rsi, [0x1001653b8]
jmp 0x10005e315
lea rsi, [0x1001653b8]
jmp 0x10005e315
lea rsi, [0x1001653b8]
jmp 0x10005e315
lea rsi, [0x1001653b8]
jmp 0x10005e315
lea rsi, [0x1001653b8]
jmp 0x10005e315
lea rsi, [0x1001653b8]
jmp 0x10005e315
lea rsi, [0x1001653b8]
lea rcx, [rdi + 0x18]
call fcn.10010aed8
test ebx, ebx
jns 0x10005e35b
mov rcx, qword [0x1001653b8]
cmp rcx, rsi
je 0x10005e388
test byte [rcx + 0x1c], 1
je 0x10005e362
cmp byte [rcx + 0x19], 2
jb 0x10005e362
mov edx, 0x2e
mov r9d, ebx
lea r8, [0x100003cc8]
mov rcx, qword [rcx + 0x10]
call fcn.10001c7dc
mov rcx, qword [0x1001653b8]
jmp 0x10005e362
mov rcx, qword [0x1001653b8]
cmp rcx, rsi
je 0x10005e388
test byte [rcx + 0x1c], 1
je 0x10005e388
cmp byte [rcx + 0x19], 4
jb 0x10005e388
mov edx, 0x2f
lea r8, [0x100003cc8]
mov rcx, qword [rcx + 0x10]
call fcn.10001c7b8
mov eax, ebx
mov rcx, qword [rsp + 0x110]
xor rcx, rsp
call fcn.10014e480
add rsp, 0x128
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret