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

Disassembly:
mov word [rsp + 0x10], dx
mov word [rsp + 8], cx
sub rsp, 0xb8
mov dword [rsp + 0x80], 0xcdf50eed
movzx eax, byte [0x1801463be]
movsx eax, al
mov dword [rsp + 0x48], eax
mov eax, dword [0x180146490]
mov byte [rsp + 0xa], al
mov byte [rsp], 0xe5
movzx eax, byte [0x1801463d3]
mov qword [rsp + 0x98], rax
movzx eax, byte [0x18014636f]
mov qword [rsp + 0xa0], rax
mov eax, 0x7d51
mov word [rsp + 0x44], ax
mov byte [rsp + 0xb], 0x35
movzx eax, byte [0x1801463be]
movsx eax, al
mov dword [rsp + 0x84], eax
movabs rax, 0x46a83b5580931
mov qword [rsp + 0x60], rax
movzx eax, byte [0x1801464c8]
mov byte [rsp + 0xc], al
mov rax, qword [0x1801464a8]
mov qword [rsp + 0x58], rax
movzx eax, byte [0x1801464c8]
mov byte [rsp + 9], al
mov qword [rsp + 0x68], 0x44c0
mov eax, 0x3e
mov word [rsp + 0x50], ax
movzx eax, word [0x18014647c]
mov word [rsp + 0x18], ax
movzx eax, byte [0x18014636f]
mov byte [rsp + 0xd], al
movzx eax, byte [0x180146369]
mov byte [rsp + 1], al
mov byte [rsp + 0xe], 0xac
mov eax, 0x488c
mov word [rsp + 0x28], ax
mov rax, qword [0x180146468]
mov byte [rsp + 8], al
mov dword [rsp + 0x4c], 0x3d0aebf9
mov eax, 0xcf80
mov word [rsp + 4], ax
movzx eax, byte [0x18014636a]
mov byte [rsp + 0xf], al
movzx eax, word [0x1801464e4]
mov byte [rsp + 0x10], al
movzx eax, byte [0x1801464fc]
mov byte [rsp + 0x11], al
mov rax, qword [0x180146498]
mov qword [rsp + 0x90], rax
mov eax, 0x4a09
mov word [rsp + 0x2c], ax
mov byte [rsp + 0x12], 0x9e
mov eax, 0x9a
mov word [rsp + 0x30], ax
mov byte [rsp + 0x13], 0xb3
mov byte [rsp + 0x14], 0xb5
movzx eax, byte [0x1801463d7]
mov byte [rsp + 0x15], al
mov rax, qword [0x180146488]
mov word [rsp + 0x34], ax
mov eax, 0xdf
mov word [rsp + 0x38], ax
mov eax, dword [0x1801464d8]
cdqe
mov qword [rsp + 0xa8], rax
mov dword [rsp + 0x88], 0x322a6578
mov eax, 0x65
mov word [rsp + 0x3c], ax
mov eax, 0x6b0a
mov word [rsp + 0x40], ax
movzx eax, word [rsp + 0x18]
mov ecx, 1
imul rcx, rcx, 0x2d
lea rdx, [0x1806914c0]
mov byte [rdx + rcx], al
movzx eax, word [0x18064fd50]
mov word [0x180146478], ax
mov eax, 2
mov word [0x1801464fc], ax
movzx eax, byte [rsp + 8]
movsx eax, al
sub eax, 0x69ebbec
mov byte [rsp], al
mov eax, dword [rsp + 0x48]
add eax, 0xafa
cdqe
mov qword [rsp + 0x60], rax
movzx eax, word [0x1801464fc]
mov dword [rsp + 0x1c], eax
cmp dword [rsp + 0x1c], 0
je 0x180040f42
cmp dword [rsp + 0x1c], 1
je 0x180040f5a
cmp dword [rsp + 0x1c], 2
je 0x180040f87
jmp 0x180040fc7
movsx rax, byte [rsp + 9]
mov rcx, qword [rsp + 0x68]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
jmp 0x180040fc7
mov eax, 8
imul rax, rax, 0x57
lea rcx, [0x18074e3e0]
movzx eax, byte [rcx + rax]
mov byte [rsp], al
mov eax, dword [0x180146490]
add eax, 0xd3af
cdqe
mov qword [0x180146498], rax
jmp 0x180040fc7
movzx eax, byte [0x1801463d7]
mov ecx, dword [rsp + 0x4c]
xor ecx, eax
mov eax, ecx
mov eax, eax
mov rcx, qword [rsp + 0x58]
imul rcx, rax
mov rax, rcx
test rax, rax
jne 0x180040fb4
mov qword [rsp + 0x70], 1
jmp 0x180040fbd
mov qword [rsp + 0x70], 0
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x58], rax
cmp qword [0x1801464c8], 0
je 0x180040fdd
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x78], rax
jmp 0x180040fea
mov eax, dword [0x180146490]
cdqe
mov qword [rsp + 0x78], rax
movzx eax, byte [rsp + 0x78]
mov byte [rsp + 0xa], al
movzx eax, byte [rsp]
mov rcx, qword [0x180146470]
imul rcx, rax
mov rax, rcx
mov rcx, qword [0x180146470]
and rcx, rax
mov rax, rcx
mov qword [0x180146470], rax
mov qword [0x1801464b0], 4
movzx eax, word [rsp + 4]
movzx ecx, byte [0x1801463bf]
movzx ecx, cl
sub eax, ecx
movzx ecx, word [rsp + 4]
and ecx, eax
mov eax, ecx
mov word [rsp + 4], ax
mov rax, qword [0x1801464b0]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 1
je 0x18004107d
cmp qword [rsp + 0x20], 2
je 0x1800410bf
cmp qword [rsp + 0x20], 3
je 0x1800410d8
cmp qword [rsp + 0x20], 4
je 0x1800410f7
jmp 0x18004110d
movzx eax, byte [rsp + 1]
movzx ecx, byte [0x18014636e]
mov edx, dword [0x180146494]
add edx, eax
mov eax, edx
add ecx, eax
mov eax, ecx
mov eax, eax
mov rcx, qword [rsp + 0x58]
xor rcx, rax
mov rax, rcx
not rax
mov word [rsp + 4], ax
movzx eax, byte [0x1801463f6]
add eax, 0x4111ce7a
mov word [rsp + 4], ax
jmp 0x18004110d
mov rax, qword [0x1801464a0]
mov byte [0x1801463bf], al
mov eax, 1
mov word [rsp + 4], ax
jmp 0x18004110d
movzx eax, byte [rsp + 8]
movsx eax, al
imul eax, eax, 0x9edf665d
mov byte [rsp + 1], al
movzx eax, byte [0x18064fd50]
mov byte [rsp + 1], al
jmp 0x18004110d
mov eax, dword [0x1801464c0]
mov ecx, dword [0x18014647c]
add ecx, eax
mov eax, ecx
mov dword [0x18014647c], eax
mov rax, qword [rsp + 0x90]
add rsp, 0xb8
ret