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

Disassembly:
mov rax, rsp
mov dword [rax + 0x10], edx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov edi, dword [rcx + 0x478]
xor r13d, r13d
mov rbx, rcx
mov dword [rax + 8], edi
lea eax, [rdi + rdx]
mov r15d, 1
mov dword [rsp + 0x90], eax
cmp dword [rcx + 0x9b4], r13d
je 0x10002a4b5
mov dword [rcx + 0x9b4], r13d
mov dword [rcx + 0x2574], 0x2710
jmp 0x10002a4e3
mov esi, 0x32
lea ebp, [rdi - 0x32]
mov r8d, edi
mov edx, ebp
mov rcx, rbx
sub r8d, dword [rbx + 8]
add r8d, 4
call fcn.10002d0c4
dec esi
add ebp, r15d
cmp esi, r13d
ja 0x10002a4bd
mov eax, dword [rsp + 0x90]
lea ebp, [rdi + 0x8000]
cmp edi, eax
jae 0x10002ac9d
mov r14d, ebp
mov edx, edi
mov rcx, rbx
and r14d, 0xffff8000
cmp r14d, eax
cmova r14d, eax
mov dword [rsp + 0x28], r14d
call fcn.10002cda8
cmp eax, 2
mov esi, eax
jl 0x10002a52a
lea ecx, [rax + rdi]
cmp ecx, r14d
jbe 0x10002a575
mov esi, r14d
sub esi, edi
cmp esi, 2
jge 0x10002a575
mov rax, qword [rbx]
mov edx, dword [rbx + 0x38]
mov rcx, qword [rbx + 0x48]
mov r8d, edi
add edi, r15d
add ebp, r15d
mov al, byte [r8 + rax]
mov dword [rsp + 0x80], edi
mov byte [rdx + rcx], al
add dword [rbx + 0x38], r15d
cmp dword [rbx + 0x38], 0xfff8
mov eax, dword [rsp + 0x90]
jb 0x10002a4e9
mov edx, edi
mov rcx, rbx
call fcn.10002ade8
mov eax, dword [rsp + 0x90]
jmp 0x10002a4e9
cmp esi, 0x32
jge 0x10002abb1
lea eax, [rdi + 0xefd]
mov ecx, edi
lea r12d, [rsi + rdi]
mov dword [rsp + 0x24], eax
mov rax, qword [rbx]
mov dword [rsp + 0x80], r12d
movzx ecx, byte [rcx + rax]
mov rax, qword [rbx + 0x2580]
mov dword [rsp + 0x20], edi
movzx edx, byte [rcx + rbx + 0x2588]
mov dword [rax + 0x2c], edx
mov rax, qword [rbx + 0x2580]
mov edx, 2
mov r9d, edx
mov r11, rdx
mov dword [rax + 0x1c], edi
cmp esi, edx
jb 0x10002a68f
lea r8d, [rdx + 0x2e]
lea r10, [rbx + 0x78]
lea rbp, [0x10000d2d0]
mov edx, dword [r10]
cmp edx, 0x400
jae 0x10002a5f3
mov dl, byte [rdx + rbx + 0x47c]
jmp 0x10002a614
cmp edx, 0x80000
jae 0x10002a60e
mov rax, rdx
shr rax, 9
mov dl, byte [rax + rbx + 0x47c]
add dl, 0x12
jmp 0x10002a614
shr edx, 0x11
add dl, 0x22
cmp r9d, 9
jae 0x10002a636
movzx eax, dl
lea ecx, [r9 + rax*8 + 0xfe]
movzx eax, dl
movzx ecx, byte [rcx + rbx + 0x2588]
movzx eax, byte [rax + rbp]
jmp 0x10002a650
movzx eax, dl
movzx ecx, byte [rbx + rax*8 + 0x268f]
movzx eax, byte [rax + rbp]
add ecx, eax
movzx eax, byte [r11 + rbx + 0x283c]
add ecx, eax
mov rax, qword [rbx + 0x2580]
add r9d, r15d
mov dword [r8 + rax + 0x14], ecx
mov rax, qword [rbx + 0x2580]
add r11, r15
mov dword [r8 + rax + 4], edi
mov eax, dword [r10]
mov rcx, qword [rbx + 0x2580]
mov dword [r8 + rcx], eax
add r8, 0x18
add r10, 4
cmp r9d, esi
jbe 0x10002a5df
mov rax, qword [rbx + 0x2580]
mov r10d, r14d
lea r15d, [rdi + 1]
mov dword [rax + 0x14], r13d
mov eax, dword [rbx + 0x64]
mov rcx, qword [rbx + 0x2580]
mov dword [rcx + 8], eax
mov eax, dword [rbx + 0x68]
mov rcx, qword [rbx + 0x2580]
mov dword [rcx + 0xc], eax
mov eax, dword [rbx + 0x6c]
mov rcx, qword [rbx + 0x2580]
mov dword [rcx + 0x10], eax
mov eax, edi
neg eax
sub r10d, edi
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x2580]
lea r13, [rax + rcx*8]
jmp 0x10002a6ea
mov r12d, dword [rsp + 0x80]
inc edi
inc r15d
dec r10d
lea rsi, [rdi + rdi*2]
lea eax, [r15 - 2]
mov dword [rsp + 0x98], r10d
mov ecx, dword [r13 + rsi*8 + 4]
cmp ecx, eax
je 0x10002a777
mov eax, dword [r13 + rsi*8]
lea rcx, [rcx + rcx*2]
cmp eax, 3
jb 0x10002a72e
add eax, 0xfffffffe
mov dword [rbx + 0x64], eax
mov eax, dword [r13 + rcx*8 + 8]
mov dword [rbx + 0x68], eax
mov eax, dword [r13 + rcx*8 + 0xc]
jmp 0x10002a774
xor edx, edx
cmp eax, edx
jne 0x10002a74b
mov eax, dword [r13 + rcx*8 + 8]
mov dword [rbx + 0x64], eax
mov eax, dword [r13 + rcx*8 + 0xc]
mov dword [rbx + 0x68], eax
mov eax, dword [r13 + rcx*8 + 0x10]
jmp 0x10002a774
cmp eax, 1
jne 0x10002a75f
mov eax, dword [r13 + rcx*8 + 0xc]
mov dword [rbx + 0x64], eax
mov eax, dword [r13 + rcx*8 + 8]
jmp 0x10002a741
mov eax, dword [r13 + rcx*8 + 0x10]
mov dword [rbx + 0x64], eax
mov eax, dword [r13 + rcx*8 + 0xc]
mov dword [rbx + 0x68], eax
mov eax, dword [r13 + rcx*8 + 8]
mov dword [rbx + 0x6c], eax
mov eax, dword [rbx + 0x64]
mov dword [r13 + rsi*8 + 8], eax
mov eax, dword [rbx + 0x68]
mov dword [r13 + rsi*8 + 0xc], eax
mov eax, dword [rbx + 0x6c]
mov dword [r13 + rsi*8 + 0x10], eax
cmp r12d, edi
je 0x10002a9ec
mov edx, edi
mov rcx, rbx
call fcn.10002cda8
mov r10d, dword [rsp + 0x98]
lea ecx, [rax + rdi]
mov r12d, eax
cmp ecx, r14d
jbe 0x10002a7c5
mov r12d, r10d
cmp r10d, 2
mov eax, 0
cmovl r12d, eax
cmp r12d, 0x32
jg 0x10002a95b
lea r9d, [r12 + rdi]
cmp r9d, dword [rsp + 0x24]
jae 0x10002a95b
cmp r12d, 2
jg 0x10002a7ef
jne 0x10002a853
cmp dword [rbx + 0x78], 0x800
jae 0x10002a853
mov r8d, dword [rsp + 0x80]
cmp r8d, r9d
jae 0x10002a853
mov edx, dword [rsp + 0x20]
mov r11d, 0xefc
mov ecx, r12d
sub ecx, edx
mov eax, r11d
add ecx, edi
cmp ecx, r11d
cmovb eax, ecx
sub r8d, edx
inc r8d
movsxd rdx, eax
movsxd r8, r8d
cmp r8, rdx
jg 0x10002a84b
lea rcx, [r8 + r8*2]
sub rdx, r8
shl rcx, 3
inc rdx
mov rax, qword [rbx + 0x2580]
add rcx, 0x18
or dword [rax + rcx - 4], 0xffffffff
sub rdx, 1
jne 0x10002a835
mov dword [rsp + 0x80], r9d
mov rax, qword [rbx]
mov esi, dword [r13 + rsi*8 + 0x14]
movzx ecx, byte [rax + rdi]
movzx edx, byte [rcx + rbx + 0x2588]
lea rcx, [r15 + r15*2]
add edx, esi
cmp edx, dword [r13 + rcx*8 + 0x14]
jae 0x10002a87e
mov dword [r13 + rcx*8 + 0x14], edx
mov dword [r13 + rcx*8 + 4], edi
mov r8d, 2
mov r11, r8
cmp r12d, r8d
jb 0x10002a6e2
lea r10d, [r15 + 1]
lea r9, [rbx + 0x78]
lea r14, [0x10000d2d0]
mov edx, dword [r9]
cmp edx, 0x400
jae 0x10002a8b3
mov dl, byte [rdx + rbx + 0x47c]
jmp 0x10002a8d4
cmp edx, 0x80000
jae 0x10002a8ce
mov rax, rdx
shr rax, 9
mov dl, byte [rax + rbx + 0x47c]
add dl, 0x12
jmp 0x10002a8d4
shr edx, 0x11
add dl, 0x22
cmp r8d, 9
jae 0x10002a8f7
movzx eax, dl
lea ecx, [r8 + rax*8 + 0xfe]
movzx eax, dl
movzx ecx, byte [rcx + rbx + 0x2588]
movzx eax, byte [rax + r14]
jmp 0x10002a912
movzx eax, dl
movzx ecx, byte [rbx + rax*8 + 0x268f]
movzx eax, byte [rax + r14]
add ecx, eax
movzx eax, byte [r11 + rbx + 0x283c]
add ecx, eax
lea rdx, [r10 + r10*2]
add ecx, esi
cmp ecx, dword [r13 + rdx*8 + 0x14]
jae 0x10002a933
mov dword [r13 + rdx*8 + 0x14], ecx
mov dword [r13 + rdx*8 + 4], edi
mov eax, dword [r9]
mov dword [r13 + rdx*8], eax
inc r8d
inc r10d
inc r11
add r9, 4
cmp r8d, r12d
jbe 0x10002a89f
mov r14d, dword [rsp + 0x28]
mov r10d, dword [rsp + 0x98]
jmp 0x10002a6e2
lea r14d, [r12 + rdi]
movsxd rax, r12d
mov esi, dword [rbx + rax*4 + 0x70]
lea rcx, [r14 + r14*2]
mov dword [r13 + rcx*8], esi
mov dword [r13 + rcx*8 + 4], edi
cmp esi, 3
jne 0x10002a997
cmp r12d, 0x10
jle 0x10002a997
mov r8d, edi
lea edx, [rdi + 1]
mov rcx, rbx
sub r8d, dword [rbx + 8]
add r8d, 5
call fcn.10002d0c4
jmp 0x10002a9be
mov ebp, 1
cmp r12d, ebp
jbe 0x10002a9be
mov eax, ebp
lea edx, [rbp + rdi]
mov rcx, rbx
sub eax, dword [rbx + 8]
lea r8d, [rax + rdi + 4]
call fcn.10002d0c4
inc ebp
cmp ebp, r12d
jb 0x10002a9a1
mov edi, r14d
cmp esi, 3
jb 0x10002a9da
mov eax, dword [rbx + 0x68]
mov dword [rbx + 0x6c], eax
mov eax, dword [rbx + 0x64]
mov dword [rbx + 0x68], eax
lea eax, [rsi - 2]
mov dword [rbx + 0x64], eax
jmp 0x10002a9ec
test esi, esi
je 0x10002a9ec
mov eax, dword [rbx + rsi*4 + 0x64]
mov edx, dword [rbx + 0x64]
mov dword [rbx + 0x64], eax
mov dword [rbx + rsi*4 + 0x64], edx
mov r8d, dword [rsp + 0x20]
mov eax, edi
xor esi, esi
lea rcx, [rax + rax*2]
lea r15d, [rsi + 1]
mov edx, dword [r13 + rcx*8 + 4]
mov ecx, edx
mov ebp, edx
add esi, r15d
lea rax, [rcx + rcx*2]
mov edx, dword [r13 + rax*8 + 4]
lea rax, [rcx + rcx*2]
mov dword [r13 + rax*8 + 4], edi
mov edi, ebp
cmp ebp, r8d
jne 0x10002aa02
mov eax, dword [rbx + 0x38]
lea ecx, [rsi + rax]
cmp ecx, 0xfff8
jae 0x10002aa3e
mov eax, dword [rbx + 0x3c]
lea ecx, [rsi + rax]
cmp ecx, 0x7ff8
jb 0x10002aa4a
mov edx, ebp
mov rcx, rbx
call fcn.10002ade8
jmp 0x10002aa22
mov r8d, edi
lea r9d, [rdi + 1]
lea r10, [r8 + r8*2]
cmp dword [r13 + r10*8 + 4], r9d
jbe 0x10002aabb
mov ecx, dword [rbx + 0x38]
mov rdx, qword [rbx + 0x50]
mov eax, r15d
mov r8, rcx
and ecx, 7
shl al, cl
shr r8, 3
or byte [r8 + rdx], al
mov dl, byte [r13 + r10*8 + 4]
mov ecx, dword [rbx + 0x38]
mov rax, qword [rbx + 0x48]
sub dl, dil
sub dl, 2
mov byte [rcx + rax], dl
add dword [rbx + 0x38], r15d
mov eax, dword [r13 + r10*8 + 4]
mov r8d, dword [rbx + 0x3c]
mov rcx, qword [rbx + 0x40]
lea rdx, [rax + rax*2]
mov eax, dword [r13 + rdx*8]
mov dword [rcx + r8*4], eax
add dword [rbx + 0x3c], r15d
mov edi, dword [r13 + r10*8 + 4]
mov dword [rsp + 0x80], edi
jmp 0x10002aadb
mov rax, qword [rbx]
mov edx, dword [rbx + 0x38]
mov rcx, qword [rbx + 0x48]
mov al, byte [r8 + rax]
mov edi, r9d
mov dword [rsp + 0x80], r9d
mov byte [rdx + rcx], al
add dword [rbx + 0x38], r15d
sub esi, r15d
jne 0x10002aa4a
mov ecx, dword [rbx + 0x38]
xor r13d, r13d
cmp ecx, dword [rbx + 0x2574]
jb 0x10002ab59
cmp ecx, r13d
je 0x10002ab4f
mov r9d, ecx
mov rcx, rbx
cmp dword [rbx + 0x9b0], r13d
je 0x10002ab19
xor r8d, r8d
xor edx, edx
call fcn.10002e5f8
mov dword [rbx + 0x9b0], r13d
jmp 0x10002ab2b
mov r8d, dword [rbx + 0x257c]
mov edx, dword [rbx + 0x2578]
call fcn.10002e498
xor edx, edx
mov rcx, rbx
call fcn.10002e2cc
mov rcx, rbx
call fcn.10002e378
mov ecx, dword [rbx + 0x38]
mov eax, dword [rbx + 0x3c]
mov dword [rbx + 0x2578], ecx
mov dword [rbx + 0x257c], eax
add dword [rbx + 0x2574], 0x1000
mov eax, dword [rsp + 0x90]
cmp byte [rbx + 0x9ad], r13b
je 0x10002a4e3
cmp ecx, 0xfe00
jae 0x10002ab82
cmp dword [rbx + 0x3c], 0x7e00
jb 0x10002a4e3
lea rdx, [rsp + 0x80]
mov rcx, rbx
call fcn.10002ae40
mov edi, dword [rsp + 0x80]
cmp eax, r13d
jne 0x10002a4dc
mov edx, edi
mov rcx, rbx
call fcn.10002ade8
jmp 0x10002a4dc
movsxd rax, esi
mov r12d, dword [rbx + rax*4 + 0x70]
cmp r12d, 3
jne 0x10002abdc
cmp esi, 0x10
jle 0x10002abdc
mov r8d, edi
lea edx, [rdi + 1]
mov rcx, rbx
sub r8d, dword [rbx + 8]
add r8d, 5
call fcn.10002d0c4
jmp 0x10002ac01
mov ebp, r15d
cmp esi, r15d
jbe 0x10002ac01
mov eax, ebp
lea edx, [rbp + rdi]
mov rcx, rbx
sub eax, dword [rbx + 8]
lea r8d, [rax + rdi + 4]
call fcn.10002d0c4
add ebp, r15d
cmp ebp, esi
jb 0x10002abe4
mov ecx, dword [rbx + 0x38]
mov rdx, qword [rbx + 0x50]
add edi, esi
mov r8, rcx
and ecx, 7
mov eax, r15d
shl al, cl
shr r8, 3
sub sil, 2
or byte [r8 + rdx], al
mov ecx, dword [rbx + 0x38]
mov rax, qword [rbx + 0x48]
mov byte [rcx + rax], sil
mov ecx, dword [rbx + 0x3c]
add dword [rbx + 0x38], r15d
mov rax, qword [rbx + 0x40]
mov dword [rsp + 0x80], edi
mov dword [rax + rcx*4], r12d
add dword [rbx + 0x3c], r15d
cmp r12d, 3
jb 0x10002ac62
mov eax, dword [rbx + 0x68]
mov dword [rbx + 0x6c], eax
mov eax, dword [rbx + 0x64]
mov dword [rbx + 0x68], eax
lea eax, [r12 - 2]
mov dword [rbx + 0x64], eax
jmp 0x10002ac77
cmp r12d, r13d
je 0x10002ac77
mov eax, dword [rbx + r12*4 + 0x64]
mov edx, dword [rbx + 0x64]
mov dword [rbx + 0x64], eax
mov dword [rbx + r12*4 + 0x64], edx
cmp dword [rbx + 0x38], 0xfff8
jae 0x10002aba2
cmp dword [rbx + 0x3c], 0x7ff8
mov eax, dword [rsp + 0x90]
jb 0x10002a4e3
jmp 0x10002aba2
mov eax, edi
sub eax, dword [rbx + 8]
cmp dword [rsp + 0x88], 0x8000
mov dword [rbx + 0x9bc], eax
jge 0x10002ace7
cmp byte [rbx + 0x9ad], r13b
je 0x10002adbf
lea rdx, [rsp + 0x80]
mov rcx, rbx
call fcn.10002ae40
cmp eax, r13d
je 0x10002add6
mov edi, dword [rsp + 0x80]
jmp 0x10002a4dc
lea r12d, [rax + 0x36]
lea esi, [rdi - 1]
mov ebp, 0x32
mov r8d, r12d
mov edx, esi
mov rcx, rbx
call fcn.10002d218
dec esi
sub rbp, r15
jne 0x10002acf3
mov ecx, dword [rbx]
mov eax, dword [rbx + 0x9b8]
sub ecx, dword [rbx + 0x4378]
add eax, dword [rbx + 8]
add ecx, edi
cmp ecx, eax
jb 0x10002adbf
cmp byte [rbx + 0x9ad], r13b
je 0x10002ad47
lea rdx, [rsp + 0x80]
mov rcx, rbx
call fcn.10002ae40
cmp eax, r13d
jne 0x10002acdb
mov edi, dword [rsp + 0x80]
mov rcx, qword [rbx + 0x4378]
mov edx, dword [rbx + 0x9b8]
mov r8d, dword [rbx + 8]
add rdx, rcx
call fcn.10003974c
mov rcx, qword [rbx + 0x4380]
mov eax, dword [rbx + 0x9b8]
mov r8d, dword [rbx + 8]
lea rdx, [rcx + rax*4]
shl r8, 2
call fcn.10003974c
mov rcx, qword [rbx + 0x4388]
mov eax, dword [rbx + 0x9b8]
mov r8d, dword [rbx + 8]
lea rdx, [rcx + rax*4]
shl r8, 2
call fcn.10003974c
mov eax, dword [rbx + 0x9b8]
mov r11d, edi
sub r11d, dword [rbx + 8]
sub qword [rbx], rax
shl rax, 2
sub qword [rbx + 0x18], rax
sub qword [rbx + 0x20], rax
mov dword [rbx + 0x9bc], r11d
mov dword [rbx + 0x478], edi
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov edi, dword [rsp + 0x80]
jmp 0x10002adbf