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

Disassembly:
mov dword [rsp + 0x10], edx
mov rax, rsp
sub rsp, 0x68
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbp
mov qword [rax - 8], rsi
mov qword [rax - 0x10], rdi
mov edi, dword [rcx + 0x478]
mov qword [rax - 0x20], r13
mov dword [rax + 8], edi
lea eax, [rdi + rdx]
xor r13d, r13d
cmp dword [rcx + 0x9b4], r13d
mov dword [rsp + 0x28], eax
mov rbx, rcx
je 0x1400335a2
cmp dword [rcx + 0x8a4], r13d
mov dword [rcx + 0x9b4], r13d
mov dword [rcx + 0x2574], 0x2710
je 0x140033585
mov edx, 1
mov r8d, edx
call fcn.140033f70
movzx r8d, word [rbx + 0x8a6]
lea edx, [r13 + 0x10]
mov rcx, rbx
call fcn.140033f70
movzx r8d, word [rbx + 0x8a4]
lea edx, [r13 + 0x10]
mov rcx, rbx
call fcn.140033f70
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], r15
jmp 0x140033600
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.140033f70
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], r15
jmp 0x140033600
mov esi, 0x32
lea ebp, [rdi - 0x32]
nop
nop
mov r8d, edi
mov edx, ebp
mov rcx, rbx
sub r8d, dword [rbx + 8]
add r8d, 4
call fcn.1400365a0
inc ebp
add esi, 0xffffffff
jne 0x1400335b0
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], r15
jmp 0x140033600
mov edi, dword [rsp + 0x70]
jmp 0x140033600
mov edi, dword [rsp + 0x70]
nop
nop
nop
mov r12d, dword [rsp + 0x28]
lea ebp, [rdi + 0x8000]
nop
nop
cmp edi, r12d
jae 0x140033dd4
mov r14d, ebp
mov edx, edi
mov rcx, rbx
and r14d, 0xffff8000
cmp r14d, r12d
cmova r14d, r12d
call fcn.140036220
cmp eax, 2
mov esi, eax
jl 0x14003364d
lea ecx, [rax + rdi]
cmp ecx, r14d
jbe 0x140033682
mov esi, r14d
sub esi, edi
cmp esi, 2
jge 0x140033682
mov rax, qword [rbx]
mov edx, dword [rbx + 0x38]
mov rcx, qword [rbx + 0x48]
mov r8d, edi
inc edi
inc ebp
movzx eax, byte [r8 + rax]
mov dword [rsp + 0x70], edi
mov byte [rdx + rcx], al
inc dword [rbx + 0x38]
cmp dword [rbx + 0x38], 0xfff8
jb 0x140033610
mov edx, edi
mov rcx, rbx
call fcn.140033330
jmp 0x140033610
cmp esi, 0x32
jge 0x140033ce4
lea eax, [rdi + 0xefd]
mov r9d, 2
mov ecx, edi
cmp esi, r9d
mov dword [rsp + 0x2c], eax
mov rax, qword [rbx]
movzx ecx, byte [rcx + rax]
mov rax, qword [rbx + 0x2580]
lea r12d, [rsi + rdi]
movzx edx, byte [rcx + rbx + 0x2588]
mov dword [rsp + 0x70], r12d
mov dword [rsp + 0x24], edi
mov dword [rax + 0x2c], edx
mov rax, qword [rbx + 0x2580]
mov r11, r9
mov dword [rax + 0x1c], edi
jb 0x1400337af
lea r8d, [r9 + 0x2e]
lea r10, [rbx + 0x78]
lea rbp, [0x14006e0c0]
nop
nop
mov edx, dword [r10]
cmp edx, 0x400
jae 0x140033704
mov dl, byte [rdx + rbx + 0x47c]
jmp 0x140033725
cmp edx, 0x80000
jae 0x14003371f
mov rax, rdx
shr rax, 9
mov dl, byte [rax + rbx + 0x47c]
add dl, 0x12
jmp 0x140033725
shr edx, 0x11
add dl, 0x22
cmp r9d, 9
jae 0x140033755
movzx eax, dl
lea ecx, [r9 + rax*8 + 0xfe]
movzx eax, dl
movzx eax, byte [rax + rbp]
movzx ecx, byte [rcx + rbx + 0x2588]
add ecx, eax
mov rax, qword [rbx + 0x2580]
mov dword [r8 + rax + 0x14], ecx
jmp 0x14003377d
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]
mov dword [r8 + rax + 0x14], ecx
mov rax, qword [rbx + 0x2580]
inc r9d
add r8, 0x18
mov dword [r8 + rax - 0x14], edi
mov eax, dword [r10]
mov rcx, qword [rbx + 0x2580]
mov dword [r8 + rcx - 0x18], eax
inc r11
add r10, 4
cmp r9d, esi
jbe 0x1400336f0
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 rcx, qword [rbx + 0x2580]
mov eax, dword [rbx + 0x6c]
mov dword [rcx + 0x10], eax
mov rbp, qword [rbx + 0x2580]
movsxd rax, edi
lea rcx, [rax + rax*2]
shl rcx, 3
sub rbp, rcx
sub r10d, edi
jmp 0x140033810
mov r12d, dword [rsp + 0x70]
nop
nop
nop
inc edi
inc r15d
add r10d, 0xffffffff
lea rsi, [rdi + rdi*2]
lea eax, [r15 - 2]
mov dword [rsp + 0x20], r10d
mov ecx, dword [rbp + rsi*8 + 4]
cmp ecx, eax
je 0x1400338a9
mov eax, dword [rbp + rsi*8]
cmp eax, 3
jb 0x140033851
add eax, 0xfffffffe
lea rcx, [rcx + rcx*2]
mov dword [rbx + 0x64], eax
mov eax, dword [rbp + rcx*8 + 8]
mov dword [rbx + 0x68], eax
mov eax, dword [rbp + rcx*8 + 0xc]
mov dword [rbx + 0x6c], eax
jmp 0x1400338a9
test eax, eax
jne 0x140033870
lea rcx, [rcx + rcx*2]
mov eax, dword [rbp + rcx*8 + 8]
mov dword [rbx + 0x64], eax
mov eax, dword [rbp + rcx*8 + 0xc]
mov dword [rbx + 0x68], eax
mov eax, dword [rbp + rcx*8 + 0x10]
mov dword [rbx + 0x6c], eax
jmp 0x1400338a9
cmp eax, 1
jne 0x140033890
lea rcx, [rcx + rcx*2]
mov eax, dword [rbp + rcx*8 + 0xc]
mov dword [rbx + 0x64], eax
mov eax, dword [rbp + rcx*8 + 8]
mov dword [rbx + 0x68], eax
mov eax, dword [rbp + rcx*8 + 0x10]
mov dword [rbx + 0x6c], eax
jmp 0x1400338a9
lea rcx, [rcx + rcx*2]
mov eax, dword [rbp + rcx*8 + 0x10]
mov dword [rbx + 0x64], eax
mov eax, dword [rbp + rcx*8 + 0xc]
mov dword [rbx + 0x68], eax
mov eax, dword [rbp + rcx*8 + 8]
mov dword [rbx + 0x6c], eax
cmp r12d, edi
mov eax, dword [rbx + 0x64]
mov dword [rbp + rsi*8 + 8], eax
mov eax, dword [rbx + 0x68]
mov dword [rbp + rsi*8 + 0xc], eax
mov eax, dword [rbx + 0x6c]
mov dword [rbp + rsi*8 + 0x10], eax
je 0x140033b1f
mov edx, edi
mov rcx, rbx
call fcn.140036220
mov r12d, eax
lea ecx, [rax + rdi]
cmp ecx, r14d
jbe 0x1400338ef
mov r10d, dword [rsp + 0x20]
cmp r10d, 2
mov r12d, r10d
jge 0x1400338f4
xor r12d, r12d
jmp 0x1400338fe
mov r10d, dword [rsp + 0x20]
cmp r12d, 0x32
jg 0x140033a83
lea r9d, [r12 + rdi]
cmp r9d, dword [rsp + 0x2c]
jae 0x140033a83
cmp r12d, 2
jg 0x140033922
cmp r12d, 2
jne 0x14003397d
cmp dword [rbx + 0x78], 0x800
jae 0x14003397d
mov r8d, dword [rsp + 0x70]
cmp r8d, r9d
jae 0x14003397d
mov edx, dword [rsp + 0x24]
mov eax, 0xefc
mov ecx, r12d
sub ecx, edx
add ecx, edi
cmp ecx, eax
cmovb eax, ecx
sub r8d, edx
inc r8d
movsxd rdx, eax
movsxd r8, r8d
cmp r8, rdx
jg 0x140033978
lea rcx, [r8 + r8*2]
sub rdx, r8
shl rcx, 3
inc rdx
mov rax, qword [rbx + 0x2580]
add rcx, 0x18
dec rdx
mov dword [rcx + rax - 4], 0xffffffff
jne 0x140033960
mov dword [rsp + 0x70], r9d
mov rax, qword [rbx]
mov esi, dword [rbp + rsi*8 + 0x14]
movzx ecx, byte [rdi + rax]
movzx edx, byte [rcx + rbx + 0x2588]
lea rcx, [r15 + r15*2]
add edx, esi
cmp edx, dword [rbp + rcx*8 + 0x14]
jae 0x1400339a4
mov dword [rbp + rcx*8 + 0x14], edx
mov dword [rbp + rcx*8 + 4], edi
mov r8d, 2
cmp r12d, r8d
mov r11, r8
jb 0x140033802
lea r10d, [r15 + 1]
lea r9, [rbx + 0x78]
nop
mov edx, dword [r9]
cmp edx, 0x400
jae 0x1400339d4
mov dl, byte [rdx + rbx + 0x47c]
jmp 0x1400339f5
cmp edx, 0x80000
jae 0x1400339ef
mov rax, rdx
shr rax, 9
mov dl, byte [rax + rbx + 0x47c]
add dl, 0x12
jmp 0x1400339f5
shr edx, 0x11
add dl, 0x22
cmp r8d, 9
jae 0x140033a20
movzx eax, dl
lea ecx, [r8 + rax*8 + 0xfe]
movzx eax, dl
lea rdx, [0x14006e0c0]
movzx eax, byte [rax + rdx]
movzx ecx, byte [rcx + rbx + 0x2588]
add ecx, eax
jmp 0x140033a43
movzx eax, dl
lea rdx, [0x14006e0c0]
movzx ecx, byte [rbx + rax*8 + 0x268f]
movzx eax, byte [rax + rdx]
add ecx, eax
movzx eax, byte [r11 + rbx + 0x283c]
add ecx, eax
lea rdx, [r10 + r10*2]
add ecx, esi
cmp ecx, dword [rbp + rdx*8 + 0x14]
jae 0x140033a5e
mov dword [rbp + rdx*8 + 0x14], ecx
mov dword [rbp + rdx*8 + 4], edi
mov eax, dword [r9]
mov dword [rbp + rdx*8], eax
inc r8d
inc r10d
inc r11
add r9, 4
cmp r8d, r12d
jbe 0x1400339c0
mov r10d, dword [rsp + 0x20]
mov r12d, dword [rsp + 0x70]
jmp 0x140033810
lea r14d, [r12 + rdi]
movsxd rax, r12d
mov r13d, dword [rbx + rax*4 + 0x70]
lea rcx, [r14 + r14*2]
cmp r13d, 3
mov dword [rbp + rcx*8], r13d
mov dword [rbp + rcx*8 + 4], edi
jne 0x140033ac0
cmp r12d, 0x10
jle 0x140033ac0
mov r8d, edi
lea edx, [rdi + 1]
mov rcx, rbx
sub r8d, dword [rbx + 8]
add r8d, 5
call fcn.1400365a0
jmp 0x140033aec
mov esi, 1
cmp r12d, esi
jbe 0x140033aec
nop
nop
mov eax, esi
lea edx, [rsi + rdi]
mov rcx, rbx
sub eax, dword [rbx + 8]
lea r8d, [rax + rdi + 4]
call fcn.1400365a0
inc esi
cmp esi, r12d
jb 0x140033ad0
cmp r13d, 3
mov edi, r14d
jb 0x140033b0a
mov eax, dword [rbx + 0x68]
mov dword [rbx + 0x6c], eax
mov eax, dword [rbx + 0x64]
mov dword [rbx + 0x68], eax
lea eax, [r13 - 2]
mov dword [rbx + 0x64], eax
jmp 0x140033b1f
test r13d, r13d
je 0x140033b1f
mov eax, dword [rbx + r13*4 + 0x64]
mov edx, dword [rbx + 0x64]
mov dword [rbx + 0x64], eax
mov dword [rbx + r13*4 + 0x64], edx
mov r8d, dword [rsp + 0x24]
mov eax, edi
xor r13d, r13d
lea rcx, [rax + rax*2]
mov esi, r13d
mov edx, dword [rbp + rcx*8 + 4]
nop
nop
nop
mov ecx, edx
mov r12d, edx
inc esi
cmp r12d, r8d
lea rax, [rcx + rcx*2]
mov edx, dword [rbp + rax*8 + 4]
lea rax, [rcx + rcx*2]
mov dword [rbp + rax*8 + 4], edi
mov edi, r12d
jne 0x140033b40
nop
mov eax, dword [rbx + 0x38]
lea ecx, [rsi + rax]
cmp ecx, 0xfff8
jae 0x140033b7c
mov eax, dword [rbx + 0x3c]
lea ecx, [rsi + rax]
cmp ecx, 0x7ff8
jb 0x140033b90
mov edx, r12d
mov rcx, rbx
call fcn.140033330
jmp 0x140033b60
mov r8d, edi
lea r9d, [rdi + 1]
lea r10, [r8 + r8*2]
cmp dword [rbp + r10*8 + 4], r9d
jbe 0x140033bfe
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
movzx edx, byte [rbp + 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 [rbp + r10*8 + 4]
mov r8d, dword [rbx + 0x3c]
mov rcx, qword [rbx + 0x40]
lea rdx, [rax + rax*2]
mov eax, dword [rbp + rdx*8]
mov dword [rcx + r8*4], eax
inc dword [rbx + 0x3c]
mov edi, dword [rbp + r10*8 + 4]
mov dword [rsp + 0x70], edi
jmp 0x140033c1b
mov rax, qword [rbx]
mov edx, dword [rbx + 0x38]
mov rcx, qword [rbx + 0x48]
movzx eax, byte [r8 + rax]
mov edi, r9d
mov dword [rsp + 0x70], r9d
mov byte [rdx + rcx], al
inc dword [rbx + 0x38]
dec esi
jne 0x140033b90
mov ecx, dword [rbx + 0x38]
cmp ecx, dword [rbx + 0x2574]
jb 0x140033c9a
test ecx, ecx
je 0x140033c90
cmp dword [rbx + 0x9b0], r13d
je 0x140033c54
mov r9d, ecx
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.140035b00
mov dword [rbx + 0x9b0], r13d
jmp 0x140033c6c
mov r8d, dword [rbx + 0x257c]
mov edx, dword [rbx + 0x2578]
mov r9d, ecx
mov rcx, rbx
call fcn.140035b80
xor edx, edx
mov rcx, rbx
call fcn.140034610
mov rcx, rbx
call fcn.140034820
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
cmp byte [rbx + 0x9ad], r13b
je 0x140033600
cmp ecx, 0xfe00
jae 0x140033cbc
cmp dword [rbx + 0x3c], 0x7e00
jb 0x140033600
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.140033390
test eax, eax
jne 0x1400335f0
mov edi, dword [rsp + 0x70]
mov rcx, rbx
mov edx, edi
call fcn.140033330
jmp 0x140033600
movsxd rax, esi
mov r12d, dword [rbx + rax*4 + 0x70]
cmp r12d, 3
jne 0x140033d0f
cmp esi, 0x10
jle 0x140033d0f
mov r8d, edi
lea edx, [rdi + 1]
mov rcx, rbx
sub r8d, dword [rbx + 8]
add r8d, 5
call fcn.1400365a0
jmp 0x140033d3c
mov ebp, 1
cmp esi, ebp
jbe 0x140033d3c
nop
nop
mov eax, ebp
lea edx, [rbp + rdi]
mov rcx, rbx
sub eax, dword [rbx + 8]
lea r8d, [rax + rdi + 4]
call fcn.1400365a0
inc ebp
cmp ebp, esi
jb 0x140033d20
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 + 0x70], edi
mov dword [rax + rcx*4], r12d
inc dword [rbx + 0x3c]
cmp r12d, 3
jb 0x140033d9a
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 0x140033daf
test r12d, r12d
je 0x140033daf
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 0x140033dc5
cmp dword [rbx + 0x3c], 0x7ff8
jb 0x140033600
mov edx, edi
mov rcx, rbx
call fcn.140033330
jmp 0x140033600
mov eax, edi
sub eax, dword [rbx + 8]
cmp dword [rsp + 0x78], 0x8000
mov dword [rbx + 0x9bc], eax
jge 0x140033e14
cmp byte [rbx + 0x9ad], 0
je 0x140033eea
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.140033390
test eax, eax
je 0x140033f23
mov edi, dword [rsp + 0x70]
jmp 0x140033600
lea r12d, [rax + 0x36]
lea esi, [rdi - 1]
mov ebp, 0x32
mov r8d, r12d
mov edx, esi
mov rcx, rbx
call fcn.140036710
add esi, 0xffffffff
dec rbp
jne 0x140033e20
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 0x140033eea
cmp byte [rbx + 0x9ad], bpl
je 0x140033e72
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.140033390
test eax, eax
jne 0x1400335e0
mov edi, dword [rsp + 0x70]
mov rcx, qword [rbx + 0x4378]
mov edx, dword [rbx + 0x9b8]
mov r8d, dword [rbx + 8]
add rdx, rcx
call fcn.14004c480
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.14004c480
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.14004c480
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
mov r15, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
mov r12, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
add rsp, 0x68
ret
mov eax, dword [rsp + 0x70]
mov dword [rbx + 0x478], eax
jmp 0x140033ef0