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

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x108
mov rax, qword [0x180146498]
mov qword [rsp + 0xd8], rax
mov rax, qword [str._buAG]
mov word [rsp + 0x14], ax
movzx eax, word [0x1801463d4]
mov word [rsp], ax
movzx eax, byte [0x1801463bf]
movzx eax, al
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x7c], 0xf
mov eax, 0xffff89af
mov word [rsp + 0x18], ax
mov eax, 0xffffe9e0
mov word [rsp + 0x30], ax
movzx eax, byte [0x180146494]
mov byte [rsp + 0xc], al
mov eax, 0xa0dd
mov word [rsp + 0x6c], ax
movzx eax, byte [0x1801463f6]
mov word [rsp + 0x10], ax
mov qword [rsp + 0x90], 0x9da0
mov eax, 0x2d4c
mov word [rsp + 8], ax
mov eax, dword [0x180146490]
cdqe
mov qword [rsp + 0xe0], rax
mov eax, dword [0x180146464]
mov dword [rsp + 0x24], eax
mov rax, qword [0x1801464a0]
mov dword [rsp + 0x20], eax
mov rax, qword [0x1801464e8]
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x34], 0xebb8
movzx eax, byte [0x18014636a]
movzx eax, al
mov dword [rsp + 0x50], eax
movzx eax, byte [0x1801463f6]
mov byte [rsp + 5], al
movzx eax, word [0x1801464fc]
mov qword [rsp + 0xe8], rax
movzx eax, word [0x1801463d4]
mov byte [rsp + 4], al
mov eax, dword [0x180146498]
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0xa8], 0x1060c70
movsx ax, byte [0x18014636b]
mov word [rsp + 0x70], ax
mov qword [rsp + 0xf0], 0x5b89863e
movzx eax, word [0x1801464e0]
cwde
mov dword [rsp + 0xac], eax
mov dword [rsp + 0xb0], 0xe22b06f2
mov dword [rsp + 0xb4], 0xc3
mov dword [rsp + 0xb8], 0x81
mov byte [rsp + 0x28], 0x25
mov eax, 0xe8
mov word [rsp + 0x74], ax
mov byte [rsp + 0x29], 0xab
mov dword [rsp + 0xbc], 0xf9a4
movzx eax, word [0x1801463d4]
cwde
mov dword [rsp + 0xc4], eax
mov byte [rsp + 0x2a], 0x96
mov eax, 0x47d
mov word [rsp + 0x80], ax
mov byte [rsp + 0x2c], 3
movsx eax, word [0x180146478]
mov dword [rsp + 0xc0], eax
movzx eax, byte [0x18014636f]
mov byte [rsp + 0x2b], al
mov byte [0x1801463d7], 4
movzx eax, byte [0x1801463d7]
add eax, dword [rsp + 0x4c]
movzx ecx, byte [0x1801463d7]
sub ecx, eax
mov eax, ecx
mov byte [0x1801463d7], al
mov eax, dword [0x18064fd50]
mov qword [0x1801464a0], rax
movzx eax, byte [0x1801463d7]
mov byte [rsp + 0x1c], al
cmp byte [rsp + 0x1c], 0
je 0x18004a34f
cmp byte [rsp + 0x1c], 1
je 0x18004a397
cmp byte [rsp + 0x1c], 2
je 0x18004a3d4
cmp byte [rsp + 0x1c], 3
je 0x18004a403
cmp byte [rsp + 0x1c], 4
je 0x18004a433
jmp 0x18004a44d
mov rax, qword [0x1801464b0]
test rax, rax
je 0x18004a365
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x60], eax
jmp 0x18004a36e
movsx eax, word [rsp + 0x10]
mov dword [rsp + 0x60], eax
movsxd rax, dword [rsp + 0x60]
mov qword [0x180146470], rax
movzx eax, word [rsp]
movsx rax, ax
mov rcx, qword [rsp + 0x40]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x40], rax
jmp 0x18004a44d
movsxd rax, dword [rsp + 0x20]
movabs rcx, 0x270d89a3d3d68
imul rax, rcx
mov dword [rsp + 0x34], eax
movzx eax, byte [0x180146396]
movsx eax, al
mov ecx, dword [0x1801464f8]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x1801464f8]
sub ecx, eax
mov eax, ecx
mov dword [0x1801464f8], eax
jmp 0x18004a44d
mov eax, dword [0x1801464c4]
mov eax, eax
mov rcx, qword [rsp + 0x90]
lea rax, [rax + rcx + 0x15]
mov dword [0x1801464c4], eax
movzx eax, word [rsp + 0x18]
cwde
imul eax, eax, 0xd4f4
mov dword [0x180146490], eax
jmp 0x18004a44d
mov eax, dword [0x180146490]
cdqe
sub rax, qword [0x180146480]
mov dword [0x180146490], eax
movzx eax, byte [0x18014636a]
movzx eax, al
sub eax, 0x1c
mov ecx, dword [rsp + 0x24]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x24], eax
jmp 0x18004a44d
movsxd rax, dword [0x1801464c0]
movabs rcx, 0x5be7352e9f2c8
and rax, rcx
mov dword [0x1801464f8], eax
mov eax, dword [0x18064fd50]
mov dword [rsp + 0x48], eax
movzx eax, word [0x18064fd50]
mov word [rsp + 0x10], ax
movzx eax, word [rsp]
cwde
movzx ecx, byte [0x1801463d7]
sub eax, ecx
movzx ecx, word [rsp]
movsx ecx, cx
or ecx, eax
mov eax, ecx
mov word [rsp], ax
mov eax, dword [rsp + 0x48]
add eax, 0x3d0
mov dword [rsp + 0x38], eax
mov dword [0x1801464c4], 0xa8
movzx eax, word [rsp + 8]
cwde
sub eax, 0x39a8
cdqe
mov rcx, qword [0x1801464a8]
sub rcx, rax
mov rax, rcx
mov qword [0x1801464a8], rax
mov eax, dword [rsp + 0x48]
add eax, 0x25c
mov dword [rsp + 0x5c], eax
movzx eax, word [rsp]
cwde
sub eax, 0x5086
mov byte [0x18014636f], al
mov eax, dword [rsp + 0x48]
add eax, 0x38f
mov dword [rsp + 0x3c], eax
mov qword [rsp + 0x40], 0
movsx eax, word [rsp + 0x30]
add eax, 0xef
mov dword [0x1801464c4], eax
mov qword [rsp + 0x40], 2
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xc8], rax
cmp qword [rsp + 0xc8], 0
je 0x18004a51e
jmp 0x18004a52f
movzx eax, word [rsp + 8]
cwde
mov ecx, dword [rsp + 0x78]
add eax, ecx
mov word [rsp + 8], ax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0xd0], rax
movzx eax, word [rsp + 0x18]
cwde
not eax
cdqe
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0xd0]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x110]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
movzx eax, word [0x1801463d4]
cwde
not eax
test eax, eax
jne 0x18004a593
movsx eax, byte [0x18014636b]
test eax, eax
jne 0x18004a593
mov dword [rsp + 0x68], 0
jmp 0x18004a59b
mov dword [rsp + 0x68], 1
movsx eax, word [rsp + 0x10]
cmp eax, dword [0x18014647c]
jl 0x18004a5b2
mov dword [rsp + 0x64], 1
jmp 0x18004a5ba
mov dword [rsp + 0x64], 0
mov eax, dword [rsp + 0x64]
cmp dword [rsp + 0x68], eax
jne 0x18004a5ce
mov dword [rsp + 0x58], 1
jmp 0x18004a5d6
mov dword [rsp + 0x58], 0
mov rax, qword [0x180146468]
movzx ecx, word [0x1801464d0]
movsx rcx, cx
cmp rax, rcx
ja 0x18004a5f7
mov dword [rsp + 0x54], 1
jmp 0x18004a5ff
mov dword [rsp + 0x54], 0
mov eax, dword [rsp + 0x50]
add eax, dword [rsp + 0x54]
cmp dword [rsp + 0x58], eax
jne 0x18004a60f
jmp 0x18004a653
mov eax, dword [rsp + 0x34]
test eax, eax
je 0x18004a637
mov eax, dword [0x18064fd50]
mov dword [rsp + 0x4c], eax
movzx eax, byte [0x18014636a]
movzx eax, al
sub eax, dword [rsp + 0x4c]
mov byte [0x18014636a], al
jmp 0x18004a653
mov eax, dword [0x18014641c]
test eax, eax
jne 0x18004a653
movzx eax, word [rsp + 0x90]
mov word [rsp + 8], ax
mov byte [rsp + 4], 3
mov qword [rsp + 0xa0], 0
movzx eax, word [0x1801464d0]
cwde
mov ecx, dword [0x180146494]
not ecx
imul eax, ecx
mov eax, eax
mov rcx, qword [0x1801464a0]
sub rax, rcx
mov byte [rsp + 0xc], al
mov qword [rsp + 0x88], 0
movsxd rax, dword [rsp + 0x20]
cmp qword [rsp + 0x40], rax
jb 0x18004a6ba
mov eax, dword [0x1801464d8]
imul eax, eax, 0x29d643db
mov dword [rsp + 0x20], eax
movzx eax, word [rsp + 8]
cwde
sar eax, 2
mov word [rsp + 0x14], ax
jmp 0x18004a6de
mov eax, dword [rsp + 0x50]
cmp eax, 0x6712
je 0x18004a6de
movzx eax, byte [rsp + 4]
movzx eax, al
mov ecx, dword [0x1801464f8]
imul ecx, eax
mov eax, ecx
mov dword [0x1801464f8], eax
mov eax, 8
imul rax, rax, 3
mov rcx, qword [rsp + 0x98]
mov eax, dword [rcx + rax + 0x88]
mov qword [rsp + 0xa0], rax
movzx eax, byte [rsp + 5]
inc al
mov byte [rsp + 5], al
mov eax, 8
imul rax, rax, 3
mov rcx, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x98]
mov eax, dword [rdx + rax + 0x8c]
mov dword [rcx], eax
movzx eax, byte [0x18014636a]
movzx eax, al
cmp dword [rsp + 0x20], eax
jge 0x18004a767
mov eax, dword [rsp + 0x34]
movsx ecx, word [rsp + 0x14]
cmp eax, ecx
jg 0x18004a765
mov eax, dword [rsp + 0x24]
cdqe
mov rcx, qword [0x1801464a8]
xor rax, rcx
mov dword [rsp + 0x24], eax
mov eax, 0xfffffb4b
mov word [rsp], ax
jmp 0x18004a76d
mov eax, dword [rsp + 0x7c]
cdqe
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x110]
add rcx, rax
mov rax, rcx
mov ecx, dword [rsp + 0x38]
mov edx, dword [rsp + 0x38]
xor ecx, edx
mov edx, dword [rsp + 0x3c]
mov r8d, dword [rsp + 0x38]
xor edx, r8d
imul ecx, edx
mov edx, dword [rsp + 0x5c]
mov r8d, dword [rsp + 0x5c]
imul edx, r8d
mov r8d, dword [rsp + 0x3c]
mov r9d, dword [rsp + 0x3c]
xor r8d, r9d
sub edx, r8d
imul ecx, edx
mov ecx, ecx
add rax, rcx
mov qword [rsp + 0x88], rax
movzx eax, word [0x18064fd50]
mov word [0x1801464e0], ax
mov rax, qword [rsp + 0x88]
add rsp, 0x108
ret