Function at 0x10011155c
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 0x1001115eb
mov dword [rcx + 0x9b8], r14d
mov dword [rcx + 0x2574], 0x2710
lea edx, [r14 + 1]
cmp dword [rcx + 0x8a4], r14d
je 0x1001115e1
mov r8d, edx
call fcn.100112dcc
movzx r8d, word [rbx + 0x8a6]
lea edx, [r14 + 0x10]
mov rcx, rbx
call fcn.100112dcc
movzx r8d, word [rbx + 0x8a4]
lea edx, [r14 + 0x10]
mov rcx, rbx
jmp 0x1001115e4
xor r8d, r8d
call fcn.100112dcc
jmp 0x100111614
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.100112c94
add esi, 0xffffffff
jne 0x1001115f0
mov r11d, dword [rsp + 0x90]
lea r13, [0x1000036d0]
lea ebp, [rdi + 0x8000]
cmp edi, r11d
jae 0x100111e1f
mov r15d, ebp
and r15d, 0xffff8000
mov dword [rsp + 0x20], r15d
cmp r15d, r11d
ja 0x100111643
cmp r15d, edi
jae 0x10011164b
mov r15d, r11d
mov dword [rsp + 0x20], r11d
mov edx, edi
mov rcx, rbx
call fcn.1001129bc
cmp eax, 2
mov esi, eax
jl 0x10011166e
lea ecx, [rax + rdi]
cmp ecx, r15d
jbe 0x1001116b8
mov esi, r15d
sub esi, edi
cmp esi, 2
jge 0x1001116b8
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 0x100111621
mov edx, edi
mov rcx, rbx
call fcn.100111ff0
mov r11d, dword [rsp + 0x90]
jmp 0x100111621
cmp esi, 0x32
jge 0x100111d24
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 0x1001117db
lea r8d, [r9 + 0x2e]
lea r10, [rbx + 0x78]
movsxd rdx, dword [r10]
cmp edx, 0x400
jge 0x10011172e
mov dl, byte [rdx + rbx + 0x47c]
jmp 0x10011174f
cmp edx, 0x80000
jge 0x100111749
mov rax, rdx
sar rax, 9
mov dl, byte [rax + rbx + 0x47c]
add dl, 0x12
jmp 0x10011174f
sar edx, 0x11
add dl, 0x22
cmp r9d, 9
jae 0x100111780
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 0x1001117aa
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 0x10011171a
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 0x100111834
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 0x100111882
mov eax, dword [r13 + rsi*8]
lea rcx, [rcx + rcx*2]
cmp eax, 3
jb 0x1001119bf
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 0x100111b55
mov edx, edi
mov rcx, rbx
call fcn.1001129bc
mov r10d, dword [rsp + 0x98]
lea ecx, [rax + rdi]
mov r12d, eax
cmp ecx, r15d
jbe 0x1001118cd
mov r12d, r10d
cmp r10d, 2
cmovl r12d, ebp
cmp r12d, 0x32
jg 0x100111abe
lea r9d, [r12 + rdi]
cmp r9d, dword [rsp + 0x2c]
jae 0x100111abe
cmp r12d, 2
jg 0x1001118f7
jne 0x10011195b
cmp dword [rbx + 0x78], 0x800
jae 0x10011195b
mov r11d, dword [rsp + 0x80]
cmp r11d, r9d
jae 0x10011195b
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 0x100111953
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 0x10011193d
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 0x10011198b
mov dword [r13 + rcx*8 + 0x14], edx
mov dword [r13 + rcx*8 + 4], edi
mov esi, 2
mov r9d, esi
cmp r12d, esi
jb 0x10011182c
lea r11d, [r8 + 1]
lea r10, [rbx + 0x78]
lea r15, [0x1000036d0]
movsxd rdx, dword [r10]
cmp edx, 0x400
jge 0x100111a0d
mov dl, byte [rdx + rbx + 0x47c]
jmp 0x100111a2e
xor ebp, ebp
cmp eax, ebp
jne 0x1001119d4
mov eax, dword [r13 + rcx*8 + 8]
mov dword [rbx + 0x64], eax
mov eax, dword [r13 + rcx*8 + 0xc]
jmp 0x1001119e6
cmp eax, 1
jne 0x1001119f6
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 0x100111884
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 0x1001119ee
cmp edx, 0x80000
jge 0x100111a28
mov rax, rdx
sar rax, 9
mov dl, byte [rax + rbx + 0x47c]
add dl, 0x12
jmp 0x100111a2e
sar edx, 0x11
add dl, 0x22
cmp r9d, 9
jae 0x100111a52
movzx eax, dl
lea ecx, [r9 + rax*8 + 0xfe]
movzx eax, dl
movzx r8d, byte [rcx + rbx + 0x2588]
movzx eax, byte [rax + r15]
jmp 0x100111a6e
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 0x100111a91
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 0x1001119ab
mov r15d, dword [rsp + 0x20]
mov r8d, dword [rsp + 0x24]
mov r10d, dword [rsp + 0x98]
jmp 0x10011182c
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 0x100111afa
cmp r12d, 0x10
jle 0x100111afa
mov r8d, edi
lea edx, [rdi + 1]
mov rcx, rbx
sub r8d, dword [rbx + 8]
add r8d, 5
call fcn.100112c94
jmp 0x100111b21
mov ebp, 1
cmp r12d, ebp
jbe 0x100111b21
mov eax, ebp
lea edx, [rbp + rdi]
mov rcx, rbx
sub eax, dword [rbx + 8]
lea r8d, [rax + rdi + 4]
call fcn.100112c94
inc ebp
cmp ebp, r12d
jb 0x100111b04
mov edi, r14d
xor r14d, r14d
cmp esi, 3
jb 0x100111b40
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 0x100111b58
cmp esi, r14d
je 0x100111b58
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 0x100111b58
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 0x100111b6b
mov eax, dword [rbx + 0x38]
lea ecx, [rsi + rax]
cmp ecx, 0xfff8
jae 0x100111ba6
mov eax, dword [rbx + 0x3c]
lea ecx, [rsi + rax]
cmp ecx, 0x7ff8
jb 0x100111bb2
mov edx, ebp
mov rcx, rbx
call fcn.100111ff0
jmp 0x100111b8a
mov r8d, edi
lea r9d, [rdi + 1]
lea r10, [r8 + r8*2]
cmp dword [r13 + r10*8 + 4], r9d
jbe 0x100111c23
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 0x100111c42
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 0x100111bb2
mov ecx, dword [rbx + 0x38]
cmp ecx, dword [rbx + 0x2574]
jb 0x100111cbd
cmp ecx, r14d
je 0x100111cb3
mov r9d, ecx
mov rcx, rbx
cmp dword [rbx + 0x9b4], r14d
je 0x100111c7d
xor r8d, r8d
xor edx, edx
call fcn.100114130
mov dword [rbx + 0x9b4], r14d
jmp 0x100111c8f
mov r8d, dword [rbx + 0x257c]
mov edx, dword [rbx + 0x2578]
call fcn.100113fd0
xor edx, edx
mov rcx, rbx
call fcn.100113de8
mov rcx, rbx
call fcn.100113e94
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, [0x1000036d0]
cmp byte [rbx + 0x9b1], r14b
je 0x10011161b
cmp ecx, 0xfe00
jae 0x100111cf5
cmp dword [rbx + 0x3c], 0x7e00
lea r13, [0x1000036d0]
jb 0x10011161b
lea rdx, [rsp + 0x80]
mov rcx, rbx
call fcn.100112048
mov edi, dword [rsp + 0x80]
cmp eax, r14d
jne 0x10011160c
mov edx, edi
mov rcx, rbx
call fcn.100111ff0
jmp 0x10011160c
movsxd rax, esi
mov r12d, dword [rbx + rax*4 + 0x70]
cmp r12d, 3
jne 0x100111d4f
cmp esi, 0x10
jle 0x100111d4f
mov r8d, edi
lea edx, [rdi + 1]
mov rcx, rbx
sub r8d, dword [rbx + 8]
add r8d, 5
call fcn.100112c94
jmp 0x100111d74
mov ebp, 1
cmp esi, ebp
jbe 0x100111d74
mov eax, ebp
lea edx, [rbp + rdi]
mov rcx, rbx
sub eax, dword [rbx + 8]
lea r8d, [rax + rdi + 4]
call fcn.100112c94
inc ebp
cmp ebp, esi
jb 0x100111d58
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 0x100111dd5
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 0x100111dea
cmp r12d, r14d
je 0x100111dea
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 0x100111e08
cmp dword [rbx + 0x3c], 0x7ff8
mov r11d, dword [rsp + 0x90]
jb 0x10011161b
mov edx, edi
mov rcx, rbx
call fcn.100111ff0
mov r11d, dword [rsp + 0x90]
jmp 0x10011161b
mov eax, edi
sub eax, dword [rbx + 8]
cmp dword [rsp + 0x88], 0x8000
mov dword [rbx + 0x9c0], eax
jge 0x100111e66
cmp byte [rbx + 0x9b1], r14b
je 0x100111f6f
lea rdx, [rsp + 0x80]
mov rcx, rbx
call fcn.100112048
cmp eax, r14d
je 0x100111fe0
mov edi, dword [rsp + 0x80]
jmp 0x100111e12
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 0x100111ea5
mov r10, qword [rbx + 0x18]
mov r11, qword [rbx + 0x20]
cmp dword [r9], esi
ja 0x100111f86
mov dword [r9], r14d
mov dword [r11 + rdx*4], r14d
mov dword [r10 + rdx*4], r14d
inc ebp
cmp ebp, 0x32
jbe 0x100111e6e
mov eax, dword [rbx]
sub eax, dword [rbx + 0x4378]
add eax, edi
cmp eax, dword [rbx + 8]
jb 0x100111f6f
sub eax, dword [rbx + 8]
cmp eax, dword [rbx + 0x9bc]
jb 0x100111f6f
cmp byte [rbx + 0x9b1], r14b
je 0x100111ef7
lea rdx, [rsp + 0x80]
mov rcx, rbx
call fcn.100112048
cmp eax, r14d
jne 0x100111e5d
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 0x100111f95
mov dword [r10 + r8*4], r14d
mov edx, r14d
mov ecx, dword [r11 + r8*4]
cmp ecx, esi
ja 0x100111fa4
mov dword [r11 + r8*4], r14d
mov ecx, r14d
cmp edx, ecx
jbe 0x100111fc4
cmp esi, edx
sbb eax, eax
and eax, edx
mov dword [r9], eax
cmp eax, r14d
je 0x100111ea5
mov edx, dword [r11 + rax*4]
lea r9, [r11 + rax*4]
jmp 0x100111fa4
cmp esi, ecx
sbb eax, eax
and eax, ecx
mov dword [r9], eax
cmp eax, r14d
je 0x100111ea5
mov ecx, dword [r10 + rax*4]
lea r9, [r10 + rax*4]
jmp 0x100111fa4
mov edi, dword [rsp + 0x80]
jmp 0x100111f6f