Function at 0x45e2d0
Capabilities:
Enumerate process modules
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa98
mov qword [rsp + 0x148], r9
mov qword [rsp + 0xa8], r8
mov rbx, rdx
test rcx, rcx
je 0x45e32f
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x45e334
dec rbx
movabs r14, 0x8000000000000000
cmp qword [0x004a2038], r14
je 0x45e349
mov rdx, qword [0x004a2048]
test rdx, rdx
jne 0x45e8c1
jmp 0x45f789
test rbx, rbx
jne 0x45e304
xor ebx, ebx
movabs r14, 0x8000000000000000
cmp qword [0x004a2038], r14
jne 0x45e31a
mov rax, qword [0x004c9598]
movzx eax, byte [rax]
mov ecx, 0x8c0
mov edx, 8
call fcn.00404350
test rax, rax
je 0x45fd20
mov qword [rsp + 0xb0], 4
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 8
mov qword [rsp + 0xf0], 0
mov ecx, 8
xor edx, edx
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
cmp rax, 0xffffffffffffffff
je 0x45e7ac
mov rsi, rax
lea rdi, [rsp + 0x660]
mov r8d, 0x438
mov rcx, rdi
xor edx, edx
call sub.ntdll.dll_memset
mov dword [rsp + 0x660], 0x438
mov rcx, rsi
mov rdx, rdi
call sub.KERNEL32.dll_Module32FirstW
cmp eax, 1
jne 0x45e7a4
mov eax, 8
mov qword [rsp + 0x30], rax
xor eax, eax
mov qword [rsp + 0x28], rax
jmp 0x45e439
movabs r14, 0x8000000000000000
nop dword [rax]
mov rcx, rsi
lea rdx, [rsp + 0x660]
call sub.KERNEL32.dll_Module32NextW
cmp eax, 1
jne 0x45e7a4
mov eax, 0x208
xor r8d, r8d
nop word cs:[rax + rax]
cmp word [rsp + r8*2 + 0x890], 0
je 0x45e4c0
cmp word [rsp + r8*2 + 0x892], 0
je 0x45e49e
cmp word [rsp + r8*2 + 0x894], 0
je 0x45e4a3
cmp word [rsp + r8*2 + 0x896], 0
je 0x45e4a9
cmp word [rsp + r8*2 + 0x898], 0
je 0x45e4af
add r8, 5
add rax, 0xfffffffffffffff6
jne 0x45e450
mov r8d, 0x104
jmp 0x45e4c0
inc r8
jmp 0x45e4c0
add r8, 2
jmp 0x45e4c0
add r8, 3
jmp 0x45e4c0
add r8, 4
nop word cs:[rax + rax]
lea rcx, [rsp + 0x190]
lea rdx, [rsp + 0x890]
call fcn.00439fd0
mov rbp, qword [rsp + 0x198]
mov r8, qword [rsp + 0x1a0]
lea rcx, [rsp + 0x430]
mov rdx, rbp
call fcn.0045e070
cmp qword [rsp + 0x430], 0
je 0x45e60a
mov rdi, qword [rsp + 0x438]
mov r14, qword [rsp + 0x440]
mov r15, qword [rsp + 0x448]
mov r9d, 0x40
mov rcx, r14
mov rdx, r15
xor r8d, r8d
call fcn.004611c0
test rax, rax
je 0x45e5f0
cmp rdx, 0x40
jb 0x45e5f0
movzx ecx, word [rax]
cmp ecx, 0x5a4d
jne 0x45e5f0
mov r13d, dword [rax + 0x3c]
mov r9d, 0x88
mov rcx, r14
mov rdx, r15
mov r8, r13
call fcn.004611c0
mov r12, rax
test rax, rax
je 0x45e5f0
cmp rdx, 0x88
jb 0x45e5f0
cmp dword [r12], 0x4550
jne 0x45e5f0
movzx eax, word [r12 + 0x18]
cmp eax, 0x20b
jne 0x45e5f0
movzx r9d, word [r12 + 0x14]
cmp r9, 0x70
jb 0x45e5f0
add r13, 0x88
add r9, 0xffffffffffffff90
mov rcx, r14
mov rdx, r15
mov r8, r13
call fcn.004611c0
test rax, rax
je 0x45e5f0
mov r8, rdx
mov r9d, dword [r12 + 0x84]
lea rcx, [rsp + 0x430]
mov rdx, rax
call fcn.00462180
cmp qword [rsp + 0x430], 0
je 0x45e62e
nop word cs:[rax + rax]
mov rcx, r14
call sub.KERNEL32.dll_UnmapViewOfFile
mov rcx, rdi
call sub.KERNEL32.dll_CloseHandle
movabs r14, 0x8000000000000000
mov rdx, qword [rsp + 0x190]
test rdx, rdx
je 0x45e420
mov r8d, 1
mov rcx, rbp
call fcn.00404360
jmp 0x45e420
mov r15, qword [r12 + 0x30]
mov rax, qword [rsp + 0x678]
mov qword [rsp + 0x38], rax
mov r13, qword [rsp + 0x190]
mov rax, qword [0x004c9598]
movzx eax, byte [rax]
mov ecx, 0x10
mov edx, 8
call fcn.00404350
test rax, rax
je 0x45fd3b
mov r12, rax
mov eax, dword [rsp + 0x680]
mov qword [r12], r15
mov qword [r12 + 8], rax
lea rax, [rsp + 0x1a0]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x430], xmm0
mov rcx, r14
call sub.KERNEL32.dll_UnmapViewOfFile
mov rcx, rdi
call sub.KERNEL32.dll_CloseHandle
movabs rax, 0x8000000000000000
cmp r13, rax
je 0x45e412
mov rcx, qword [rsp + 0x38]
sub rcx, r15
mov qword [rsp + 0x200], r13
mov qword [rsp + 0x208], rbp
movaps xmm0, xmmword [rsp + 0x430]
lea rax, [rsp + 0x210]
movups xmmword [rax], xmm0
mov qword [rsp + 0x220], 1
mov qword [rsp + 0x228], r12
mov qword [rsp + 0x230], 1
mov qword [rsp + 0x238], rcx
mov rdx, qword [rsp + 0x28]
cmp rdx, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x30]
jne 0x45e743
lea rcx, [rsp + 0xe0]
call fcn.004185a0
movabs r14, 0x8000000000000000
mov rcx, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0xf0]
jmp 0x45e74d
movabs r14, 0x8000000000000000
mov rax, rdx
shl rax, 6
movups xmm0, xmmword [rsp + 0x200]
movups xmm1, xmmword [rsp + 0x210]
movups xmm2, xmmword [rsp + 0x220]
movups xmm3, xmmword [rsp + 0x230]
movups xmmword [rcx + rax + 0x30], xmm3
movups xmmword [rcx + rax + 0x20], xmm2
movups xmmword [rcx + rax + 0x10], xmm1
mov qword [rsp + 0x30], rcx
movups xmmword [rcx + rax], xmm0
inc rdx
mov rax, rdx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0xf0], rdx
jmp 0x45e420
mov rcx, rsi
call sub.KERNEL32.dll_CloseHandle
movups xmm0, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x660], xmm0
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x670], rax
movups xmm0, xmmword [rsp + 0xb0]
movups xmmword [rsp + 0x678], xmm0
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x688], rax
mov rsi, qword [0x004a2038]
cmp rsi, r14
je 0x45e884
mov rdi, qword [0x004a2040]
mov r14, qword [0x004a2048]
test r14, r14
je 0x45e85e
lea r15, [rdi + 0x28]
jmp 0x45e829
add r15, 0x40
dec r14
je 0x45e85e
mov rdx, qword [r15 - 0x28]
test rdx, rdx
je 0x45e841
mov rcx, qword [r15 - 0x20]
mov r8d, 1
call fcn.00404360
mov rdx, qword [r15 - 8]
test rdx, rdx
je 0x45e820
mov rcx, qword [r15]
shl rdx, 4
mov r8d, 8
call fcn.00404360
jmp 0x45e820
test rsi, rsi
je 0x45e878
shl rsi, 6
mov r8d, 8
mov rcx, rdi
mov rdx, rsi
call fcn.00404360
lea rcx, [0x004a2050]
call fcn.0040cc30
movaps xmm0, xmmword [rsp + 0x660]
movaps xmm1, xmmword [rsp + 0x670]
movaps xmm2, xmmword [rsp + 0x680]
movups xmmword [0x004a2058], xmm2
movups xmmword [0x004a2048], xmm1
movups xmmword [0x004a2038], xmm0
mov rdx, qword [0x004a2048]
test rdx, rdx
je 0x45f789
mov rax, qword [0x004a2040]
mov rcx, rdx
shl rcx, 6
add rcx, rax
xor r15d, r15d
mov r8, rax
mov r10, qword [r8 + 0x28]
mov r9, qword [r8 + 0x30]
mov rbp, qword [r8 + 0x38]
add r8, 0x40
shl r9, 4
nop dword [rax]
test r9, r9
je 0x45e920
mov r11, r10
add r10, 0x10
mov rsi, qword [r11]
add rsi, rbp
add r9, 0xfffffffffffffff0
cmp rsi, rbx
ja 0x45e8f0
add rsi, qword [r11 + 8]
cmp rsi, rbx
jbe 0x45e8f0
jmp 0x45e92d
inc r15
cmp r8, rcx
jne 0x45e8d8
jmp 0x45f789
mov r14, qword [0x004a2060]
test r14, r14
je 0x45e96a
mov r13, qword [0x004a2058]
imul rsi, r14, 0x230
xor ecx, ecx
xor r12d, r12d
nop dword [rax]
cmp qword [r13 + r12], r15
je 0x45eae2
add r12, 0x230
dec rcx
cmp rsi, r12
jne 0x45e950
cmp rdx, r15
jbe 0x45f8f1
mov rcx, r15
shl rcx, 6
mov rdx, qword [rax + rcx + 8]
mov r8, qword [rax + rcx + 0x10]
lea rcx, [rsp + 0x660]
call fcn.0045e070
cmp qword [rsp + 0x660], 0
je 0x45f789
mov r14, qword [rsp + 0x668]
mov r12, qword [rsp + 0x670]
mov r13, qword [rsp + 0x678]
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], 8
mov qword [rsp + 0xd8], 0
mov r9d, 0x40
mov rcx, r12
mov rdx, r13
xor r8d, r8d
call fcn.004611c0
test rax, rax
je 0x45eac0
cmp rdx, 0x40
jb 0x45eac0
movzx ecx, word [rax]
cmp ecx, 0x5a4d
jne 0x45eac0
mov esi, dword [rax + 0x3c]
mov r9d, 0x88
mov rcx, r12
mov rdx, r13
mov r8, rsi
call fcn.004611c0
mov rdi, rax
test rax, rax
je 0x45eac0
cmp rdx, 0x88
jb 0x45eac0
cmp dword [rdi], 0x4550
jne 0x45eac0
movzx eax, word [rdi + 0x18]
cmp eax, 0x20b
jne 0x45eac0
movzx r9d, word [rdi + 0x14]
cmp r9, 0x70
jb 0x45eac0
add rsi, 0x88
add r9, 0xffffffffffffff90
mov rcx, r12
mov rdx, r13
mov r8, rsi
mov qword [rsp + 0x28], r9
call fcn.004611c0
test rax, rax
je 0x45eac0
mov r8, rdx
mov r9d, dword [rdi + 0x84]
lea rcx, [rsp + 0x178]
mov rdx, rax
call fcn.00462180
cmp qword [rsp + 0x178], 0
mov r8, qword [rsp + 0x28]
je 0x45f7d4
lea rcx, [rsp + 0xb0]
call fcn.0040ed90
mov rcx, r12
call sub.KERNEL32.dll_UnmapViewOfFile
mov rcx, r14
call sub.KERNEL32.dll_CloseHandle
jmp 0x45f789
test rcx, rcx
je 0x45eb7b
lea rdi, [r12 + r13]
lea rcx, [rsp + 0x200]
mov r8d, 0x230
mov rdx, rdi
call sub.ntdll.dll_memcpy
lea rdx, [r12 + r13]
add rdx, 0x230
sub rsi, r12
add rsi, 0xfffffffffffffdd0
mov rcx, rdi
mov r8, rsi
call sub.ntdll.dll_memmove
lea rsi, [r14 - 1]
mov qword [0x004a2060], rsi
cmp rsi, qword [0x004a2050]
jne 0x45eb41
mov rcx, rsi
call fcn.00419070
mov r13, qword [0x004a2058]
lea rcx, [r13 + 0x230]
imul r8, rsi, 0x230
mov rdx, r13
call sub.ntdll.dll_memmove
lea rdx, [rsp + 0x200]
mov r8d, 0x230
mov rcx, r13
call sub.ntdll.dll_memcpy
mov qword [0x004a2060], r14
sub rbx, rbp
lea r15, [rbx + 1]
mov r12, qword [r13 + 0x1b8]
mov rdx, qword [r13 + 0x1c0]
xor ecx, ecx
test rdx, rdx
je 0x45ebd5
mov rax, rdx
mov r8, rdx
nop dword [rax]
shr rax, 1
add rax, rcx
mov r9, rax
shl r9, 5
mov r9, qword [r12 + r9]
cmp r9, r15
je 0x45ebcf
lea r10, [rax + 1]
cmp r9, r15
cmova r8, rax
cmovb rcx, r10
mov rax, r8
sub rax, rcx
ja 0x45eba0
jmp 0x45ebd5
inc rax
mov rcx, rax
cmp rcx, rdx
ja 0x45fd2f
mov eax, 3
test rcx, rcx
je 0x45f03f
lea rsi, [r13 + 0x1b0]
shl rcx, 5
lea r14, [rcx + r12]
add r14, 0xffffffffffffffe0
neg rcx
xor edx, edx
jmp 0x45ec1e
add r14, 0xffffffffffffffe0
add rcx, 0x20
je 0x45f03f
cmp qword [r14 + 0x18], rbx
jbe 0x45ec65
cmp qword [r14 + 8], rbx
jbe 0x45ec10
cmp r15, qword [r14]
jbe 0x45ec10
mov rcx, qword [r14 + 0x10]
mov rdx, qword [r13 + 0x1d0]
cmp rcx, rdx
jae 0x45fa52
imul rcx, rcx, 0x218
add rcx, qword [r13 + 0x1c8]
mov qword [rsp + 0x668], rcx
mov ecx, 0x10
xor ebp, ebp
mov rdx, r14
jmp 0x45ec6d
mov ecx, 8
mov bpl, 1
mov qword [rsp + rcx + 0x660], rdx
mov rdi, qword [rsp + 0x668]
test rdi, rdi
je 0x45f03f
lea rcx, [rsp + 0x200]
mov rdx, rdi
mov r8, rsi
call fcn.00423010
mov qword [rsp + 0x190], rdi
mov qword [rsp + 0x1a0], rbx
mov qword [rsp + 0x198], rsi
cmp qword [rsp + 0x230], 0
mov qword [rsp + 0x50], r13
je 0x45ed86
lea rax, [rsp + 0x230]
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x440], rcx
movups xmm0, xmmword [rax]
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x448], rax
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0x450], rax
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x458], rax
movups xmm1, xmmword [rsp + 0x200]
movups xmm2, xmmword [rsp + 0x210]
movups xmm3, xmmword [rsp + 0x220]
movaps xmmword [rsp + 0x660], xmm1
movaps xmmword [rsp + 0x670], xmm2
movaps xmmword [rsp + 0x680], xmm3
movaps xmmword [rsp + 0x690], xmm0
mov rax, qword [rsp + 0x440]
mov qword [rsp + 0x6a0], rax
mov rax, qword [rsp + 0x448]
mov qword [rsp + 0x6a8], rax
mov rax, qword [rsp + 0x450]
mov qword [rsp + 0x6b0], rax
mov rax, qword [rsp + 0x458]
mov qword [rsp + 0x6b8], rax
jmp 0x45edaf
lea rcx, [rsp + 0x660]
lea rdx, [rsp + 0x190]
lea r8, [rsp + 0x200]
call fcn.004235c0
mov qword [rsp + 0x690], 0
mov qword [rsp + 0x430], rbx
mov qword [rsp + 0x438], rdi
mov qword [rsp + 0x440], rsi
mov qword [rsp + 0x448], rsi
mov qword [rsp + 0x450], rbx
mov qword [rsp + 0x458], r15
mov qword [rsp + 0x460], r12
mov qword [rsp + 0x468], r14
mov qword [rsp + 0x470], r15
mov qword [rsp + 0x478], rbx
mov byte [rsp + 0x480], bpl
lea rcx, [rsp + 0x200]
lea rdx, [rsp + 0x660]
lea r8, [rsp + 0x430]
call fcn.004266a0
cmp byte [rsp + 0x2b0], 2
je 0x45f033
lea r14, [rsp + 0x230]
lea rdi, [rsp + 0x448]
lea r15, [rsp + 0x671]
lea r13, [rsp + 0x190]
lea rbp, [rsp + 0x660]
lea r12, [rsp + 0xe0]
lea rsi, [rsp + 0x200]
nop word [rax + rax]
movups xmm0, xmmword [rsp + 0x200]
movups xmm1, xmmword [rsp + 0x210]
movups xmm2, xmmword [rsp + 0x220]
movaps xmmword [rsp + 0xd0], xmm2
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xb0], xmm0
mov r8d, 0x88
lea rcx, [rsp + 0x430]
mov rdx, r14
call sub.ntdll.dll_memcpy
mov rax, qword [rsp + 0xb0]
lock dec qword [rax]
jne 0x45eed1
lea rcx, [rsp + 0xb0]
call fcn.00418040
mov rax, qword [rsp + 0x430]
mov rcx, qword [rsp + 0x440]
movzx edx, byte [rax + 0x200]
cmp edx, 0x4b
je 0x45ef10
cmp edx, 0x4c
jne 0x45ef40
mov byte [rax + 0x200], 0x4b
mov qword [rax + 0x208], 0
jmp 0x45ef30
mov r8, qword [rax + 0x208]
test r8, r8
je 0x45ef30
mov rcx, qword [r8]
add rcx, 0x10
add r8, 8
mov dl, 2
mov rax, r8
jmp 0x45ef39
mov rcx, qword [rcx]
add rcx, 0x10
xor edx, edx
xor r8d, r8d
jmp 0x45ef70
mov rcx, qword [rax + 0x200]
movzx edx, byte [rax + 0x208]
mov r8d, dword [rax + 0x20c]
mov dword [rsp + 0xe3], r8d
mov eax, dword [rax + 0x209]
mov dword [rsp + 0xe0], eax
mov r8d, 1
mov qword [rsp + 0x660], r8
mov qword [rsp + 0x668], rcx
mov byte [rsp + 0x670], dl
mov ecx, dword [rsp + 0xe0]
mov edx, dword [rsp + 0xe3]
mov dword [r15 + 3], edx
mov dword [r15], ecx
mov qword [rsp + 0x678], rax
mov rcx, r13
mov rdx, rdi
mov r8, rbp
call fcn.004235c0
mov qword [rsp + 0x1c0], 0
mov rax, qword [rdi + 0x68]
mov qword [rsp + 0x130], rax
movups xmm0, xmmword [rdi + 0x58]
movaps xmmword [rsp + 0x120], xmm0
movups xmm0, xmmword [rdi + 0x18]
movups xmm1, xmmword [rdi + 0x28]
movups xmm2, xmmword [rdi + 0x38]
movups xmm3, xmmword [rdi + 0x48]
movaps xmmword [rsp + 0x110], xmm3
movaps xmmword [rsp + 0x100], xmm2
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
mov rcx, rbp
mov rdx, r13
mov r8, r12
call fcn.004266a0
mov r8d, 0xb8
mov rcx, rsi
mov rdx, rbp
call sub.ntdll.dll_memcpy
cmp byte [rsp + 0x2b0], 2
jne 0x45ee70
mov eax, dword [rsp + 0x200]
mov r13, qword [rsp + 0x50]
add r13, 8
cmp eax, 5
je 0x45f73b
mov rcx, qword [rsp + 0x238]
mov qword [rsp + 0x70], rcx
mov rcx, qword [rsp + 0x248]
mov qword [rsp + 0x48], rcx
lea rcx, [rcx*8]
mov qword [rsp + 0x68], rcx
lea ecx, [rax - 3]
cmp ecx, 2
mov edx, 2
cmovb edx, ecx
test edx, edx
je 0x45f183
mov r8d, dword [rsp + 0x204]
mov r12d, dword [rsp + 0x208]
mov r10d, dword [rsp + 0x20c]
mov r9, qword [rsp + 0x210]
mov qword [rsp + 0x30], r9
mov r9, qword [rsp + 0x218]
mov qword [rsp + 0x38], r9
mov rsi, qword [rsp + 0x220]
mov r9, qword [rsp + 0x228]
mov qword [rsp + 0x140], r9
mov r9, qword [rsp + 0x230]
mov r11, qword [rsp + 0x240]
mov qword [rsp + 0x150], r11
mov r11, qword [rsp + 0x250]
lea rdi, [rsi + 0x60]
lea r14, [rsi + 0x1b8]
mov qword [rsp + 0xa0], r14
cmp edx, 1
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x170], r9
mov qword [rsp + 0x78], r11
jne 0x45f18a
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x60], r10
mov r13, r10
shl r13, 0x20
or r13, r12
mov eax, 2
mov qword [rsp + 0x28], rax
mov ebp, 3
cmp ecx, 2
jb 0x45f167
cmp qword [rsp + 0x48], 0
je 0x45f167
mov r8d, 8
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x68]
call fcn.00404360
mov r14, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x50]
mov rdx, rbx
call fcn.004600d0
jmp 0x45f374
xor esi, esi
jmp 0x45f714
mov eax, eax
mov r13, r8
shl r13, 0x20
or r13, rax
mov r15, r10
shl r15, 0x20
or r15, r12
cmp qword [rsp + 0x150], r11
je 0x45f25c
mov rsi, qword [r11 - 8]
mov eax, dword [rsi + 0x28]
mov ecx, dword [rsi + 0x2c]
xor ebp, ebp
mov qword [rsp + 0x58], rax
test eax, eax
setne r14b
xor eax, eax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x60], rcx
test ecx, ecx
setne r12b
cmp qword [rsi], 0
je 0x45f337
cmp dword [rdi], 0x2f
je 0x45f337
mov rax, qword [rsi + 8]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x1b0], 0
jne 0x45f2ea
lea rcx, [rsp + 0x660]
mov rdx, rdi
call fcn.00421f30
lea rcx, [rsp + 0x200]
lea r8, [rsp + 0x660]
mov rdx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x140]
call fcn.00426c40
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x1b0], 0
je 0x45f2c0
lea rcx, [rsp + 0x200]
call fcn.0040f170
jmp 0x45f2ea
mov rax, qword [r9 + 0x28]
test rax, rax
je 0x45f26b
mov rdx, qword [r9 + 0x30]
jmp 0x45f26b
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x60], r10
mov qword [rsp + 0x58], r8
cmp qword [rsp + 0x48], 0
je 0x45f2a3
mov r8d, 8
mov rcx, qword [rsp + 0x70]
mov rsi, rdx
mov rdx, qword [rsp + 0x68]
mov r14, rax
call fcn.00404360
mov rdx, rsi
mov rax, r14
mov ebp, 3
mov rsi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x30]
test rax, rax
jne 0x45f374
jmp 0x45f171
mov qword [rax + 0x1b0], 1
movups xmm0, xmmword [rsp + 0x200]
movups xmm1, xmmword [rsp + 0x210]
mov rax, qword [rsp + 0xa0]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov rax, qword [rsp + 0xa0]
cmp qword [rax], 0
je 0x45f319
mov rcx, qword [rsp + 0x80]
cmp rcx, qword [rax + 8]
jae 0x45f337
mov rax, qword [rax]
lea rdx, [rcx + rcx*2]
mov rcx, qword [rax + rdx*8 + 8]
mov r8, qword [rax + rdx*8 + 0x10]
jmp 0x45f339
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x1c0], 0x4b
jne 0x45f7bc
mov rax, qword [rax + 0x1c8]
test rax, rax
jne 0x45f2f8
xor ecx, ecx
add qword [rsp + 0x78], 0xfffffffffffffff8
mov bpl, r14b
mov rax, qword [rsp + 0x28]
mov al, r12b
mov qword [rsp + 0x28], rax
mov rax, qword [rsi + 0x18]
test rax, rax
je 0x45f79e
mov rdx, qword [rsi + 0x20]
mov rsi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x30]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x660], r13
mov qword [rsp + 0x668], r15
mov qword [rsp + 0x670], r14
mov qword [rsp + 0x678], rsi
mov qword [rsp + 0x680], rbx
mov qword [rsp + 0x688], rax
mov qword [rsp + 0x690], rdx
mov rax, qword [rsp + 0x148]
mov rax, qword [rax + 0x20]
lea rdx, [rsp + 0x660]
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x80], rax
call rax
mov r13, qword [rsp + 0x50]
mov qword [rsp + 0x138], rdi
jmp 0x45f459
mov r12, qword [rsp + 0x40]
mov r14, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
mov rcx, r13
mov rdx, rbx
call fcn.004600d0
mov qword [rsp + 0x660], r15
mov qword [rsp + 0x668], rsi
mov qword [rsp + 0x670], r14
mov qword [rsp + 0x678], r12
mov qword [rsp + 0x680], rbx
mov qword [rsp + 0x688], rax
mov qword [rsp + 0x690], rdx
mov rcx, qword [rsp + 0xa8]
lea rdx, [rsp + 0x660]
call qword [rsp + pe_nt_image_headers64]
lea ecx, [rbp - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
cmp eax, 1
je 0x45f520
cmp eax, 2
jne 0x45f711
mov eax, ebp
mov r15, qword [rsp + 0x58]
shl r15, 0x20
or r15, rax
mov eax, dword [rsp + 0x28]
mov rsi, qword [rsp + 0x60]
shl rsi, 0x20
or rsi, rax
mov rax, qword [rsp + 0x78]
cmp qword [rsp + 0x150], rax
je 0x45f56e
mov r14, qword [rax - 8]
mov eax, dword [r14 + 0x28]
mov ecx, dword [r14 + 0x2c]
xor ebp, ebp
mov qword [rsp + 0x58], rax
test eax, eax
setne r12b
xor eax, eax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x60], rcx
test ecx, ecx
setne r13b
cmp qword [r14], 0
je 0x45f6b0
cmp dword [rdi], 0x2f
je 0x45f6b0
mov rax, qword [r14 + 8]
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x1b0], 0
je 0x45f5c9
mov rax, qword [rsp + 0xa0]
cmp qword [rax], 0
jne 0x45f68b
jmp 0x45f66d
mov eax, dword [rsp + 0x28]
mov r15, qword [rsp + 0x60]
shl r15, 0x20
or r15, rax
mov eax, 2
mov qword [rsp + 0x28], rax
mov ebp, 3
cmp ecx, 2
jb 0x45f3f0
cmp qword [rsp + 0x48], 0
je 0x45f3f0
mov r8d, 8
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x68]
call fcn.00404360
jmp 0x45f3f0
mov rcx, qword [rsp + 0x170]
mov rax, qword [rcx + 0x28]
test rax, rax
je 0x45f583
mov rdx, qword [rcx + 0x30]
cmp qword [rsp + 0x48], 0
je 0x45f5ac
mov r8d, 8
mov rcx, qword [rsp + 0x70]
mov r14, rdx
mov rdx, qword [rsp + 0x68]
mov r12, rax
call fcn.00404360
mov rdx, r14
mov rax, r12
mov ebp, 3
mov r12, qword [rsp + 0x38]
mov r14, qword [rsp + 0x30]
test rax, rax
jne 0x45f40a
jmp 0x45f3ff
lea rcx, [rsp + 0x660]
mov rdx, rdi
call fcn.00421f30
mov rdi, qword [rsp + 0x40]
lea rcx, [rsp + 0x200]
mov rdx, rdi
lea r8, [rsp + 0x660]
mov r9, qword [rsp + 0x140]
call fcn.00426c40
cmp qword [rdi + 0x1b0], 0
je 0x45f62d
lea rcx, [rsp + 0x200]
call fcn.0040f170
mov rdi, qword [rsp + 0x138]
mov rax, qword [rsp + 0xa0]
cmp qword [rax], 0
jne 0x45f68b
jmp 0x45f66d
mov qword [rdi + 0x1b0], 1
movups xmm0, xmmword [rsp + 0x200]
movups xmm1, xmmword [rsp + 0x210]
mov rax, qword [rsp + 0xa0]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
mov rdi, qword [rsp + 0x138]
mov rax, qword [rsp + 0xa0]
cmp qword [rax], 0
jne 0x45f68b
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x1c0], 0x4b
jne 0x45f7b7
mov rax, qword [rax + 0x1c8]
test rax, rax
je 0x45f6b0
mov rcx, qword [rsp + 0x168]
cmp rcx, qword [rax + 8]
jae 0x45f6b0
mov rax, qword [rax]
lea rdx, [rcx + rcx*2]
mov rcx, qword [rax + rdx*8 + 8]
mov r8, qword [rax + rdx*8 + 0x10]
jmp 0x45f6b2
xor ecx, ecx
add qword [rsp + 0x78], 0xfffffffffffffff8
mov bpl, r12b
mov rax, qword [rsp + 0x28]
mov al, r13b
mov qword [rsp + 0x28], rax
mov rax, qword [r14 + 0x18]
test rax, rax
je 0x45f6f3
mov rdx, qword [r14 + 0x20]
mov r12, qword [rsp + 0x38]
mov r14, qword [rsp + 0x30]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], r8
mov r13, qword [rsp + 0x50]
jmp 0x45f40a
mov r12, qword [rsp + 0x38]
mov r14, qword [rsp + 0x30]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], r8
mov r13, qword [rsp + 0x50]
jmp 0x45f3ff
mov sil, 1
cmp ecx, 2
jb 0x45f736
cmp qword [rsp + 0x48], 0
je 0x45f736
mov r8d, 8
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x68]
call fcn.00404360
test sil, sil
jne 0x45f789
mov rcx, r13
mov rdx, rbx
call fcn.004600d0
test rax, rax
je 0x45f789
mov dword [rsp + 0x660], 3
mov qword [rsp + 0x668], rax
mov qword [rsp + 0x670], rdx
mov qword [rsp + 0x678], rbx
lea rdx, [rsp + 0x660]
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x148]
call qword [rax + 0x20]
nop
add rsp, 0xa98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rsi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x30]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], r8
jmp 0x45f171
mov sil, 1
jmp 0x45f7be
xor esi, esi
cmp qword [rsp + 0x48], 0
mov r13, qword [rsp + 0x50]
jne 0x45f721
jmp 0x45f736
add r8, rsi
movzx eax, word [rdi + 6]
mov qword [rsp + 0x28], rax
lea eax, [rax*8]
lea rsi, [rax + rax*4]
mov rcx, r12
mov rdx, r13
mov r9, rsi
call fcn.004611c0
test rax, rax
je 0x45eac0
cmp rsi, rdx
ja 0x45eac0
mov qword [rsp + 0x158], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x160], rax
mov esi, dword [rdi + 0xc]
test rsi, rsi
je 0x45f900
mov eax, dword [rdi + 0x10]
mov qword [rsp + 0x30], rax
add rax, rax
lea r9, [rax + rax*8]
mov rcx, r12
mov rdx, r13
mov r8, rsi
mov qword [rsp + 0x28], r9
call fcn.004611c0
mov qword [rsp + 0x38], rax
test rax, rax
je 0x45eac0
cmp qword [rsp + 0x28], rdx
ja 0x45eac0
mov r8, qword [rsp + 0x28]
add r8, rsi
mov r9d, 4
mov rcx, r12
mov rdx, r13
mov qword [rsp + 0x28], r8
call fcn.004611c0
test rax, rax
je 0x45eac0
cmp rdx, 3
jbe 0x45eac0
mov eax, dword [rax]
add rax, qword [rsp + 0x28]
mov qword [rsp + 0x48], rax
mov rax, qword [rdi + 0x30]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 8
mov qword [rsp + 0x98], 0
cmp qword [rsp + 0x30], 0
je 0x45fa5e
mov r10d, 8
xor edx, edx
xor esi, esi
mov r9, qword [rsp + 0x38]
jmp 0x45f9a1
lea r8, [0x004ac748]
mov rcx, r15
call fcn.0048bc00
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 8
mov qword [rsp + 0x98], 0
mov ecx, 8
xor eax, eax
mov qword [rsp + 0x48], rax
xor eax, eax
mov qword [rsp + 0x28], rax
xor esi, esi
xor edx, edx
test rdx, rdx
je 0x45fa71
bsr rax, rdx
xor rax, 0x3f
jmp 0x45fa76
mov r10, qword [rsp + 0x58]
mov r11, qword [rsp + 0x78]
mov rax, qword [rsp + 0x80]
add rax, qword [rsp + 0x40]
add rdi, rax
mov rax, rdx
shl rax, 4
mov qword [r10 + rax], rdi
mov rcx, qword [rsp + 0x60]
mov qword [r10 + rax + 8], rcx
inc rdx
mov qword [rsp + 0x98], rdx
mov r9, qword [rsp + 0x38]
add rsi, r11
inc rsi
cmp rsi, qword [rsp + 0x30]
jae 0x45fa48
lea rax, [rsi + rsi*8]
movzx r11d, byte [r9 + rax*2 + 0x11]
movzx r8d, word [r9 + rax*2 + 0xc]
test r8, r8
je 0x45f990
movzx ecx, word [r9 + rax*2 + 0xe]
and ecx, 0x30
cmp cx, 0x20
jne 0x45f990
mov qword [rsp + 0x78], r11
mov qword [rsp + 0x58], r10
mov rdi, rdx
lea rax, [r9 + rax*2]
mov qword [rsp + 0x60], rax
mov eax, dword [rax + 8]
mov qword [rsp + 0x80], rax
lea rcx, [rsp + 0x178]
lea rdx, [rsp + 0x158]
call fcn.00461830
cmp qword [rsp + 0x178], 0
jne 0x45fcf6
mov rdx, rdi
mov rax, qword [rsp + 0x180]
mov edi, dword [rax + 0xc]
cmp rdx, qword [rsp + 0x88]
jne 0x45f951
lea rcx, [rsp + 0x88]
call fcn.004187c0
mov r10, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
jmp 0x45f956
mov rcx, qword [rsp + 0x90]
jmp 0x45fa65
lea r8, str._rust_deps_addr2line_0.21.0_srclib.rs
call fcn.0048bc00
mov ecx, 8
xor edx, edx
mov rsi, r12
test rdx, rdx
jne 0x45f944
mov eax, 0x40
mov r9d, 0x40
sub r9d, eax
xor r8d, r8d
call fcn.004102b0
mov rax, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x160]
mov rdx, qword [rsp + 0x88]
movups xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x1f0], xmm0
movabs r8, 0x8000000000000000
cmp rdx, r8
je 0x45eac0
movaps xmm0, xmmword [rsp + 0x1f0]
movups xmmword [rsp + 0xe8], xmm0
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0xf8], r12
mov qword [rsp + 0x100], r13
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rsi
mov qword [rsp + 0x120], r13
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x190], r8
lea rcx, [rsp + 0x660]
lea rdx, [rsp + 0xe0]
lea r8, [rsp + 0x190]
mov r9, r8
call fcn.00459b30
mov rsi, qword [rsp + 0x660]
movabs rax, 0x8000000000000000
cmp rsi, rax
je 0x45eac0
lea rdx, [rsp + 0x668]
lea rcx, [rsp + 0x438]
mov r8d, 0x1d8
call sub.ntdll.dll_memcpy
movups xmm0, xmmword [rsp + 0xb0]
movups xmm1, xmmword [rsp + 0xc0]
movups xmm2, xmmword [rsp + 0xd0]
movups xmmword [rsp + 0x628], xmm0
movups xmmword [rsp + 0x638], xmm1
movups xmmword [rsp + 0x648], xmm2
mov qword [rsp + 0x430], rsi
mov qword [rsp + 0x610], r14
mov qword [rsp + 0x618], r12
mov qword [rsp + 0x620], r13
mov r14, qword [0x004a2060]
mov rsi, qword [0x004a2050]
cmp r14, 4
jne 0x45fc45
mov qword [0x004a2060], 3
mov edx, 0x690
add rdx, qword [0x004a2058]
lea rcx, [rsp + 0x660]
mov r8d, 0x230
call sub.ntdll.dll_memcpy
mov r14d, 3
movabs rax, 0x8000000000000000
cmp qword [rsp + 0x668], rax
je 0x45fc45
lea rcx, [rsp + 0x668]
call fcn.0040ebe0
mov r14, qword [0x004a2060]
mov rsi, qword [0x004a2050]
lea rdi, [rsp + 0x668]
lea rdx, [rsp + 0x430]
mov r8d, 0x228
mov rcx, rdi
call sub.ntdll.dll_memcpy
mov qword [rsp + 0x660], r15
cmp r14, rsi
jne 0x45fc78
mov rcx, rsi
call fcn.00419070
mov r13, qword [0x004a2058]
test r14, r14
je 0x45fcd0
lea rcx, [r13 + 0x230]
imul r8, r14, 0x230
mov rdx, r13
call sub.ntdll.dll_memmove
lea rdx, [rsp + 0x660]
mov r8d, 0x230
mov rcx, r13
call sub.ntdll.dll_memcpy
inc r14
mov qword [0x004a2060], r14
jne 0x45eb7b
lea r8, [0x004ac760]
xor ecx, ecx
xor edx, edx
call fcn.0048bc00
lea rdx, [rsp + 0x660]
mov r8d, 0x230
mov rcx, r13
call sub.ntdll.dll_memcpy
mov qword [0x004a2060], 1
jmp 0x45eb7b
mov rdx, qword [rsp + 0x88]
test rdx, rdx
je 0x45eac0
shl rdx, 4
mov r8d, 8
mov rcx, qword [rsp + 0x58]
call fcn.00404360
jmp 0x45eac0
mov ecx, 8
mov edx, 0x8c0
call fcn.0047c6e0
lea r8, str._rust_deps_addr2line_0.21.0_srclib.rs
call fcn.00492090
mov ecx, 8
mov edx, 0x10
call fcn.0047c6e0
ud2