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

Disassembly:
lea r12, [rsp - 0x70]
cmp r12, qword [r14 + 0x10]
jbe 0x633df4
push rbp
mov rbp, rsp
sub rsp, 0xe8
mov qword [rsp + 0x100], rbx
mov edx, dword [rax + 0x10]
cmp rcx, 0x18
jl 0x633672
mov qword [rsp + 0xf8], rax
mov byte [rsp + 0x118], sil
mov byte [rsp + 0x119], r8b
mov dword [rsp + 0x58], edx
xor r9d, r9d
xor r10d, r10d
xor r11d, r11d
jmp 0x6336d6
mov rax, 0xffffffffffffffff
add rsp, 0xe8
pop rbp
ret
mov rdi, qword [rsp + 0x80]
sub rdi, rdx
mov rcx, qword [rsp + 0x78]
sub rcx, rdx
add rdi, 0xffffffffffffffe8
mov r12, rdi
neg r12
sar r12, 0x3f
and rdx, r12
mov r10, qword [rsp + 0x88]
inc r10
mov r12, qword [rsp + 0xa0]
lea rbx, [rdx + r12]
add rcx, 0xffffffffffffffe8
mov edx, dword [rsp + 0x58]
movzx esi, byte [rsp + 0x118]
movzx r8d, byte [rsp + 0x119]
mov dword [rsp + 0x64], r11d
mov dword [rsp + 0x54], 0
mov dword [rsp + 0x5c], 0
mov dword [rsp + 0x60], 0
mov dword [rsp + 0x4c], 0
mov dword [rsp + 0x68], 0
mov word [rsp + 0x4a], 0
mov byte [rsp + 0x49], 0
mov byte [rsp + 0x48], 0
cmp rcx, 0x18
jl 0x633c1e
mov r12d, dword [rbx]
nop
mov dword [rsp + 0x68], r12d
cmp dword [rax], r12d
jne 0x633c0e
lea r12, [rcx - 4]
nop
test r12, r12
jbe 0x633de9
movzx r12d, byte [rbx + 4]
mov byte [rsp + 0x49], r12b
lea r12, [rdi - 5]
neg r12
sar r12, 0x3f
and r12d, 1
lea r13, [rcx - 5]
nop
lea r15, [rbx + r12]
lea r15, [r15 + 4]
test r13, r13
jbe 0x633ddf
movzx r12d, byte [rbx + r12 + 4]
mov byte [rsp + 0x48], r12b
lea r12, [rdi - 6]
neg r12
sar r12, 0x3f
and r12d, 1
lea r13, [rcx - 6]
nop
lea rbx, [r15 + r12]
cmp r13, 1
jbe 0x633dd2
lea r13, [rdi - 8]
neg r13
sar r13, 0x3f
and r13d, 2
lea r8, [rcx - 8]
movzx r12d, word [r15 + r12]
mov word [rsp + 0x4a], r12w
nop
lea r12, [r13 + rbx]
nop
cmp r8, 3
jbe 0x633dc5
lea r8, [rdi - 0xc]
neg r8
sar r8, 0x3f
and r8d, 4
lea r15, [rcx - 0xc]
mov r13d, dword [r13 + rbx]
mov dword [rsp + 0x54], r13d
nop
lea r13, [r12 + r8]
cmp r15, 3
jbe 0x633db4
lea r15, [rdi - 0x10]
neg r15
sar r15, 0x3f
and r15d, 4
lea rbx, [rcx - 0x10]
mov r8d, dword [r12 + r8]
mov dword [rsp + 0x5c], r8d
nop
lea r8, [r13 + r15]
nop dword [rax + rax]
cmp rbx, 3
jbe 0x633da7
lea r12, [rdi - 0x14]
neg r12
sar r12, 0x3f
and r12d, 4
lea rbx, [rcx - 0x14]
mov r13d, dword [r13 + r15]
mov dword [rsp + 0x4c], r13d
nop
lea r13, [r8 + r12]
cmp rbx, 3
jbe 0x633d9a
lea r15, [rdi - 0x18]
mov rbx, r15
neg r15
sar r15, 0x3f
and r15d, 4
lea rdx, [rcx - 0x18]
mov r8d, dword [r8 + r12]
mov dword [rsp + 0x60], r8d
lea r12, [r15 + r13]
nop dword [rax]
cmp r8, rdx
jg 0x633bfe
movzx r8d, byte [rsp + 0x49]
cmp r8b, 0x51
je 0x6338b0
cmp r8b, 0x52
je 0x6338b0
nop dword [rax + rax]
cmp r8b, 0x53
je 0x6338b0
cmp r8b, 0x54
jne 0x633bde
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x88], r10
test sil, sil
je 0x6338f1
movzx r8d, word [rsp + 0x4a]
mov dword [rax + 0x38], r8d
mov ebx, dword [rsp + 0x4c]
call fcn.00632cc0
nop
mov rax, qword [rsp + 0xf8]
cmp qword [rax + 0xa8], 0
je 0x63391e
mov r8, qword [rax + 0xa0]
mov r8d, dword [r8 + 0xc]
mov dword [rax + 0x10], r8d
jmp 0x633926
mov r8d, dword [rax + 0x14]
mov dword [rax + 0x10], r8d
movzx r8d, byte [rsp + 0x49]
cmp r8b, 0x52
je 0x633b76
nop word [rax + rax]
nop
cmp r8b, 0x51
jne 0x633b49
mov r8d, dword [rsp + 0x5c]
mov r9d, dword [rax + 0x34]
add r9d, dword [rax + 0x18]
mov r10d, r8d
sub r8d, r9d
nop dword [rax]
test r8d, r8d
jge 0x633b1d
mov rcx, qword [rax + 0xe0]
mov rbx, qword [rax + 0xd8]
inc rbx
mov r8d, dword [rsp + 0x54]
mov r9, qword [rax + 0xd0]
cmp rcx, rbx
jae 0x6339ec
mov dword [rsp + 0x6c], r10d
mov dword [rsp + 0x50], r8d
mov rax, r9
mov edi, 1
lea rsi, [0x0067f240]
call fcn.0044f2e0
mov rdx, qword [rsp + 0xf8]
mov qword [rdx + 0xe0], rcx
cmp dword [0x0091f380], 0
nop
je 0x6339d5
call fcn.0046bac0
mov qword [r11], rax
mov rsi, qword [rdx + 0xd0]
mov qword [r11 + 8], rsi
mov qword [rdx + 0xd0], rax
mov r8d, dword [rsp + 0x50]
mov r10d, dword [rsp + 0x6c]
mov r9, rax
mov rax, rdx
mov qword [rax + 0xd8], rbx
mov dword [r9 + rbx*8 - 8], r10d
mov dword [r9 + rbx*8 - 4], r8d
mov esi, dword [rsp + 0x5c]
sub esi, dword [rax + 0x18]
test esi, esi
jge 0x633a1c
movzx edx, byte [rsp + 0x118]
test dl, dl
mov ecx, 1
jmp 0x633b2c
movups xmmword [rsp + 0xa8], xmm15
movups xmmword [rsp + 0xb8], xmm15
movups xmmword [rsp + 0xc8], xmm15
movups xmmword [rsp + 0xd8], xmm15
mov ebx, dword [rsp + 0x68]
mov dword [rsp + 0xa8], ebx
movzx ebx, byte [rsp + 0x49]
mov byte [rsp + 0xac], bl
movzx ebx, byte [rsp + 0x48]
mov byte [rsp + 0xad], bl
movzx ebx, word [rsp + 0x4a]
mov word [rsp + 0xae], bx
mov ebx, dword [rsp + 0x54]
mov dword [rsp + 0xb0], ebx
mov ebx, dword [rsp + 0x5c]
mov dword [rsp + 0xb4], ebx
mov ebx, dword [rsp + 0x4c]
mov dword [rsp + 0xb8], ebx
mov ecx, dword [rsp + 0x60]
mov rdx, qword [rsp + 0x98]
nop dword [rax]
cmp rcx, rdx
ja 0x633d95
mov rbx, qword [rsp + 0xa0]
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], rdx
movups xmm0, xmmword [rsp + 0xa8]
movups xmmword [rsp], xmm0
movups xmm0, xmmword [rsp + 0xb8]
movups xmmword [rsp + 0x10], xmm0
movups xmm0, xmmword [rsp + 0xc8]
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [rsp + 0xd8]
movups xmmword [rsp + 0x30], xmm0
nop dword [rax]
call fcn.00632f00
movzx ecx, byte [rsp + 0x118]
test cl, cl
mov edx, ecx
mov ecx, eax
mov rax, qword [rsp + 0xf8]
jmp 0x633b2c
movzx edx, byte [rsp + 0x118]
test dl, dl
mov ecx, 1
je 0x633b67
test cl, cl
je 0x633b67
mov rsi, qword [0x00898ac8]
mov edi, 1
lock xadd qword [rsi + 0x98], rdi
jmp 0x633b67
cmp r8b, 0x53
jne 0x633b55
or dword [rax + 0x40], 2
jmp 0x633b5f
cmp r8b, 0x54
jne 0x633bee
movzx edx, byte [rsp + 0x118]
mov r9, qword [rsp + 0x90]
mov r11d, dword [rsp + 0x64]
jmp 0x633bc7
mov ebx, dword [rsp + 0x5c]
call fcn.00632ba0
mov ecx, dword [rsp + 0x5c]
mov rax, qword [rsp + 0xf8]
mov edx, dword [rax + 0x10]
mov esi, ecx
sub ecx, edx
test ecx, ecx
jl 0x633bb6
mov edx, dword [rax + 0x14]
mov edi, esi
sub esi, edx
nop dword [rax]
test esi, esi
jge 0x633bb6
mov edx, dword [rsp + 0x54]
mov rsi, qword [rax + 0xa8]
xor ecx, ecx
jmp 0x633d33
mov r9, qword [rsp + 0x90]
or r9, 1
mov r11d, dword [rsp + 0x54]
mov edx, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
cmp rdx, rcx
jbe 0x633682
jmp 0x633d82
mov rax, 0xfffffffffffffffd
add rsp, 0xe8
pop rbp
ret
mov rax, 0xfffffffffffffffd
add rsp, 0xe8
pop rbp
ret
mov rax, 0xfffffffffffffffe
add rsp, 0xe8
pop rbp
ret
mov rax, 0xffffffffffffffff
add rsp, 0xe8
pop rbp
ret
mov rcx, qword [0x00898ac8]
lock xadd qword [rcx + 0x58], r10
test r9, r9
je 0x633c68
test sil, sil
je 0x633c68
call fcn.00631cc0
mov ecx, dword [rsp + 0x64]
sub eax, ecx
test eax, eax
jl 0x633c53
mov ebx, eax
mov rax, qword [rsp + 0xf8]
call fcn.00632b20
mov rax, qword [rsp + 0xf8]
mov edx, dword [rsp + 0x58]
movzx r8d, byte [rsp + 0x119]
cmp dword [rax + 0x68], 0
jne 0x633cfd
mov ecx, dword [rax + 0x10]
sub ecx, edx
test ecx, ecx
jle 0x633cf8
mov ecx, dword [rax + 0x3c]
nop
cmp dword [rax + 0x38], ecx
jbe 0x633cf3
mov edx, dword [rax + 8]
cmp dword [rax + 0x1c], ecx
jbe 0x633ca0
inc ecx
mov dword [rax + 0x3c], ecx
add dword [rax + 0x60], edx
mov rbx, rax
mov edi, edx
jmp 0x633cda
cmp dword [rax + 0x60], edx
jae 0x633ca8
mov dword [rax + 0x60], edx
mov ecx, dword [rax + 0x60]
mov esi, edx
imul edx, edx
test ecx, ecx
je 0x633d27
mov rbx, rax
mov eax, edx
xor edx, edx
div ecx
mov edx, esi
shr esi, 4
add esi, eax
add ecx, esi
mov dword [rbx + 0x60], ecx
mov esi, dword [rbx + 0x3c]
inc esi
mov edi, edx
imul edx, esi
cmp edx, ecx
ja 0x633cda
mov dword [rbx + 0x3c], esi
mov ecx, dword [rbx + 0x38]
nop dword [rax]
cmp dword [rbx + 0x3c], ecx
jbe 0x633d00
mov dword [rbx + 0x3c], ecx
mov ecx, dword [rbx + 0x38]
imul ecx, edi
mov dword [rbx + 0x60], ecx
jmp 0x633d00
mov rbx, rax
jmp 0x633d00
mov rbx, rax
jmp 0x633d00
mov rbx, rax
test r8b, r8b
je 0x633d1c
cmp qword [rbx + 0xd8], 0
je 0x633d1c
mov rax, rbx
mov ebx, 1
call fcn.00633e40
xor eax, eax
add rsp, 0xe8
pop rbp
ret
call fcn.004379e0
lea rcx, [r9 + 1]
mov edi, r11d
cmp rcx, rsi
jge 0x633bb6
mov r8, qword [rax + 0xa8]
cmp rcx, r8
jae 0x633d8a
mov r8, qword [rax + 0xa0]
mov r9, rcx
shl rcx, 6
mov r10d, dword [r8 + rcx + 0xc]
mov r11d, edi
sub edi, r10d
test edi, edi
jl 0x633bb6
cmp r10d, r11d
je 0x633d2c
mov edi, dword [r8 + rcx + 8]
sub edi, edx
test edi, edi
jg 0x633d2c
inc dword [r8 + rcx + 0x20]
nop
jmp 0x633d2c
mov rax, rdx
call fcn.0046bf20
mov rax, rcx
mov rcx, r8
call fcn.0046be60
call fcn.0046bee0
mov eax, 3
mov rcx, rbx
call fcn.0046be60
mov eax, 3
mov rcx, rbx
call fcn.0046be60
mov eax, 3
mov rcx, r15
nop dword [rax]
call fcn.0046be60
mov eax, 3
mov rcx, r8
call fcn.0046be60
mov eax, 1
mov rcx, r13
call fcn.0046be60
xor eax, eax
mov rcx, rax
call fcn.0046be60
xor eax, eax
mov rcx, rax
call fcn.0046be60
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov byte [rsp + 0x28], sil
mov byte [rsp + 0x29], r8b
call fcn.00469b80
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
movzx esi, byte [rsp + 0x28]
movzx r8d, byte [rsp + 0x29]
jmp fcn.00633620