Function at 0x1000c32c4
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 r14d, r14d
mov rbx, rcx
lea r11d, [rdi + rdx]
mov dword [rax + 8], edi
mov dword [rsp + 0x90], r11d
cmp dword [rcx + 0x9b8], r14d
je 0x1000c3353
mov dword [rcx + 0x9b8], r14d
mov dword [rcx + 0x2574], 0x2710
lea edx, [r14 + 1]
cmp dword [rcx + 0x8a4], r14d
je 0x1000c3349
mov r8d, edx
call fcn.1000c4b34
movzx r8d, word [rbx + 0x8a6]
lea edx, [r14 + 0x10]
mov rcx, rbx
call fcn.1000c4b34
movzx r8d, word [rbx + 0x8a4]
lea edx, [r14 + 0x10]
mov rcx, rbx
jmp 0x1000c334c
xor r8d, r8d
call fcn.1000c4b34
jmp 0x1000c337c
mov esi, 0x32
mov r8d, edi
mov edx, edi
mov rcx, rbx
sub r8d, dword [rbx + 8]
sub edx, esi
add r8d, 4
call fcn.1000c49fc
add esi, 0xffffffff
jne 0x1000c3358
mov r11d, dword [rsp + 0x90]
lea r13, [0x100002e80]
lea ebp, [rdi + 0x8000]
cmp edi, r11d
jae 0x1000c3b87
mov r15d, ebp
and r15d, 0xffff8000
mov dword [rsp + 0x20], r15d
cmp r15d, r11d
ja 0x1000c33ab
cmp r15d, edi
jae 0x1000c33b3
mov r15d, r11d
mov dword [rsp + 0x20], r11d
mov edx, edi
mov rcx, rbx
call fcn.1000c4724
cmp eax, 2
mov esi, eax
jl 0x1000c33d6
lea ecx, [rax + rdi]
cmp ecx, r15d
jbe 0x1000c3420
mov esi, r15d
sub esi, edi
cmp esi, 2
jge 0x1000c3420
mov rax, qword [rbx]
mov edx, dword [rbx + 0x38]
mov rcx, qword [rbx + 0x48]
mov r11d, dword [rsp + 0x90]
mov r8d, edi
inc edi
mov al, byte [r8 + rax]
inc ebp
mov dword [rsp + 0x80], edi
mov byte [rdx + rcx], al
inc dword [rbx + 0x38]
cmp dword [rbx + 0x38], 0xfff8
jb 0x1000c3389
mov edx, edi
mov rcx, rbx
call fcn.1000c3d58
mov r11d, dword [rsp + 0x90]
jmp 0x1000c3389
cmp esi, 0x32
jge 0x1000c3a8c
lea eax, [rdi + 0xefd]
mov r9d, 2
mov ebp, edi
mov dword [rsp + 0x2c], eax
mov rax, qword [rbx]
lea r12d, [rsi + rdi]
movzx ecx, byte [rax + rbp]
mov rax, qword [rbx + 0x2580]
mov dword [rsp + 0x80], r12d
movzx edx, byte [rcx + rbx + 0x2588]
mov dword [rsp + 0x28], edi
mov r11, r9
mov dword [rax + 0x2c], edx
mov rax, qword [rbx + 0x2580]
mov dword [rax + 0x1c], edi
cmp esi, r9d
jb 0x1000c3543
lea r8d, [r9 + 0x2e]
lea r10, [rbx + 0x78]
movsxd rdx, dword [r10]
cmp edx, 0x400
jge 0x1000c3496
mov dl, byte [rdx + rbx + 0x47c]
jmp 0x1000c34b7
cmp edx, 0x80000
jge 0x1000c34b1
mov rax, rdx
sar rax, 9
mov dl, byte [rax + rbx + 0x47c]
add dl, 0x12
jmp 0x1000c34b7
sar edx, 0x11
add dl, 0x22
cmp r9d, 9
jae 0x1000c34e8
movzx eax, dl
lea ecx, [r9 + rax*8 + 0xfe]
movzx eax, dl
movzx eax, byte [rax + r13]
movzx ecx, byte [rcx + rbx + 0x2588]
add ecx, eax
mov rax, qword [rbx + 0x2580]
mov dword [rax + r8 + 0x14], ecx
jmp 0x1000c3512
movzx eax, byte [r11 + rbx + 0x283c]
movzx ecx, dl
movzx edx, byte [rbx + rcx*8 + 0x268f]
add edx, eax
movzx eax, byte [r13 + rcx]
add edx, eax
mov rax, qword [rbx + 0x2580]
mov dword [rax + r8 + 0x14], edx
mov rax, qword [rbx + 0x2580]
inc r9d
inc r11
mov dword [rax + r8 + 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 0x1000c3482
mov rax, qword [rbx + 0x2580]
mov r10d, r15d
lea r8d, [rdi + 1]
mov dword [rax + 0x14], r14d
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 r13, qword [rbx + 0x2580]
lea rax, [rbp + rbp*2]
shl rax, 3
sub r13, rax
sub r10d, edi
jmp 0x1000c359c
mov r12d, dword [rsp + 0x80]
inc r8d
inc edi
dec r10d
lea rsi, [rdi + rdi*2]
lea eax, [r8 - 2]
mov dword [rsp + 0x98], r10d
mov ecx, dword [r13 + rsi*8 + 4]
mov dword [rsp + 0x24], r8d
cmp ecx, eax
je 0x1000c35ea
mov eax, dword [r13 + rsi*8]
lea rcx, [rcx + rcx*2]
cmp eax, 3
jb 0x1000c3727
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]
mov dword [rbx + 0x6c], eax
xor ebp, ebp
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 0x1000c38bd
mov edx, edi
mov rcx, rbx
call fcn.1000c4724
mov r10d, dword [rsp + 0x98]
lea ecx, [rax + rdi]
mov r12d, eax
cmp ecx, r15d
jbe 0x1000c3635
mov r12d, r10d
cmp r10d, 2
cmovl r12d, ebp
cmp r12d, 0x32
jg 0x1000c3826
lea r9d, [r12 + rdi]
cmp r9d, dword [rsp + 0x2c]
jae 0x1000c3826
cmp r12d, 2
jg 0x1000c365f
jne 0x1000c36c3
cmp dword [rbx + 0x78], 0x800
jae 0x1000c36c3
mov r11d, dword [rsp + 0x80]
cmp r11d, r9d
jae 0x1000c36c3
mov edx, dword [rsp + 0x28]
mov r8d, 0xefc
mov ecx, r12d
sub ecx, edx
mov eax, r8d
add ecx, edi
cmp ecx, r8d
cmovb eax, ecx
sub r11d, edx
inc r11d
movsxd rdx, eax
movsxd r8, r11d
cmp r8, rdx
jg 0x1000c36bb
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 0x1000c36a5
mov dword [rsp + 0x80], r9d
mov rax, qword [rbx]
mov r8d, dword [rsp + 0x24]
mov ebp, dword [r13 + rsi*8 + 0x14]
movzx ecx, byte [rdi + rax]
movzx edx, byte [rcx + rbx + 0x2588]
lea rcx, [r8 + r8*2]
add edx, ebp
cmp edx, dword [r13 + rcx*8 + 0x14]
jae 0x1000c36f3
mov dword [r13 + rcx*8 + 0x14], edx
mov dword [r13 + rcx*8 + 4], edi
mov esi, 2
mov r9d, esi
cmp r12d, esi
jb 0x1000c3594
lea r11d, [r8 + 1]
lea r10, [rbx + 0x78]
lea r15, [0x100002e80]
movsxd rdx, dword [r10]
cmp edx, 0x400
jge 0x1000c3775
mov dl, byte [rdx + rbx + 0x47c]
jmp 0x1000c3796
xor ebp, ebp
cmp eax, ebp
jne 0x1000c373c
mov eax, dword [r13 + rcx*8 + 8]
mov dword [rbx + 0x64], eax
mov eax, dword [r13 + rcx*8 + 0xc]
jmp 0x1000c374e
cmp eax, 1
jne 0x1000c375e
mov eax, dword [r13 + rcx*8 + 0xc]
mov dword [rbx + 0x64], eax
mov eax, dword [r13 + rcx*8 + 8]
mov dword [rbx + 0x68], eax
mov eax, dword [r13 + rcx*8 + 0x10]
mov dword [rbx + 0x6c], eax
jmp 0x1000c35ec
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]
jmp 0x1000c3756
cmp edx, 0x80000
jge 0x1000c3790
mov rax, rdx
sar rax, 9
mov dl, byte [rax + rbx + 0x47c]
add dl, 0x12
jmp 0x1000c3796
sar edx, 0x11
add dl, 0x22
cmp r9d, 9
jae 0x1000c37ba
movzx eax, dl
lea ecx, [r9 + rax*8 + 0xfe]
movzx eax, dl
movzx r8d, byte [rcx + rbx + 0x2588]
movzx eax, byte [rax + r15]
jmp 0x1000c37d6
movzx eax, byte [rsi + rbx + 0x283c]
movzx ecx, dl
movzx r8d, byte [rbx + rcx*8 + 0x268f]
add r8d, eax
movzx eax, byte [rcx + r15]
add r8d, eax
lea rcx, [r11 + r11*2]
add r8d, ebp
cmp r8d, dword [r13 + rcx*8 + 0x14]
jae 0x1000c37f9
mov dword [r13 + rcx*8 + 0x14], r8d
mov dword [r13 + rcx*8 + 4], edi
mov eax, dword [r10]
mov dword [r13 + rcx*8], eax
inc r9d
inc r11d
inc rsi
add r10, 4
cmp r9d, r12d
jbe 0x1000c3713
mov r15d, dword [rsp + 0x20]
mov r8d, dword [rsp + 0x24]
mov r10d, dword [rsp + 0x98]
jmp 0x1000c3594
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 0x1000c3862
cmp r12d, 0x10
jle 0x1000c3862
mov r8d, edi
lea edx, [rdi + 1]
mov rcx, rbx
sub r8d, dword [rbx + 8]
add r8d, 5
call fcn.1000c49fc
jmp 0x1000c3889
mov ebp, 1
cmp r12d, ebp
jbe 0x1000c3889
mov eax, ebp
lea edx, [rbp + rdi]
mov rcx, rbx
sub eax, dword [rbx + 8]
lea r8d, [rax + rdi + 4]
call fcn.1000c49fc
inc ebp
cmp ebp, r12d
jb 0x1000c386c
mov edi, r14d
xor r14d, r14d
cmp esi, 3
jb 0x1000c38a8
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 0x1000c38c0
cmp esi, r14d
je 0x1000c38c0
mov eax, dword [rbx + rsi*4 + 0x64]
mov edx, dword [rbx + 0x64]
mov dword [rbx + 0x64], eax
mov dword [rbx + rsi*4 + 0x64], edx
jmp 0x1000c38c0
xor r14d, r14d
mov r8d, dword [rsp + 0x28]
mov eax, edi
mov esi, r14d
lea rcx, [rax + rax*2]
mov edx, dword [r13 + rcx*8 + 4]
mov ecx, edx
mov ebp, edx
inc esi
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 0x1000c38d3
mov eax, dword [rbx + 0x38]
lea ecx, [rsi + rax]
cmp ecx, 0xfff8
jae 0x1000c390e
mov eax, dword [rbx + 0x3c]
lea ecx, [rsi + rax]
cmp ecx, 0x7ff8
jb 0x1000c391a
mov edx, ebp
mov rcx, rbx
call fcn.1000c3d58
jmp 0x1000c38f2
mov r8d, edi
lea r9d, [rdi + 1]
lea r10, [r8 + r8*2]
cmp dword [r13 + r10*8 + 4], r9d
jbe 0x1000c398b
mov ecx, dword [rbx + 0x38]
mov rdx, qword [rbx + 0x50]
mov eax, 1
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
inc dword [rbx + 0x38]
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
inc dword [rbx + 0x3c]
mov edi, dword [r13 + r10*8 + 4]
mov dword [rsp + 0x80], edi
jmp 0x1000c39aa
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
inc dword [rbx + 0x38]
add esi, 0xffffffff
jne 0x1000c391a
mov ecx, dword [rbx + 0x38]
cmp ecx, dword [rbx + 0x2574]
jb 0x1000c3a25
cmp ecx, r14d
je 0x1000c3a1b
mov r9d, ecx
mov rcx, rbx
cmp dword [rbx + 0x9b4], r14d
je 0x1000c39e5
xor r8d, r8d
xor edx, edx
call fcn.1000c5e98
mov dword [rbx + 0x9b4], r14d
jmp 0x1000c39f7
mov r8d, dword [rbx + 0x257c]
mov edx, dword [rbx + 0x2578]
call fcn.1000c5d38
xor edx, edx
mov rcx, rbx
call fcn.1000c5b50
mov rcx, rbx
call fcn.1000c5bfc
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 r11d, dword [rsp + 0x90]
lea r13, [0x100002e80]
cmp byte [rbx + 0x9b1], r14b
je 0x1000c3383
cmp ecx, 0xfe00
jae 0x1000c3a5d
cmp dword [rbx + 0x3c], 0x7e00
lea r13, [0x100002e80]
jb 0x1000c3383
lea rdx, [rsp + 0x80]
mov rcx, rbx
call fcn.1000c3db0
mov edi, dword [rsp + 0x80]
cmp eax, r14d
jne 0x1000c3374
mov edx, edi
mov rcx, rbx
call fcn.1000c3d58
jmp 0x1000c3374
movsxd rax, esi
mov r12d, dword [rbx + rax*4 + 0x70]
cmp r12d, 3
jne 0x1000c3ab7
cmp esi, 0x10
jle 0x1000c3ab7
mov r8d, edi
lea edx, [rdi + 1]
mov rcx, rbx
sub r8d, dword [rbx + 8]
add r8d, 5
call fcn.1000c49fc
jmp 0x1000c3adc
mov ebp, 1
cmp esi, ebp
jbe 0x1000c3adc
mov eax, ebp
lea edx, [rbp + rdi]
mov rcx, rbx
sub eax, dword [rbx + 8]
lea r8d, [rax + rdi + 4]
call fcn.1000c49fc
inc ebp
cmp ebp, esi
jb 0x1000c3ac0
mov ecx, dword [rbx + 0x38]
mov rdx, qword [rbx + 0x50]
add edi, esi
mov r8, rcx
and ecx, 7
mov eax, 1
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]
inc dword [rbx + 0x38]
mov rax, qword [rbx + 0x40]
mov dword [rsp + 0x80], edi
mov dword [rax + rcx*4], r12d
inc dword [rbx + 0x3c]
cmp r12d, 3
jb 0x1000c3b3d
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 0x1000c3b52
cmp r12d, r14d
je 0x1000c3b52
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 0x1000c3b70
cmp dword [rbx + 0x3c], 0x7ff8
mov r11d, dword [rsp + 0x90]
jb 0x1000c3383
mov edx, edi
mov rcx, rbx
call fcn.1000c3d58
mov r11d, dword [rsp + 0x90]
jmp 0x1000c3383
mov eax, edi
sub eax, dword [rbx + 8]
cmp dword [rsp + 0x88], 0x8000
mov dword [rbx + 0x9c0], eax
jge 0x1000c3bce
cmp byte [rbx + 0x9b1], r14b
je 0x1000c3cd7
lea rdx, [rsp + 0x80]
mov rcx, rbx
call fcn.1000c3db0
cmp eax, r14d
je 0x1000c3d48
mov edi, dword [rsp + 0x80]
jmp 0x1000c3b7a
lea esi, [rax + 0x36]
mov ebp, 1
mov rax, qword [rbx]
mov edx, edi
sub edx, ebp
mov r8d, edx
movzx ecx, word [rdx + rax]
mov rax, qword [rbx + 0x10]
lea r9, [rax + rcx*4]
cmp dword [r9], edx
jne 0x1000c3c0d
mov r10, qword [rbx + 0x18]
mov r11, qword [rbx + 0x20]
cmp dword [r9], esi
ja 0x1000c3cee
mov dword [r9], r14d
mov dword [r11 + rdx*4], r14d
mov dword [r10 + rdx*4], r14d
inc ebp
cmp ebp, 0x32
jbe 0x1000c3bd6
mov eax, dword [rbx]
sub eax, dword [rbx + 0x4378]
add eax, edi
cmp eax, dword [rbx + 8]
jb 0x1000c3cd7
sub eax, dword [rbx + 8]
cmp eax, dword [rbx + 0x9bc]
jb 0x1000c3cd7
cmp byte [rbx + 0x9b1], r14b
je 0x1000c3c5f
lea rdx, [rsp + 0x80]
mov rcx, rbx
call fcn.1000c3db0
cmp eax, r14d
jne 0x1000c3bc5
mov edi, dword [rsp + 0x80]
mov rcx, qword [rbx + 0x4378]
mov edx, dword [rbx + 0x9bc]
mov r8d, dword [rbx + 8]
add rdx, rcx
call sub.msvcrt.dll_memmove
mov rcx, qword [rbx + 0x4380]
mov eax, dword [rbx + 0x9bc]
mov r8d, dword [rbx + 8]
lea rdx, [rcx + rax*4]
shl r8, 2
call sub.msvcrt.dll_memmove
mov rcx, qword [rbx + 0x4388]
mov eax, dword [rbx + 0x9bc]
mov r8d, dword [rbx + 8]
lea rdx, [rcx + rax*4]
shl r8, 2
call sub.msvcrt.dll_memmove
mov eax, dword [rbx + 0x9bc]
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 + 0x9c0], 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 edx, dword [r10 + rdx*4]
cmp edx, esi
ja 0x1000c3cfd
mov dword [r10 + r8*4], r14d
mov edx, r14d
mov ecx, dword [r11 + r8*4]
cmp ecx, esi
ja 0x1000c3d0c
mov dword [r11 + r8*4], r14d
mov ecx, r14d
cmp edx, ecx
jbe 0x1000c3d2c
cmp esi, edx
sbb eax, eax
and eax, edx
mov dword [r9], eax
cmp eax, r14d
je 0x1000c3c0d
mov edx, dword [r11 + rax*4]
lea r9, [r11 + rax*4]
jmp 0x1000c3d0c
cmp esi, ecx
sbb eax, eax
and eax, ecx
mov dword [r9], eax
cmp eax, r14d
je 0x1000c3c0d
mov ecx, dword [r10 + rax*4]
lea r9, [r10 + rax*4]
jmp 0x1000c3d0c
mov edi, dword [rsp + 0x80]
jmp 0x1000c3cd7