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

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x1a8
mov eax, dword [0x1800e35f8]
mov dword [rsp + 0x104], eax
movzx eax, word [0x1800e35d0]
mov byte [rsp + 0x27], al
mov dword [rsp + 0x3c], 0xd9
mov byte [rsp + 0x22], 0x66
mov eax, 0xfffff6e8
mov word [rsp + 0x4c], ax
mov eax, dword [0x1800e358c]
mov dword [rsp + 0x30], eax
movzx eax, byte [0x1800e35e0]
mov byte [rsp + 0x23], al
mov qword [rsp + 0x130], 0xdf
mov byte [rsp + 0x21], 0x17
movzx eax, byte [0x1800e3562]
mov byte [rsp + 0x29], al
mov rax, qword [0x1800e3568]
mov byte [rsp + 0x26], al
mov eax, 0xe905c70b
mov qword [rsp + 0xc0], rax
movsxd rax, dword [0x1800e35c0]
mov qword [rsp + 0x128], rax
mov rax, qword [0x1800e3570]
mov dword [rsp + 0x9c], eax
movsx rax, byte [0x1800e3533]
mov qword [rsp + 0xc8], rax
mov byte [rsp + 0x25], 0x93
mov byte [rsp + 0x24], 0xb
movzx eax, word [0x1800e35c0]
mov word [rsp + 0x50], ax
mov byte [rsp + 0x28], 0xca
mov eax, dword [0x1800e3534]
mov word [rsp + 0x54], ax
mov dword [rsp + 0x11c], 0x87
movsxd rax, dword [0x1800e35c0]
mov qword [rsp + 0xe8], rax
mov byte [rsp + 0x20], 0xe6
mov byte [rsp + 0x40], 0xb3
movzx eax, byte [0x1800e3562]
movsx ax, al
mov word [rsp + 0x80], ax
mov byte [rsp + 0x41], 0xc
mov eax, 0x21a0
mov word [rsp + 0x84], ax
mov eax, 0xacbe
mov word [rsp + 0x88], ax
mov eax, 0xd1b4
mov word [rsp + 0x8c], ax
mov byte [rsp + 0x42], 0xd3
mov dword [rsp + 0x108], 0xb6
mov dword [rsp + 0x110], 0xd0e8
movzx eax, byte [0x1800e3532]
movzx eax, al
mov dword [rsp + 0x114], eax
movzx eax, byte [0x1800e34eb]
mov byte [rsp + 0x43], al
mov byte [rsp + 0x44], 0xaa
mov eax, dword [0x1800e35ac]
mov qword [rsp + 0x140], rax
movzx eax, word [0x1800e3564]
movsx rax, ax
mov qword [rsp + 0x148], rax
mov dword [rsp + 0x118], 0x9ce3caad
mov byte [rsp + 0x45], 0x29
mov eax, dword [0x1800e35f4]
mov byte [rsp + 0x46], al
mov eax, dword [0x1800e3534]
mov eax, eax
mov qword [rsp + 0x150], rax
mov eax, 0xffffbc7c
mov word [rsp + 0x90], ax
mov qword [rsp + 0x158], 0x677d863a
mov qword [rsp + 0x160], 0xe81e
mov byte [rsp + 0x47], 0xb7
mov eax, dword [0x1800e35f4]
mov dword [rsp + 0x10c], eax
mov rax, qword [0x1800e3570]
mov qword [rsp + 0x168], rax
movzx eax, byte [0x1800e3562]
mov byte [rsp + 0x48], al
mov eax, 0x2b6f
mov word [rsp + 0x94], ax
mov eax, dword [0x1800e3584]
mov word [rsp + 0x98], ax
mov byte [rsp + 0x23], 1
mov eax, dword [0x1800e3504]
test eax, eax
je 0x1800552bf
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0xd0], rax
jmp 0x1800552d0
movzx eax, byte [rsp + 0x23]
movsx rax, al
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xe8], rax
movzx eax, byte [rsp + 0x23]
mov byte [rsp + 0x74], al
cmp byte [rsp + 0x74], 0
je 0x1800552f9
cmp byte [rsp + 0x74], 1
je 0x18005530e
jmp 0x180055320
movzx eax, byte [rsp + 0x20]
movsx eax, al
sub eax, 0xb8
mov byte [0x1800e3533], al
jmp 0x180055320
mov eax, dword [rsp + 0x3c]
xor eax, 0x53db
mov eax, eax
mov qword [0x1800e35a0], rax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x58], eax
movzx eax, word [0x1800e35a8]
movzx eax, ax
and eax, 0x9044
mov dword [0x1800e35d4], eax
movzx eax, word [rsp + 0x4c]
movsx rax, ax
mov rcx, qword [rsp + 0xc0]
xor rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0xc0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xc0], rax
mov eax, dword [rsp + 0x58]
add eax, 0x104
mov dword [rsp + 0xb4], eax
movzx eax, byte [rsp + 0x22]
movsx rax, al
mov rcx, qword [rsp + 0x130]
cmp rax, rcx
jle 0x1800553c7
movzx eax, word [0x1800e35d0]
cwde
movsx ecx, word [0x1800e3560]
cmp eax, ecx
je 0x1800553c7
mov rax, qword [0x1800e3600]
mov rcx, qword [0x1800e35a0]
mov edx, 0xd6e3
sub rdx, rcx
mov rcx, rdx
imul rax, rcx
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0x58]
add eax, 0x1be
mov dword [rsp + 0xb0], eax
lea rax, [rsp + 0x170]
lea rcx, [0x1800b8cb8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x26
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [rsp + 0x22], al
mov eax, dword [rsp + 0x58]
add eax, 0xac
mov dword [rsp + 0xac], eax
mov dword [rsp + 0x68], 0
mov dword [rsp + 0x34], 0
mov rax, qword [rsp + 0x1d8]
mov dword [rax], 0
movzx eax, byte [rsp + 0x26]
movzx eax, al
sub eax, 0xe3143cc1
mov word [0x1800e360c], ax
mov dword [rsp + 0x2c], 0
jmp 0x18005545b
mov eax, dword [rsp + 0x2c]
inc eax
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x1d0]
cmp dword [rsp + 0x2c], eax
jae 0x180055a48
mov eax, dword [rsp + 0x30]
cdqe
mov rcx, qword [0x1800e35a0]
imul rax, rcx
test rax, rax
je 0x1800555df
mov eax, 3
mov word [0x1800e3564], ax
movsxd rax, dword [str.Bw8_]
mov rcx, qword [rsp + 0xc8]
imul rcx, rax
mov rax, rcx
mov qword [rsp + 0xc8], rax
movsx eax, word [0x1800e360c]
test eax, eax
je 0x1800554cd
mov eax, dword [0x1800e358c]
mov eax, eax
mov qword [rsp + 0xd8], rax
jmp 0x1800554dc
mov rax, qword [0x1800e35d8]
mov qword [rsp + 0xd8], rax
movzx eax, word [rsp + 0xd8]
mov word [0x1800e3560], ax
movzx eax, word [0x1800e3564]
cwde
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x38], 0
je 0x180055520
cmp dword [rsp + 0x38], 1
je 0x180055551
cmp dword [rsp + 0x38], 2
je 0x180055592
cmp dword [rsp + 0x38], 3
je 0x1800555af
jmp 0x1800555dd
movzx eax, byte [rsp + 0x27]
movsx eax, al
add eax, 0x6f95ed6e
mov dword [str.Bw8_], eax
mov eax, dword [0x1800e358c]
mov eax, eax
movabs rcx, 0x665b813b4c32f
add rax, rcx
mov byte [rsp + 0x22], al
jmp 0x1800555dd
movzx eax, word [0x1800e35a8]
movzx eax, ax
test eax, eax
jne 0x18005556d
mov qword [rsp + 0xe0], 1
jmp 0x180055579
mov qword [rsp + 0xe0], 0
mov rax, qword [0x1800e35c8]
imul rax, qword [rsp + 0xe0]
mov qword [0x1800e3568], rax
jmp 0x1800555dd
movzx eax, byte [rsp + 0x24]
mov ecx, 1
imul rcx, rcx, 0xd0
lea rdx, [0x180abe120]
mov byte [rdx + rcx], al
jmp 0x1800555dd
movzx eax, byte [rsp + 0x21]
mov ecx, dword [0x1800e3534]
add eax, ecx
mov byte [rsp + 0x21], al
movzx eax, byte [rsp + 0x28]
movzx eax, al
sub eax, 0x57414e92
movzx ecx, byte [rsp + 0x20]
movsx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x20], al
jmp 0x180055604
movsx eax, byte [rsp + 0x25]
movzx ecx, byte [0x1800e3566]
movzx ecx, cl
cmp eax, ecx
jle 0x180055604
movzx eax, byte [rsp + 0x21]
mov ecx, 0xec
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x20], al
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x5c], eax
movzx eax, byte [rsp + 0x21]
xor eax, 0xfbe8
mov byte [0x1800e3562], al
movzx eax, byte [rsp + 0x26]
movzx eax, al
mov dword [0x1800e3504], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x3c7
mov dword [rsp + 0xa4], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x33
mov dword [rsp + 0x120], eax
mov rax, qword [0x1800e35a0]
test rax, rax
je 0x1800557cc
movsx eax, byte [0x1800e3533]
movsx ecx, word [rsp + 0x54]
cmp eax, ecx
je 0x180055674
mov dword [rsp + 0x7c], 1
jmp 0x18005567c
mov dword [rsp + 0x7c], 0
movsx eax, byte [0x1800e3533]
cmp eax, 0x5d
je 0x180055692
mov dword [rsp + 0x78], 1
jmp 0x18005569a
mov dword [rsp + 0x78], 0
mov eax, dword [rsp + 0x78]
cmp dword [rsp + 0x7c], eax
jge 0x1800556a9
jmp 0x1800557ca
movzx eax, byte [rsp + 0x20]
movsx eax, al
test eax, eax
jne 0x1800556ec
movsx eax, byte [rsp + 0x25]
mov ecx, 4
imul rcx, rcx, 0x82
lea rdx, [0x180abe220]
mov dword [rdx + rcx], eax
movzx eax, word [0x1800e3580]
movzx eax, ax
mov ecx, dword [rsp + 0x3c]
imul ecx, eax
mov eax, ecx
mov dword [rsp + 0x3c], eax
jmp 0x1800557ca
movzx eax, byte [rsp + 0x20]
movsx eax, al
test eax, eax
je 0x180055730
movsx eax, byte [0x1800e3513]
add eax, 0xe84767be
mov byte [0x1800e3563], al
mov rax, qword [0x1800e3570]
sub rax, 0xf89c
movsx rcx, byte [0x1800e34eb]
sub rcx, rax
mov rax, rcx
mov byte [0x1800e34eb], al
jmp 0x1800557ca
mov rax, qword [rsp + 0xe8]
test rax, rax
jne 0x18005574b
mov qword [rsp + 0xf0], 1
jmp 0x180055757
mov qword [rsp + 0xf0], 0
mov rax, qword [rsp + 0xf0]
cmp qword [0x1800e35c8], rax
jne 0x180055776
mov qword [rsp + 0xf8], 1
jmp 0x180055782
mov qword [rsp + 0xf8], 0
mov rax, qword [0x1800e3590]
not rax
movzx ecx, byte [rsp + 0x22]
movsx rcx, cl
sub rax, rcx
mov rcx, qword [rsp + 0xf8]
sub rcx, rax
mov rax, rcx
test rax, rax
je 0x1800557ca
movzx eax, byte [0x1800e3562]
movsx rax, al
movabs rcx, 0x9739366d32caf
sub rax, rcx
mov dword [rsp + 0x9c], eax
jmp 0x1800557fc
movzx eax, byte [0x1800e3567]
test eax, eax
je 0x1800557fc
mov rax, qword [0x1800e35e0]
dec rax
mov qword [0x1800e35e0], rax
mov eax, dword [rsp + 0x30]
cdqe
mov rcx, qword [0x1800e35a0]
sub rax, rcx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x15d
mov dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0xa0]
sub eax, 0x6f
mov ecx, dword [rsp + 0xa4]
imul eax, ecx
cmp eax, 0x2f9
je 0x180055a43
mov eax, dword [0x1800e3514]
movzx ecx, byte [rsp + 0x24]
movsx ecx, cl
cmp eax, ecx
jne 0x180055847
mov dword [rsp + 0x70], 1
jmp 0x18005584f
mov dword [rsp + 0x70], 0
mov eax, dword [0x1800e3514]
cmp eax, 0x27
jne 0x180055864
mov dword [rsp + 0x6c], 1
jmp 0x18005586c
mov dword [rsp + 0x6c], 0
mov eax, dword [rsp + 0x6c]
cmp dword [rsp + 0x70], eax
jle 0x180055878
jmp 0x18005588b
movzx eax, byte [rsp + 0x21]
add eax, 0x78af
cdqe
mov qword [0x1800e35a0], rax
mov eax, dword [0x1800e3534]
xor eax, 0x4f
mov byte [rsp + 0x24], al
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x60], eax
movzx eax, byte [rsp + 0x29]
test eax, eax
je 0x1800558ad
jmp 0x1800558cb
movzx eax, byte [0x1800e3567]
test eax, eax
je 0x1800558cb
mov rax, qword [0x1800e35c8]
sub rax, 0x406a26b5
mov dword [0x1800e35b0], eax
mov eax, dword [rsp + 0x60]
add eax, 0x5376
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x60]
add eax, 0xe7cc
mov dword [rsp + 0xa8], eax
movzx eax, word [0x1800e35a8]
movzx eax, ax
test eax, eax
je 0x1800558f8
jmp 0x18005591e
movsx rax, byte [rsp + 0x25]
mov ecx, 8
imul rcx, rcx, 7
lea rdx, [0x1809ad5b0]
mov qword [rdx + rcx], rax
mov eax, 0x2c
mov word [0x1800e35b4], ax
mov eax, dword [rsp + 0x60]
add eax, 0xac09
mov dword [rsp + 0x100], eax
mov eax, dword [rsp + 0x64]
mov ecx, dword [rsp + 0xa8]
or eax, ecx
mov ecx, dword [rsp + 0x64]
mov edx, dword [rsp + 0x64]
xor ecx, edx
imul eax, ecx
mov dword [rsp + 0xb8], eax
mov eax, dword [rsp + 0x2c]
imul rax, rax, 0xc
mov rcx, qword [rsp + 0x1c8]
mov eax, dword [rcx + rax + 8]
mov rcx, qword [rsp + 0x1c0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x138], rax
mov r8, qword [rsp + 0x1d8]
mov rdx, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x1c0]
call fcn.18004c4f0
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0xac]
mov ecx, dword [rsp + 0xb0]
mov edx, dword [rsp + 0xb4]
sub ecx, edx
cmp eax, ecx
je 0x180055a43
mov eax, dword [rsp + 0xb8]
cmp dword [rsp + 0x68], eax
je 0x180055a43
movzx eax, byte [0x1800e3582]
test eax, eax
je 0x1800559eb
mov eax, dword [0x1800e35f0]
mov eax, eax
mov rcx, qword [0x1800e3600]
imul rax, rcx
mov word [0x1800e35b4], ax
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0x1e8]
mov ecx, dword [rsp + 0x34]
cmp dword [rax], ecx
jb 0x180055a0a
jmp 0x180055451
mov eax, dword [0x1800e3584]
inc eax
mov dword [0x1800e3584], eax
mov eax, dword [rsp + 0x3c]
xor eax, 0xf295
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x1e8]
mov ecx, dword [rsp + 0x34]
mov dword [rax], ecx
mov rax, qword [rsp + 0x1e0]
mov ecx, dword [rsp + 0x2c]
mov dword [rax], ecx
jmp 0x180055a48
jmp 0x180055451
mov rax, qword [rsp + 0x1e0]
mov eax, dword [rax]
imul rax, rax, 0xc
mov rcx, qword [rsp + 0x1c8]
mov eax, dword [rcx + rax]
mov rcx, qword [rsp + 0x1c0]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x1f0]
mov qword [rcx], rax
mov rax, qword [rsp + 0x1f0]
mov rax, qword [rax]
mov qword [0x18094aa30], rax
mov rax, qword [rsp + 0x1d8]
mov eax, dword [rax]
mov qword [0x18094aa50], rax
movsx eax, word [0x1800e35b4]
mov ecx, dword [0x1800e35f4]
imul ecx, eax
mov eax, ecx
mov ecx, dword [0x1800e35f4]
and ecx, eax
mov eax, ecx
mov dword [0x1800e35f4], eax
mov eax, 2
imul rax, rax, 0x9e5
lea rcx, [0x180abe590]
movzx edx, word [0x1800e360c]
mov word [rcx + rax], dx
mov eax, dword [rsp + 0x68]
add rsp, 0x1a8
pop rdi
pop rsi
ret