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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
sub rsp, 0xe8
mov rax, qword [0x140145af0]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x40a0]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0xf8]
movzx eax, byte [rax]
mov byte [rsp + 0x30], al
mov rax, qword [rsp + 0x100]
movzx eax, byte [rax]
mov byte [rsp + 0x31], al
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x4fe0]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x48], rax
movzx eax, byte [rsp + 0x31]
test eax, eax
je 0x1400746c4
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x5a], 1
mov byte [rsp + 0x37], 0
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x4a78]
and eax, 1
test eax, eax
je 0x1400746e9
mov ecx, 0x20
call fcn.140019940
mov byte [rsp + 0x37], al
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x5a]
test eax, eax
jne 0x140074704
movzx eax, byte [rsp + 0x37]
test eax, eax
jne 0x140074704
jmp 0x140074f81
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x4a48]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x34]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x58]
and eax, 1
test eax, eax
je 0x140074733
mov byte [rsp + 0x38], 1
jmp 0x140074738
mov byte [rsp + 0x38], 0
movzx eax, byte [rsp + 0x38]
mov byte [rsp + 0x3c], al
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x54]
and eax, 0x1000
test eax, eax
je 0x14007475f
mov dword [rsp + 0x9c], 1
jmp 0x14007476a
mov dword [rsp + 0x9c], 0
movzx eax, byte [rsp + 0x9c]
mov byte [rsp + 0x32], al
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x54]
and eax, 0x2000
test eax, eax
je 0x140074794
mov dword [rsp + 0xa4], 1
jmp 0x14007479f
mov dword [rsp + 0xa4], 0
movzx eax, byte [rsp + 0xa4]
mov byte [rsp + 0x33], al
mov byte [rsp + 0x36], 0
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0xf0]
cmp dword [rax + 0x4be0], ecx
jne 0x1400747d5
mov rax, qword [rsp + 0x48]
cmp qword [rax + 0x18], 0xffffffffffffffff
jne 0x1400747d5
mov byte [rsp + 0x36], 1
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x59]
test eax, eax
jne 0x140074807
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xc0], rax
xor edx, edx
mov rcx, qword [rsp + 0xc0]
call fcn.140042980
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x59], 1
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0xf0]
cmp dword [rax + 0x4d9c], ecx
jne 0x140074876
mov eax, dword [rsp + 0x58]
and eax, 8
test eax, eax
jne 0x140074858
movzx eax, byte [rsp + 0x32]
test eax, eax
je 0x14007483f
movzx eax, byte [rsp + 0x33]
test eax, eax
je 0x14007483f
mov byte [rsp + 0x31], 1
jmp 0x140074856
movzx eax, byte [rsp + 0x32]
test eax, eax
jne 0x140074856
mov byte [rsp + 0x31], 1
movzx eax, byte [rsp + 0x31]
mov byte [rsp + 0x30], al
jmp 0x140074876
movzx eax, byte [rsp + 0x33]
test eax, eax
je 0x140074868
mov byte [rsp + 0x31], 1
jmp 0x140074876
movzx eax, byte [rsp + 0x32]
test eax, eax
jne 0x140074876
mov byte [rsp + 0x36], 1
movzx eax, byte [rsp + 0x36]
test eax, eax
je 0x14007489a
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x60]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0x48]
movzx ecx, byte [rsp + 0x30]
mov byte [rax + 0x14], cl
mov rax, qword [rsp + 0x50]
cmp dword [rax + 0x50], 0
je 0x140074a05
mov rax, qword [rsp + 0x50]
mov ecx, dword [rax + 0x50]
call fcn.14006da10
mov qword [rsp + 0xb8], rax
cmp qword [rsp + 0xb8], 0
je 0x140074a05
mov rax, qword [rsp + 0xb8]
add rax, 0x54
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x40]
add rax, 0x4a7c
mov rdx, rax
mov rcx, qword [rsp + 0xc8]
call fcn.1400236a0
mov byte [rsp + 0x3a], al
mov rax, qword [rsp + 0xb8]
add rax, 0x44
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x40]
add rax, 0x4a7c
mov rdx, rax
mov rcx, qword [rsp + 0xd0]
call fcn.1400236a0
mov byte [rsp + 0x39], al
movzx eax, byte [rsp + 0x3a]
test eax, eax
je 0x14007494e
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x14007494e
movzx eax, byte [rsp + 0x30]
test eax, eax
je 0x140074968
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x140074a05
movzx eax, byte [rsp + 0x3a]
test eax, eax
jne 0x140074a05
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0x10], 0
jg 0x140074996
mov rax, qword [rsp + 0xb8]
movzx eax, byte [rax + 7]
test eax, eax
je 0x140074996
mov byte [rsp + 0x31], 1
mov rax, qword [rsp + 0xb8]
mov byte [rax + 7], 0
jmp 0x1400749e7
movzx eax, byte [rsp + 0x30]
test eax, eax
jne 0x1400749ac
mov dword [rsp + 0xa8], 1
jmp 0x1400749b7
mov dword [rsp + 0xa8], 0
movzx eax, byte [rsp + 0xa8]
mov byte [rsp + 0x30], al
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x60]
mov r8d, 1
movzx edx, byte [rsp + 0x30]
mov rcx, qword [rsp + 0x50]
call fcn.1400744f0
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x10]
inc eax
mov edx, 1
mov ecx, eax
call fcn.1400021a0
mov rcx, qword [rsp + 0x48]
mov dword [rcx + 0x10], eax
movzx eax, byte [rsp + 0x37]
test eax, eax
je 0x140074a8c
xor edx, edx
mov ecx, 1
call fcn.14001a320
movzx eax, al
test eax, eax
je 0x140074a8c
mov eax, dword [rsp + 0x58]
and eax, 8
test eax, eax
jne 0x140074a8c
mov rax, qword [rsp + 0x40]
cmp dword [rax + 0x4114], 0
je 0x140074a53
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0xf0]
cmp dword [rax + 0x4114], ecx
je 0x140074a53
call fcn.14000f110
mov rdx, qword [rsp + 0xd8]
mov ecx, dword [rsp + 0xf0]
call fcn.140029800
movzx eax, byte [rsp + 0x31]
test eax, eax
jne 0x140074a8c
movzx eax, byte [rsp + 0x30]
test eax, eax
jne 0x140074a8c
mov byte [rsp + 0x31], 1
mov byte [rsp + 0x33], 0
movzx eax, byte [rsp + 0x33]
mov byte [rsp + 0x32], al
movzx eax, byte [rsp + 0x31]
test eax, eax
je 0x140074ac2
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0xf0]
cmp dword [rax + 0x4bec], ecx
jne 0x140074ac2
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x4bf8]
and eax, 1
test eax, eax
je 0x140074ac2
mov byte [rsp + 0x3b], 1
jmp 0x140074ac7
mov byte [rsp + 0x3b], 0
movzx eax, byte [rsp + 0x3b]
mov byte [rsp + 0x5c], al
movzx eax, byte [rsp + 0x31]
test eax, eax
je 0x140074ea8
movzx eax, byte [rsp + 0x5c]
test eax, eax
je 0x140074af3
movzx eax, byte [rsp + 0x30]
test eax, eax
jne 0x140074ea8
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0xf0]
cmp dword [rax + 0x4d9c], ecx
je 0x140074b28
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0xf0]
cmp dword [rax + 0x4bec], ecx
je 0x140074b28
mov dword [rsp + 0xac], 1
jmp 0x140074b3a
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x4c20]
mov dword [rsp + 0xac], eax
mov eax, dword [rsp + 0xac]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x58]
and eax, 0xc0
test eax, eax
je 0x140074baf
movzx eax, byte [rsp + 0x30]
test eax, eax
jne 0x140074baf
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x4f7c]
test eax, eax
jne 0x140074baf
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 0x4f7d]
test eax, eax
jne 0x140074baf
cmp dword [rsp + 0x68], 1
jne 0x140074baf
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x40]
movzx eax, word [rcx + rax + 0x2b0a]
cmp eax, 1
jne 0x140074baf
mov rdx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x50]
mov ecx, dword [rax + 0x50]
call fcn.140069950
mov eax, dword [rsp + 0x58]
and eax, 0x10
test eax, eax
jne 0x140074c77
mov byte [rsp + 0x34], 0
movzx eax, byte [rsp + 0x3c]
test eax, eax
je 0x140074bd6
mov byte [rsp + 0x34], 1
jmp 0x140074c62
cmp dword [rsp + 0x68], 1
je 0x140074bf1
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0xf0]
cmp dword [rax + 0x4bec], ecx
jne 0x140074c3d
movzx eax, byte [rsp + 0x32]
test eax, eax
jne 0x140074c3d
mov eax, dword [rsp + 0x58]
and eax, 0x20
test eax, eax
je 0x140074c2a
movzx eax, byte [rsp + 0x30]
test eax, eax
jne 0x140074c18
mov dword [rsp + 0x6c], 1
jmp 0x140074c20
mov dword [rsp + 0x6c], 0
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x70], eax
jmp 0x140074c32
mov dword [rsp + 0x70], 1
movzx eax, byte [rsp + 0x70]
mov byte [rsp + 0x34], al
jmp 0x140074c62
cmp dword [rsp + 0x68], 2
je 0x140074c4b
cmp dword [rsp + 0x68], 3
jne 0x140074c62
movzx eax, byte [rsp + 0x33]
test eax, eax
je 0x140074c62
movzx eax, byte [rsp + 0x32]
test eax, eax
jne 0x140074c62
mov byte [rsp + 0x34], 1
movzx eax, byte [rsp + 0x34]
test eax, eax
je 0x140074c77
xor edx, edx
mov rcx, qword [rsp + 0x50]
call fcn.140074480
movzx eax, byte [rsp + 0x33]
test eax, eax
je 0x140074dd1
movzx eax, byte [rsp + 0x3c]
test eax, eax
jne 0x140074dd1
mov rax, qword [rsp + 0x48]
cmp qword [rax + 0x18], 0xffffffffffffffff
jne 0x140074cab
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x60]
mov qword [rax + 0x18], rcx
mov eax, dword [rsp + 0x58]
and eax, 8
test eax, eax
jne 0x140074d0c
movzx eax, byte [rsp + 0x32]
test eax, eax
je 0x140074cf6
mov rax, qword [rsp + 0x48]
movsx eax, byte [rax + 0x14]
cmp eax, 0xffffffff
je 0x140074cf6
mov rax, qword [rsp + 0x48]
movsx eax, byte [rax + 0x14]
test eax, eax
je 0x140074ce4
mov dword [rsp + 0x74], 1
jmp 0x140074cec
mov dword [rsp + 0x74], 0
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x78], eax
jmp 0x140074cfe
mov dword [rsp + 0x78], 1
movzx eax, byte [rsp + 0x78]
mov byte [rsp + 0x35], al
jmp 0x140074d99
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x5b]
test eax, eax
je 0x140074d6c
mov rax, qword [rsp + 0x48]
movsx eax, byte [rax + 0x14]
cmp eax, 0xffffffff
je 0x140074d53
mov rax, qword [rsp + 0x48]
movsx eax, byte [rax + 0x14]
test eax, eax
je 0x140074d3e
mov dword [rsp + 0x7c], 1
jmp 0x140074d46
mov dword [rsp + 0x7c], 0
mov eax, dword [rsp + 0x7c]
mov dword [rsp + 0x80], eax
jmp 0x140074d5e
mov dword [rsp + 0x80], 1
movzx eax, byte [rsp + 0x80]
mov byte [rsp + 0x35], al
jmp 0x140074d99
movzx eax, byte [rsp + 0x30]
test eax, eax
jne 0x140074d82
mov dword [rsp + 0x84], 1
jmp 0x140074d8d
mov dword [rsp + 0x84], 0
movzx eax, byte [rsp + 0x84]
mov byte [rsp + 0x35], al
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x5d]
test eax, eax
je 0x140074db3
mov dword [rsp + 0x88], 1
jmp 0x140074dbe
mov dword [rsp + 0x88], 0xffffffff
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x98], eax
jmp 0x140074e7e
mov eax, dword [rsp + 0x58]
and eax, 8
test eax, eax
jne 0x140074e2f
movzx eax, byte [rsp + 0x32]
test eax, eax
je 0x140074e16
movzx eax, byte [rsp + 0x30]
test eax, eax
jne 0x140074dfb
mov dword [rsp + 0x8c], 1
jmp 0x140074e06
mov dword [rsp + 0x8c], 0
mov eax, dword [rsp + 0x8c]
mov dword [rsp + 0x90], eax
jmp 0x140074e21
mov dword [rsp + 0x90], 1
movzx eax, byte [rsp + 0x90]
mov byte [rsp + 0x30], al
jmp 0x140074e5c
movzx eax, byte [rsp + 0x30]
test eax, eax
jne 0x140074e45
mov dword [rsp + 0x94], 1
jmp 0x140074e50
mov dword [rsp + 0x94], 0
movzx eax, byte [rsp + 0x94]
mov byte [rsp + 0x30], al
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x60]
mov qword [rax + 0x18], rcx
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x35], al
mov dword [rsp + 0x98], 1
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x48]
mov r9, qword [rax + 0x18]
mov r8d, dword [rsp + 0x98]
movzx edx, byte [rsp + 0x35]
mov rcx, qword [rsp + 0x50]
call fcn.1400744f0
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x60]
cmp qword [rax + 0x18], rcx
jne 0x140074ee9
movzx eax, byte [rsp + 0x30]
test eax, eax
je 0x140074ece
mov dword [rsp + 0xb0], 1
jmp 0x140074ed9
mov dword [rsp + 0xb0], 0
mov rax, qword [rsp + 0x48]
movzx ecx, byte [rsp + 0xb0]
mov byte [rax + 0x14], cl
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0xf0]
cmp dword [rax + 0x4be0], ecx
jne 0x140074f3c
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x60]
mov qword [rax + 0x20], rcx
movzx eax, byte [rsp + 0x30]
test eax, eax
je 0x140074f21
mov dword [rsp + 0xa0], 1
jmp 0x140074f2c
mov dword [rsp + 0xa0], 0
mov rax, qword [rsp + 0x48]
movzx ecx, byte [rsp + 0xa0]
mov byte [rax + 0x15], cl
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x60]
cmp qword [rax + 0x20], rcx
jne 0x140074f55
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x5c], 1
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x60]
mov qword [rax + 0x48], rcx
mov rax, qword [rsp + 0xf8]
movzx ecx, byte [rsp + 0x30]
mov byte [rax], cl
mov rax, qword [rsp + 0x100]
movzx ecx, byte [rsp + 0x31]
mov byte [rax], cl
add rsp, 0xe8
ret