Function at 0x100111a50
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 0x100111adf
mov dword [rcx + 0x9b8], r14d
mov dword [rcx + 0x2574], 0x2710
lea edx, [r14 + 1]
cmp dword [rcx + 0x8a4], r14d
je 0x100111ad5
mov r8d, edx
call fcn.1001132c0
movzx r8d, word [rbx + 0x8a6]
lea edx, [r14 + 0x10]
mov rcx, rbx
call fcn.1001132c0
movzx r8d, word [rbx + 0x8a4]
lea edx, [r14 + 0x10]
mov rcx, rbx
jmp 0x100111ad8
xor r8d, r8d
call fcn.1001132c0
jmp 0x100111b08
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.100113188
add esi, 0xffffffff
jne 0x100111ae4
mov r11d, dword [rsp + 0x90]
lea r13, [0x1000036d0]
lea ebp, [rdi + 0x8000]
cmp edi, r11d
jae 0x100112313
mov r15d, ebp
and r15d, 0xffff8000
mov dword [rsp + 0x20], r15d
cmp r15d, r11d
ja 0x100111b37
cmp r15d, edi
jae 0x100111b3f
mov r15d, r11d
mov dword [rsp + 0x20], r11d
mov edx, edi
mov rcx, rbx
call fcn.100112eb0
cmp eax, 2
mov esi, eax
jl 0x100111b62
lea ecx, [rax + rdi]
cmp ecx, r15d
jbe 0x100111bac
mov esi, r15d
sub esi, edi
cmp esi, 2
jge 0x100111bac
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 0x100111b15
mov edx, edi
mov rcx, rbx
call fcn.1001124e4
mov r11d, dword [rsp + 0x90]
jmp 0x100111b15
cmp esi, 0x32
jge 0x100112218
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 0x100111ccf
lea r8d, [r9 + 0x2e]
lea r10, [rbx + 0x78]
movsxd rdx, dword [r10]
cmp edx, 0x400
jge 0x100111c22
mov dl, byte [rdx + rbx + 0x47c]
jmp 0x100111c43
cmp edx, 0x80000
jge 0x100111c3d
mov rax, rdx
sar rax, 9
mov dl, byte [rax + rbx + 0x47c]
add dl, 0x12
jmp 0x100111c43
sar edx, 0x11
add dl, 0x22
cmp r9d, 9
jae 0x100111c74
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 0x100111c9e
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 0x100111c0e
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 0x100111d28
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 0x100111d76
mov eax, dword [r13 + rsi*8]
lea rcx, [rcx + rcx*2]
cmp eax, 3
jb 0x100111eb3
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 0x100112049
mov edx, edi
mov rcx, rbx
call fcn.100112eb0
mov r10d, dword [rsp + 0x98]
lea ecx, [rax + rdi]
mov r12d, eax
cmp ecx, r15d
jbe 0x100111dc1
mov r12d, r10d
cmp r10d, 2
cmovl r12d, ebp
cmp r12d, 0x32
jg 0x100111fb2
lea r9d, [r12 + rdi]
cmp r9d, dword [rsp + 0x2c]
jae 0x100111fb2
cmp r12d, 2
jg 0x100111deb
jne 0x100111e4f
cmp dword [rbx + 0x78], 0x800
jae 0x100111e4f
mov r11d, dword [rsp + 0x80]
cmp r11d, r9d
jae 0x100111e4f
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 0x100111e47
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 0x100111e31
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 0x100111e7f
mov dword [r13 + rcx*8 + 0x14], edx
mov dword [r13 + rcx*8 + 4], edi
mov esi, 2
mov r9d, esi
cmp r12d, esi
jb 0x100111d20
lea r11d, [r8 + 1]
lea r10, [rbx + 0x78]
lea r15, [0x1000036d0]
movsxd rdx, dword [r10]
cmp edx, 0x400
jge 0x100111f01
mov dl, byte [rdx + rbx + 0x47c]
jmp 0x100111f22
xor ebp, ebp
cmp eax, ebp
jne 0x100111ec8
mov eax, dword [r13 + rcx*8 + 8]
mov dword [rbx + 0x64], eax
mov eax, dword [r13 + rcx*8 + 0xc]
jmp 0x100111eda
cmp eax, 1
jne 0x100111eea
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 0x100111d78
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 0x100111ee2
cmp edx, 0x80000
jge 0x100111f1c
mov rax, rdx
sar rax, 9
mov dl, byte [rax + rbx + 0x47c]
add dl, 0x12
jmp 0x100111f22
sar edx, 0x11
add dl, 0x22
cmp r9d, 9
jae 0x100111f46
movzx eax, dl
lea ecx, [r9 + rax*8 + 0xfe]
movzx eax, dl
movzx r8d, byte [rcx + rbx + 0x2588]
movzx eax, byte [rax + r15]
jmp 0x100111f62
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 0x100111f85
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 0x100111e9f
mov r15d, dword [rsp + 0x20]
mov r8d, dword [rsp + 0x24]
mov r10d, dword [rsp + 0x98]
jmp 0x100111d20
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 0x100111fee
cmp r12d, 0x10
jle 0x100111fee
mov r8d, edi
lea edx, [rdi + 1]
mov rcx, rbx
sub r8d, dword [rbx + 8]
add r8d, 5
call fcn.100113188
jmp 0x100112015
mov ebp, 1
cmp r12d, ebp
jbe 0x100112015
mov eax, ebp
lea edx, [rbp + rdi]
mov rcx, rbx
sub eax, dword [rbx + 8]
lea r8d, [rax + rdi + 4]
call fcn.100113188
inc ebp
cmp ebp, r12d
jb 0x100111ff8
mov edi, r14d
xor r14d, r14d
cmp esi, 3
jb 0x100112034
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 0x10011204c
cmp esi, r14d
je 0x10011204c
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 0x10011204c
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 0x10011205f
mov eax, dword [rbx + 0x38]
lea ecx, [rsi + rax]
cmp ecx, 0xfff8
jae 0x10011209a
mov eax, dword [rbx + 0x3c]
lea ecx, [rsi + rax]
cmp ecx, 0x7ff8
jb 0x1001120a6
mov edx, ebp
mov rcx, rbx
call fcn.1001124e4
jmp 0x10011207e
mov r8d, edi
lea r9d, [rdi + 1]
lea r10, [r8 + r8*2]
cmp dword [r13 + r10*8 + 4], r9d
jbe 0x100112117
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 0x100112136
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 0x1001120a6
mov ecx, dword [rbx + 0x38]
cmp ecx, dword [rbx + 0x2574]
jb 0x1001121b1
cmp ecx, r14d
je 0x1001121a7
mov r9d, ecx
mov rcx, rbx
cmp dword [rbx + 0x9b4], r14d
je 0x100112171
xor r8d, r8d
xor edx, edx
call fcn.100114624
mov dword [rbx + 0x9b4], r14d
jmp 0x100112183
mov r8d, dword [rbx + 0x257c]
mov edx, dword [rbx + 0x2578]
call fcn.1001144c4
xor edx, edx
mov rcx, rbx
call fcn.1001142dc
mov rcx, rbx
call fcn.100114388
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 0x100111b0f
cmp ecx, 0xfe00
jae 0x1001121e9
cmp dword [rbx + 0x3c], 0x7e00
lea r13, [0x1000036d0]
jb 0x100111b0f
lea rdx, [rsp + 0x80]
mov rcx, rbx
call fcn.10011253c
mov edi, dword [rsp + 0x80]
cmp eax, r14d
jne 0x100111b00
mov edx, edi
mov rcx, rbx
call fcn.1001124e4
jmp 0x100111b00
movsxd rax, esi
mov r12d, dword [rbx + rax*4 + 0x70]
cmp r12d, 3
jne 0x100112243
cmp esi, 0x10
jle 0x100112243
mov r8d, edi
lea edx, [rdi + 1]
mov rcx, rbx
sub r8d, dword [rbx + 8]
add r8d, 5
call fcn.100113188
jmp 0x100112268
mov ebp, 1
cmp esi, ebp
jbe 0x100112268
mov eax, ebp
lea edx, [rbp + rdi]
mov rcx, rbx
sub eax, dword [rbx + 8]
lea r8d, [rax + rdi + 4]
call fcn.100113188
inc ebp
cmp ebp, esi
jb 0x10011224c
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 0x1001122c9
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 0x1001122de
cmp r12d, r14d
je 0x1001122de
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 0x1001122fc
cmp dword [rbx + 0x3c], 0x7ff8
mov r11d, dword [rsp + 0x90]
jb 0x100111b0f
mov edx, edi
mov rcx, rbx
call fcn.1001124e4
mov r11d, dword [rsp + 0x90]
jmp 0x100111b0f
mov eax, edi
sub eax, dword [rbx + 8]
cmp dword [rsp + 0x88], 0x8000
mov dword [rbx + 0x9c0], eax
jge 0x10011235a
cmp byte [rbx + 0x9b1], r14b
je 0x100112463
lea rdx, [rsp + 0x80]
mov rcx, rbx
call fcn.10011253c
cmp eax, r14d
je 0x1001124d4
mov edi, dword [rsp + 0x80]
jmp 0x100112306
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 0x100112399
mov r10, qword [rbx + 0x18]
mov r11, qword [rbx + 0x20]
cmp dword [r9], esi
ja 0x10011247a
mov dword [r9], r14d
mov dword [r11 + rdx*4], r14d
mov dword [r10 + rdx*4], r14d
inc ebp
cmp ebp, 0x32
jbe 0x100112362
mov eax, dword [rbx]
sub eax, dword [rbx + 0x4378]
add eax, edi
cmp eax, dword [rbx + 8]
jb 0x100112463
sub eax, dword [rbx + 8]
cmp eax, dword [rbx + 0x9bc]
jb 0x100112463
cmp byte [rbx + 0x9b1], r14b
je 0x1001123eb
lea rdx, [rsp + 0x80]
mov rcx, rbx
call fcn.10011253c
cmp eax, r14d
jne 0x100112351
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 0x100112489
mov dword [r10 + r8*4], r14d
mov edx, r14d
mov ecx, dword [r11 + r8*4]
cmp ecx, esi
ja 0x100112498
mov dword [r11 + r8*4], r14d
mov ecx, r14d
cmp edx, ecx
jbe 0x1001124b8
cmp esi, edx
sbb eax, eax
and eax, edx
mov dword [r9], eax
cmp eax, r14d
je 0x100112399
mov edx, dword [r11 + rax*4]
lea r9, [r11 + rax*4]
jmp 0x100112498
cmp esi, ecx
sbb eax, eax
and eax, ecx
mov dword [r9], eax
cmp eax, r14d
je 0x100112399
mov ecx, dword [r10 + rax*4]
lea r9, [r10 + rax*4]
jmp 0x100112498
mov edi, dword [rsp + 0x80]
jmp 0x100112463