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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
mov rax, qword [0x1800a0238]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov eax, ecx
mov dword [rsp + 0x50], ecx
add ecx, 0x44c
mov qword [rsp + 0x60], rdx
mov dword [rsp + 0x3c], ecx
mov r15, rdx
cmp eax, ecx
ja 0x180037dff
movsxd r9, dword [rsp + 0x40]
mov r14, qword [rsp + 0x60]
mov r8, r9
mov rdi, qword [rsp + 0x60]
mov r12d, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x60]
movzx r13d, byte [rsp + 0x28]
mov qword [rsp + 0x58], r9
lea rbx, [0x180000000]
cmp eax, 0x1f5e
ja 0x180037e35
je 0x180037dff
sub eax, 0x1220
je 0x180037db7
sub eax, 0x2c
je 0x180037d75
sub eax, 0x2c
je 0x180037dff
cmp eax, 0xcba
jne 0x180037ec7
mov eax, dword [r15]
test eax, eax
je 0x180038316
cmp eax, 1
je 0x180038309
jle 0x180037d68
mov ebx, 0x214d
nop word [rax + rax]
mov eax, ebx
sub eax, 0x214d
je 0x180037d34
sub eax, 3
je 0x180037d17
cmp eax, 3
jne 0x180037d55
mov r10d, dword [rsp + 0x68]
mov edx, 0x1c
cmp r10d, edx
jle 0x180037d55
nop
mov ecx, 0x5b10
cmp ecx, ecx
jne 0x180037d03
mov rax, qword [r15 + 0x10]
test dword [rax + r8*4], r12d
je 0x180038316
add r12d, r12d
mov dword [rsp + 0x38], r12d
cmp r12d, 0xfffffff
jbe 0x180037d03
inc r9d
mov r12d, 1
inc r8
mov dword [rsp + 0x40], r9d
mov qword [rsp + 0x58], r8
mov dword [rsp + 0x38], r12d
add ecx, 0x48
cmp ecx, 0x5b10
jbe 0x180037cc7
inc edx
cmp edx, r10d
jl 0x180037cc0
jmp 0x180037d55
mov r12d, 1
mov r9d, r12d
mov dword [rsp + 0x38], r12d
mov r8d, r9d
mov qword [rsp + 0x58], r9
mov dword [rsp + 0x40], r12d
jmp 0x180037d55
xor r9d, r9d
xor r8d, r8d
mov edx, 0x7ae9
mov rcx, r15
call fcn.18001e640
mov r8, qword [rsp + 0x58]
mov r9d, dword [rsp + 0x40]
mov dword [rsp + 0x68], eax
add ebx, 3
cmp ebx, 0x2153
jbe 0x180037c90
mov ecx, dword [rsp + 0x3c]
mov dword [rsp + 0x48], 1
jmp 0x180037ec7
mov r8, qword [r15]
xor r9d, r9d
mov edx, 0x1d44
xor ecx, ecx
call fcn.1800129b0
xor r9d, r9d
mov dword [rsp + 0x30], eax
xor r8d, r8d
lea rdx, [rsp + 0x30]
mov ecx, 0x5992
call fcn.18004fdf0
mov ebx, eax
test eax, eax
je 0x180037dae
mov rcx, qword [r15]
call fcn.18006452c
mov dword [rsp + 0x48], ebx
jmp 0x180037ec3
test r15, r15
jne 0x180037dde
lea r9, str.a___NULL
mov dword [rsp + 0x30], r15d
lea r8, [0x180082820]
mov edx, 0x5836
lea rcx, [rsp + 0x30]
call fcn.18000e4c0
mov edx, 0x18
lea ecx, [rdx - 0x17]
call fcn.180064524
mov qword [r15], rax
test rax, rax
jne 0x180037ec3
mov dword [rsp + 0x48], 0xd
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.18005fbe0
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
sub eax, 0x6749
je 0x180037e56
sub eax, 0x2c
je 0x180037e4f
cmp eax, 0x2c
jne 0x180037ec7
mov rax, r14
jmp 0x180037e04
mov byte [rdi + r14], 0
jmp 0x180037ec7
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [r15 + rcx], 0
jne 0x180037e60
inc rcx
call fcn.180064534
movzx ecx, byte [r15]
xor edi, edi
xor ebp, ebp
mov r14, rax
test cl, cl
je 0x180037ec3
mov dword [rsp + 0x50], 0x6749
nop dword [rax]
cmp cl, 0x5c
jne 0x180037ea8
mov eax, 0x6e4d
cmp eax, eax
je 0x180037ee9
add eax, 0x48
cmp eax, 0x6e4d
jbe 0x180037e9c
mov byte [rdi + r14], cl
inc rdi
movzx ecx, byte [r15 + rbp + 1]
lea rbx, [0x180000000]
inc rbp
test cl, cl
jne 0x180037e90
mov ecx, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x50]
add eax, 0x2c
mov dword [rsp + 0x50], eax
cmp eax, ecx
ja 0x180037dff
mov r8, qword [rsp + 0x58]
mov r9d, dword [rsp + 0x40]
jmp 0x180037c28
movsx edx, byte [r15 + rbp + 1]
inc rbp
lea eax, [rdx - 0x22]
cmp eax, 0x53
ja case.0x180037f0e.41
cdqe
movzx eax, byte [rbx + rax + 0x38344]
mov ecx, dword [rbx + rax*4 + 0x38324]
add rcx, rbx
jmp rcx
mov byte [rdi + r14], dl
jmp 0x180037eac
mov byte [rdi + r14], 8
jmp 0x180037eac
mov byte [rdi + r14], 0xc
jmp 0x180037eac
mov byte [rdi + r14], 0xa
jmp 0x180037eac
mov byte [rdi + r14], 0xd
jmp 0x180037eac
mov byte [rdi + r14], 9
jmp 0x180037eac
mov eax, 0x49af
mov dword [rsp + 0x30], eax
nop dword [rax + rax]
sub eax, 0x49af
je 0x1800382d1
sub eax, 0x32
je 0x1800382bf
sub eax, 0x32
je 0x18003828f
cmp eax, 0x32
jne 0x1800382ee
cmp rsi, 0x80
jge 0x180037f8b
mov byte [rdi + r14], sil
inc rdi
jmp 0x1800382ee
cmp rsi, 0x800
jge 0x180038000
movzx r12d, byte [rsp + 0x23]
mov ecx, 0x34f9
nop
mov eax, ecx
sub eax, 0x34f9
je 0x180037fd2
sub eax, 0x26
je 0x180037fbc
cmp eax, 0x26
jne 0x180037fe1
mov byte [rdi + r14], r13b
inc rdi
jmp 0x180037fe1
sar rsi, 6
movzx eax, sil
and al, 0x1f
add r12b, al
mov byte [rdi + r14], r12b
inc rdi
jmp 0x180037fe1
movzx r13d, sil
mov r12b, 0xc0
and r13b, 0x3f
add r13b, 0x80
add ecx, 0x26
cmp ecx, 0x3545
jbe 0x180037fa0
mov byte [rsp + 0x23], r12b
mov r12d, dword [rsp + 0x38]
mov byte [rsp + 0x28], r13b
jmp 0x1800382ee
cmp rsi, 0x10000
jge 0x1800382ee
lea rax, [rsi - 0xd800]
cmp rax, 0x3ff
ja 0x1800381e2
mov ebx, 0x5272
nop word [rax + rax]
cmp ebx, 0x543e
ja 0x180038116
je 0x1800380f2
mov eax, ebx
sub eax, 0x5272
je 0x1800380de
sub eax, 0x5c
je 0x1800380c1
sub eax, 0x5c
je 0x18003809e
sub eax, 0x5c
je 0x180038089
cmp eax, 0x5c
jne 0x1800381c7
movzx eax, byte [r15 + rbp + 1]
add rbp, 2
mov byte [rsp + 0x82], al
movzx eax, byte [r15 + rbp]
mov byte [rsp + 0x83], al
jmp 0x1800381c7
movzx eax, byte [r15 + rbp + 1]
inc rbp
mov byte [rsp + 0x81], al
jmp 0x1800381c7
inc rbp
cmp byte [r15 + rbp], 0x75
jne case.0x180037f0e.41
movzx eax, byte [r15 + rbp + 1]
inc rbp
mov byte [rsp + 0x80], al
jmp 0x1800381c7
inc rbp
mov byte [rsp + 0x21], 0x80
mov byte [rsp + 0x22], 0x80
cmp byte [r15 + rbp], 0x5c
jne case.0x180037f0e.41
jmp 0x1800381c7
mov qword [rsp + 0x70], rsi
mov byte [rsp + 0x24], 0xf0
mov byte [rsp + 0x20], 0x80
jmp 0x1800381c7
xor edx, edx
lea rcx, [rsp + 0x80]
lea r8d, [rdx + 0x10]
call fcn.180065a50
sub qword [rsp + 0x70], 0xd800
movsxd rcx, eax
jmp 0x1800381c2
mov eax, ebx
sub eax, 0x549a
je 0x180038199
sub eax, 0x5c
je 0x180038189
sub eax, 0x5c
je 0x180038175
sub eax, 0x5c
je 0x180038150
cmp eax, 0x5c
jne 0x1800381c7
movzx eax, byte [rsp + 0x21]
mov byte [rdi + r14], al
movzx eax, byte [rsp + 0x22]
mov byte [rdi + r14 + 1], al
add rdi, 2
jmp 0x1800381c7
movzx ecx, byte [rsp + 0x24]
movzx eax, sil
and al, 7
add cl, al
movzx eax, byte [rsp + 0x20]
mov byte [rdi + r14], cl
mov byte [rdi + r14 + 1], al
add rdi, 2
mov byte [rsp + 0x24], cl
jmp 0x1800381c7
sar rsi, 6
movzx eax, sil
and al, 0x3f
add byte [rsp + 0x20], al
sar rsi, 6
jmp 0x1800381c7
sar rsi, 6
movzx eax, sil
and al, 0x3f
add byte [rsp + 0x21], al
jmp 0x1800381c7
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x70]
sub rcx, 0xdc00
shl rax, 0xa
lea rsi, [rcx + 0x10000]
add rsi, rax
movzx eax, sil
and al, 0x3f
add byte [rsp + 0x22], al
mov qword [rsp + 0x78], rcx
add ebx, 0x5c
cmp ebx, 0x560a
jbe 0x180038030
lea rbx, [0x180000000]
jmp 0x1800382ee
movzx r15d, byte [rsp + 0x27]
xor edx, edx
movzx r13d, byte [rsp + 0x26]
movzx r12d, byte [rsp + 0x25]
lea r8d, [rdx + 7]
nop word [rax + rax]
cmp edx, 0x18
ja case.0x180038217.7
movzx eax, byte [rbx + rdx + 0x383b8]
mov ecx, dword [rbx + rax*4 + 0x38398]
add rcx, rbx
jmp rcx
mov r15b, 0x80
jmp case.0x180038217.7
sar rsi, 6
movzx eax, sil
and al, 0x3f
add r13b, al
sar rsi, 6
jmp case.0x180038217.7
mov r12b, 0xe0
mov r13b, 0x80
jmp case.0x180038217.7
movzx eax, sil
and al, 0xf
add r12b, al
jmp case.0x180038217.7
mov byte [rdi + r14], r13b
mov byte [rdi + r14 + 1], r15b
add rdi, 2
jmp case.0x180038217.7
movzx eax, sil
and al, 0x3f
add r15b, al
jmp case.0x180038217.7
mov byte [rdi + r14], r12b
inc rdi
add edx, 4
sub r8, 1
jne 0x180038200
mov byte [rsp + 0x25], r12b
mov r12d, dword [rsp + 0x38]
mov byte [rsp + 0x26], r13b
movzx r13d, byte [rsp + 0x28]
mov byte [rsp + 0x27], r15b
mov r15, qword [rsp + 0x60]
jmp 0x1800382ee
movzx eax, byte [r15 + rbp + 1]
lea rcx, [rsp + 0x80]
inc rbp
mov byte [rsp + 0x83], al
xor edx, edx
mov byte [rsp + 0x84], 0
lea r8d, [rdx + 0x10]
call fcn.180065a50
movsxd rsi, eax
jmp 0x1800382ee
movzx eax, byte [r15 + rbp + 1]
inc rbp
mov byte [rsp + 0x82], al
jmp 0x1800382ee
movzx eax, byte [r15 + rbp + 1]
add rbp, 2
mov byte [rsp + 0x80], al
movzx eax, byte [r15 + rbp]
mov byte [rsp + 0x81], al
mov eax, dword [rsp + 0x30]
add eax, 0x32
mov dword [rsp + 0x30], eax
cmp eax, 0x4a45
jbe 0x180037f50
jmp case.0x180037f0e.41
mov dword [rsp + 0x48], 1
jmp 0x180037dff
mov dword [rsp + 0x48], 0
jmp 0x180037dff