Function at 0x140046694
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r13
push r15
sub rsp, 0x5c0
mov rax, qword [0x1400a3ac8]
xor rax, rsp
mov qword [rsp + 0x5b0], rax
mov r13, rcx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0xa8], rcx
lea rbx, str._0_n_
mov rcx, qword [str._0_n_]
cmp rcx, rbx
je 0x14004670b
test byte [rcx + 0x1c], 4
je 0x14004670b
lea r12, [0x1400940c0]
cmp byte [rcx + 0x19], 5
jb 0x140046712
mov edx, 0xc
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.14000459c
jmp 0x140046712
lea r12, [0x1400940c0]
mov dword [rsp + 0x120], 0x30
lea r9, [fcn.1400459b0]
mov qword [rsp + 0x128], r9
lea r8, [0x140045bd0]
mov qword [rsp + 0x130], r8
lea rdx, [0x140045f40]
mov qword [rsp + 0x138], rdx
lea rcx, [0x140045dd0]
mov qword [rsp + 0x140], rcx
lea rax, [0x140046180]
mov qword [rsp + 0x148], rax
mov dword [rsp + 0xd0], 0x48
mov qword [rsp + 0xd8], r9
mov qword [rsp + 0xe0], r8
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0xf8], rax
lea rax, [fcn.140047d60]
mov qword [rsp + 0x100], rax
lea rax, [fcn.140047c20]
mov qword [rsp + 0x108], rax
mov rax, qword [0x1400a76e8]
mov rcx, qword [rax + 0x60]
mov qword [rsp + 0x110], rcx
xor edi, edi
mov r15d, edi
mov dword [rsp + 0x50], r15d
cmp r15d, dword [r13 + 0x18]
jae 0x140047790
xor edx, edx
mov r8d, 0x200
lea rcx, [rsp + 0x1b0]
call sub.msvcrt.dll_memset
xor edx, edx
mov r8d, 0x200
lea rcx, [rsp + 0x3b0]
call sub.msvcrt.dll_memset
mov ecx, 0x6a0
call fcn.14006a264
mov rsi, rax
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x78], rax
test rax, rax
jne 0x140046871
mov rcx, qword [str._0_n_]
cmp rcx, rbx
je 0x1400475d2
test byte [rcx + 0x1c], 4
je 0x1400475d2
cmp byte [rcx + 0x19], 2
jb 0x1400475d2
mov eax, r15d
lea r8, [rax + rax*4]
mov r9, qword [r13 + 0x10]
lea edx, [rsi + 0xd]
mov r9, qword [r9 + r8*8 + 8]
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.140004764
jmp 0x1400475d2
xor edx, edx
mov r8d, 0x690
mov rcx, rsi
call sub.msvcrt.dll_memset
lea rax, [rsi + 0x690]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xc8], rax
mov qword [rsi + 0x698], rax
mov qword [rax], rax
mov eax, r15d
lea rcx, [rax + rax*4]
lea r13, [rcx*8]
mov qword [rsp + 0xa0], r13
mov r15, qword [rsp + 0x58]
add r15, 0x10
mov qword [rsp + 0x88], r15
mov rax, qword [r15]
lea r8, [0x1400926f8]
cmp qword [rax + r13], rdi
cmovne r8, qword [rax + r13]
lea rax, [rsi + 0x34]
mov qword [rsp + 0x90], rax
mov edx, 0x104
mov rcx, rax
sub r8, rax
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x140046917
movzx eax, word [rcx + r8]
test ax, ax
je 0x140046917
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400468f4
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], di
mov rax, rdx
neg rax
sbb ebx, ebx
not ebx
and ebx, 0x8007007a
mov dword [rsp + 0x70], ebx
test rdx, rdx
je 0x140046ab7
mov rax, qword [r15]
lea r8, [0x1400926f8]
cmp qword [rax + r13 + 8], rdi
cmovne r8, qword [rax + r13 + 8]
lea r10, [rsi + 0x23c]
mov edx, 0x104
mov rcx, r10
sub r8, r10
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x14004698c
movzx eax, word [rcx + r8]
test ax, ax
je 0x14004698c
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140046969
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], di
mov rax, rdx
neg rax
sbb ebx, ebx
not ebx
and ebx, 0x8007007a
mov dword [rsp + 0x70], ebx
test rdx, rdx
je 0x140046ab7
mov rax, qword [r15]
lea r8, [0x1400926f8]
cmp qword [rax + r13 + 0x10], rdi
cmovne r8, qword [rax + r13 + 0x10]
lea rcx, [rsi + 0x444]
mov edx, 0x104
sub r8, rcx
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x1400469fe
movzx eax, word [rcx + r8]
test ax, ax
je 0x1400469fe
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400469db
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], di
mov rax, rdx
neg rax
sbb ebx, ebx
not ebx
and ebx, 0x8007007a
mov dword [rsp + 0x70], ebx
test rdx, rdx
je 0x140046ab7
mov qword [rsp + 0x40], 0x100
lea rax, [rsp + 0x3b0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], 0x100
lea rax, [rsp + 0x1b0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r10
call qword [sym.imp.msvcrt.dll__wsplitpath_s]
nop dword [rax + rax]
test eax, eax
je 0x140046ab7
mov rcx, qword [str._0_n_]
lea rdx, str._0_n_
cmp rcx, rdx
je 0x140046aac
test byte [rcx + 0x1c], 4
je 0x140046aac
cmp byte [rcx + 0x19], 2
jb 0x140046aac
mov edx, 0xe
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.14000459c
mov rcx, qword [str._0_n_]
mov ebx, 0x80004005
mov dword [rsp + 0x70], ebx
jmp 0x140046abe
mov rcx, qword [str._0_n_]
test ebx, ebx
jns 0x140046b0e
lea rax, str._0_n_
cmp rcx, rax
je 0x140046aee
test byte [rcx + 0x1c], 4
je 0x140046aee
cmp byte [rcx + 0x19], 2
jb 0x140046aee
mov edx, 0xf
mov r9d, ebx
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.1400045c8
mov dword [rsi + 0x18], 6
mov ecx, ebx
and ecx, 0x1fff0000
movzx eax, bx
cmp ecx, 0x70000
cmovne eax, ebx
jmp 0x1400475c5
lea rdx, str.FXSROUTE
lea rcx, [rsp + 0x1b0]
call qword [sym.imp.msvcrt.dll__wcsicmp]
nop dword [rax + rax]
test eax, eax
jne 0x140046b56
lea rdx, str..DLL
lea rcx, [rsp + 0x3b0]
call qword [sym.imp.msvcrt.dll__wcsicmp]
nop dword [rax + rax]
test eax, eax
jne 0x140046b56
mov dword [rsi + 0x658], 1
lea rax, [rsi + 0x658]
mov qword [rsp + 0x68], rax
cmp dword [rax], edi
je 0x140046bb9
cmp qword [rsp + 0x110], rdi
jne 0x140046bb9
mov rcx, qword [str._0_n_]
lea rax, str._0_n_
cmp rcx, rax
je 0x1400475c8
test byte [rcx + 0x1c], 4
je 0x1400475c8
cmp byte [rcx + 0x19], 2
jb 0x1400475c8
mov r9, qword [r15]
mov edx, 0x10
mov r9, qword [r9 + r13 + 8]
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.140004764
jmp 0x1400475c8
mov rcx, qword [r15]
mov rcx, qword [rcx + r13 + 8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
nop dword [rax + rax]
mov qword [rsp + 0x80], rax
test rax, rax
jne 0x140046c33
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
mov rcx, qword [str._0_n_]
lea rax, str._0_n_
cmp rcx, rax
je 0x140046c24
test byte [rcx + 0x1c], 4
je 0x140046c24
cmp byte [rcx + 0x19], 3
jb 0x140046c24
mov r9, qword [r15]
mov edx, 0x11
mov dword [rsp + 0x20], ebx
mov r9, qword [r9 + r13 + 8]
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.14000c804
mov dword [rsi + 0x18], 4
mov dword [rsi + 0x1c], ebx
jmp 0x1400475c8
mov qword [rsi + 0x10], rax
lea rdx, [rsi + 0x20]
mov dword [rdx], 0x14
mov rcx, qword [r15]
mov rcx, qword [rcx + r13 + 8]
call fcn.14006acb8
test eax, eax
je 0x140046c90
mov rcx, qword [str._0_n_]
lea rbx, str._0_n_
cmp rcx, rbx
je 0x140046c97
test byte [rcx + 0x1c], 4
je 0x140046c97
cmp byte [rcx + 0x19], 2
jb 0x140046c97
mov r9, qword [r15]
mov edx, 0x12
mov dword [rsp + 0x20], eax
mov r9, qword [r9 + r13 + 8]
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.140004880
jmp 0x140046c97
lea rbx, str._0_n_
lea rax, [rsi + 0x660]
mov qword [rsp + 0x60], rax
lea rdx, str.FaxRouteInitialize
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x60]
mov qword [rcx], rax
lea rdx, str.FaxRouteGetRoutingInfo
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
mov qword [rsi + 0x668], rax
lea rdx, str.FaxRouteSetRoutingInfo
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
mov qword [rsi + 0x670], rax
lea rdx, str.FaxRouteDeviceEnable
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
mov qword [rsi + 0x678], rax
lea rdx, str.FaxRouteDeviceChangeNotification
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
mov qword [rsi + 0x680], rax
mov rcx, qword [rsp + 0x60]
cmp qword [rcx], rdi
je 0x140047576
cmp qword [rsi + 0x668], rdi
je 0x140047576
cmp qword [rsi + 0x670], rdi
je 0x140047576
test rax, rax
je 0x140047576
cmp qword [rsi + 0x678], rdi
je 0x140047576
lea rdx, str.FaxExtInitializeConfig
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
mov qword [rsi + 0x688], rax
test rax, rax
jne 0x140046de2
mov rcx, qword [str._0_n_]
cmp rcx, rbx
je 0x140046de2
test byte [rcx + 0x1c], 4
je 0x140046de2
cmp byte [rcx + 0x19], 5
jb 0x140046de2
lea edx, [rax + 0x14]
mov r9, qword [rsp + 0x90]
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.140004764
mov r15, qword [rsp + 0x68]
cmp dword [r15], edi
je 0x140046dfa
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
jmp 0x140046e13
mov edx, 0x19000
xor ecx, ecx
mov r8d, 0x200000
call qword [sym.imp.KERNEL32.dll_HeapCreate]
nop dword [rax + rax]
lea rcx, [rsi + 0x650]
mov qword [rsp + 0xb8], rcx
mov qword [rcx], rax
test rax, rax
jne 0x140046e75
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov r15d, eax
mov rcx, qword [str._0_n_]
cmp rcx, rbx
je 0x140046e65
test byte [rcx + 0x1c], 4
je 0x140046e65
cmp byte [rcx + 0x19], 2
jb 0x140046e65
mov edx, 0x15
mov r9d, eax
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.140004994
mov dword [rsi + 0x18], 1
mov dword [rsi + 0x1c], r15d
jmp 0x1400475c8
mov rax, qword [rsi + 0x688]
test rax, rax
je 0x140046f4c
movabs r10, 0xdf4dbec57edc1b70
lea rcx, [0x140023410]
mov qword [rsp + 0x20], rcx
lea r9, [0x14005f420]
lea r8, [0x14005f180]
lea rdx, [0x14005f330]
lea rcx, [0x14005f0a0]
call qword [0x1400913f0]
mov r15d, eax
mov dword [rsp + 0x70], eax
jmp 0x140046ef5
test r15d, r15d
jns 0x140046f3f
mov rcx, qword [str._0_n_]
cmp rcx, rbx
je 0x140046f33
test byte [rcx + 0x1c], 4
je 0x140046f33
cmp byte [rcx + 0x19], 2
jb 0x140046f33
mov edx, 0x16
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x20], rax
mov r9d, r15d
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.14000460c
mov dword [rsi + 0x18], 6
jmp 0x140046e6c
mov rcx, qword [rsp + 0xb8]
mov r15, qword [rsp + 0x68]
mov rcx, qword [rcx]
cmp dword [r15], edi
je 0x140046f76
movabs r10, 0xf4712fe052d29b70
lea rdx, [rsp + 0xd0]
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
call qword [0x1400913f0]
jmp 0x140046f96
movabs r10, 0xf4712fe052d29b70
lea rdx, [rsp + 0x120]
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
call qword [0x1400913f0]
mov dword [rsp + 0x98], eax
jmp 0x140046fd0
test eax, eax
jne 0x140047020
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov r15d, eax
mov rcx, qword [str._0_n_]
cmp rcx, rbx
je 0x140046f33
test byte [rcx + 0x1c], 4
je 0x140046f33
cmp byte [rcx + 0x19], 2
jb 0x140046f33
mov edx, 0x17
mov r9d, eax
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.140004994
jmp 0x140046f33
mov eax, edi
mov dword [rsp + 0x78], eax
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rbx]
cmp dword [rcx + r13 + 0x18], edi
jbe 0x140047251
mov qword [rsp + 0x90], rdi
lea rax, [rax + rax*4]
mov qword [rsp + 0x60], rax
mov rcx, qword [rcx + r13 + 0x20]
lea rdx, str.6bbf7bfe_9af2_11d0_abf7_00c04fd91a4e
mov rcx, qword [rcx + rax*8 + 0x10]
call qword [sym.imp.msvcrt.dll__wcsicmp]
nop dword [rax + rax]
test eax, eax
jne 0x1400470b8
call fcn.14006fe50
test eax, eax
jne 0x1400470b8
mov rcx, qword [str._0_n_]
lea rax, str._0_n_
cmp rcx, rax
je 0x140047239
test byte [rcx + 0x1c], 4
je 0x140047239
cmp byte [rcx + 0x19], 5
jb 0x140047239
mov edx, 0x18
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.14000459c
jmp 0x140047239
mov ecx, 0x60
call fcn.14006a264
mov r15, rax
test rax, rax
je 0x140047514
xor edx, edx
lea r8d, [rdx + 0x58]
mov rcx, rax
call sub.msvcrt.dll_memset
mov qword [r15 + 0x58], rsi
mov rax, qword [rbx]
mov rcx, qword [rax + r13 + 0x20]
mov rdx, qword [rsp + 0x60]
mov eax, dword [rcx + rdx*8 + 0x20]
mov dword [r15 + 0x30], eax
mov rax, qword [rbx]
mov rcx, qword [rax + r13 + 0x20]
lea rax, [0x1400926f8]
cmp qword [rcx + rdx*8], rdi
cmovne rax, qword [rcx + rdx*8]
mov rcx, rax
call fcn.14006bd20
mov qword [r15 + 0x40], rax
test rax, rax
je 0x140047472
mov rax, qword [rbx]
mov rcx, qword [rax + r13 + 0x20]
lea rax, [0x1400926f8]
mov rdx, qword [rsp + 0x60]
cmp qword [rcx + rdx*8 + 8], rdi
cmovne rax, qword [rcx + rdx*8 + 8]
mov rcx, rax
call fcn.14006bd20
lea rbx, [r15 + 0x38]
mov qword [rbx], rax
test rax, rax
je 0x14004741e
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
mov rcx, qword [rax + r13 + 0x20]
lea rax, [0x1400926f8]
mov rdx, qword [rsp + 0x60]
cmp qword [rcx + rdx*8 + 0x18], rdi
cmovne rax, qword [rcx + rdx*8 + 0x18]
mov rcx, rax
call fcn.14006bd20
mov qword [r15 + 0x48], rax
test rax, rax
je 0x1400473b3
lea rdx, [r15 + 0x20]
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
mov rcx, qword [rax + r13 + 0x20]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rcx + rax*8 + 0x10]
call qword [sym.imp.ole32.dll_IIDFromString]
nop dword [rax + rax]
mov ecx, eax
mov dword [rsp + 0x68], eax
test eax, eax
jne 0x140047357
mov rcx, qword [rbx]
call fcn.14006be10
mov qword [rsp + 0x90], rax
test rax, rax
je 0x140047309
mov rdx, rax
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
mov qword [r15 + 0x50], rax
test rax, rax
je 0x1400472b9
mov rcx, qword [rsp + 0x90]
call fcn.14006a328
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rcx + 8]
mov qword [r15], rcx
mov qword [r15 + 8], rax
mov qword [rax], r15
mov qword [rcx + 8], r15
mov rbx, qword [rsp + 0x88]
mov eax, dword [rsp + 0x78]
inc eax
mov dword [rsp + 0x78], eax
mov rcx, qword [rbx]
cmp eax, dword [rcx + r13 + 0x18]
jb 0x14004703c
and qword [rsi + 0x18], 0
mov rdx, qword [rsp + 0xb0]
mov rdx, qword [rdx]
mov r10, qword [rsp + 0xc8]
cmp rdx, r10
je 0x140047753
mov r8, qword [0x1400a74c8]
mov r9d, dword [0x1400a747c]
lea rcx, [rdx]
mov rdx, qword [rdx]
mov rax, r8
lea r8, [rcx + 0x10]
lea r11, [0x1400a74c0]
mov qword [r8], r11
mov qword [rcx + 0x18], rax
mov qword [rax], r8
mov qword [0x1400a74c8], r8
inc r9d
cmp rdx, r10
jne 0x140047280
mov dword [0x1400a747c], r9d
jmp 0x140047753
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov dword [rsp + 0x68], eax
mov rcx, qword [str._0_n_]
lea rdx, str._0_n_
cmp rcx, rdx
je 0x1400472fd
test byte [rcx + 0x1c], 4
je 0x1400472fd
cmp byte [rcx + 0x19], 2
jb 0x1400472fd
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x90]
mov rcx, qword [rcx + 0x10]
call fcn.14004827c
mov dword [rsi + 0x18], 5
jmp 0x1400474cf
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov r13d, eax
mov rcx, qword [str._0_n_]
lea rax, str._0_n_
cmp rcx, rax
je 0x14004734b
test byte [rcx + 0x1c], 4
je 0x14004734b
cmp byte [rcx + 0x19], 2
jb 0x14004734b
mov edx, 0x1e
mov r9, qword [rbx]
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.140004764
mov dword [rsi + 0x18], 1
jmp 0x1400474d4
mov r10, qword [str._0_n_]
lea rax, str._0_n_
cmp r10, rax
je 0x1400473a7
test byte [r10 + 0x1c], 4
je 0x1400473a7
cmp byte [r10 + 0x19], 2
jb 0x1400473a7
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
mov r9, qword [rax + r13 + 0x20]
mov edx, 0x1d
mov dword [rsp + 0x20], ecx
mov rax, qword [rsp + 0x60]
mov r9, qword [r9 + rax*8 + 0x10]
mov r8, r12
mov rcx, qword [r10 + 0x10]
call fcn.14000c704
mov dword [rsi + 0x18], 2
jmp 0x1400474cf
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov dword [rsp + 0x68], eax
mov rcx, qword [str._0_n_]
lea rax, str._0_n_
cmp rcx, rax
je 0x1400474c8
test byte [rcx + 0x1c], 4
je 0x1400474c8
cmp byte [rcx + 0x19], 2
jb 0x1400474c8
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
mov r9, qword [rax + r13 + 0x20]
mov edx, 0x1c
mov rax, qword [rsp + 0x60]
mov r9, qword [r9 + rax*8 + 0x18]
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.140004764
jmp 0x1400474c8
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov dword [rsp + 0x68], eax
mov rcx, qword [str._0_n_]
lea rax, str._0_n_
cmp rcx, rax
je 0x1400474c8
test byte [rcx + 0x1c], 4
je 0x1400474c8
cmp byte [rcx + 0x19], 2
jb 0x1400474c8
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
mov r9, qword [rax + r13 + 0x20]
mov edx, 0x1b
mov rax, qword [rsp + 0x60]
mov r9, qword [r9 + rax*8 + 8]
jmp 0x14004740d
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov dword [rsp + 0x68], eax
mov rcx, qword [str._0_n_]
lea rax, str._0_n_
cmp rcx, rax
je 0x1400474c4
test byte [rcx + 0x1c], 4
je 0x1400474c4
cmp byte [rcx + 0x19], 2
jb 0x1400474c4
mov rax, qword [rbx]
mov r9, qword [rax + r13 + 0x20]
mov edx, 0x1a
mov rax, qword [rsp + 0x60]
mov r9, qword [r9 + rax*8 + 8]
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.140004764
lea rbx, [r15 + 0x38]
mov dword [rsi + 0x18], 1
mov r13d, dword [rsp + 0x68]
mov rax, qword [rsp + 0xc0]
mov dword [rax + 0x1c], r13d
mov rcx, qword [r15 + 0x40]
call fcn.14006a328
mov rcx, qword [rbx]
call fcn.14006a328
mov rcx, qword [r15 + 0x48]
call fcn.14006a328
mov rcx, r15
call fcn.14006a328
mov rcx, qword [rsp + 0x90]
call fcn.14006a328
jmp 0x1400475c8
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov r15d, eax
mov rcx, qword [str._0_n_]
lea rax, str._0_n_
cmp rcx, rax
je 0x140046e65
test byte [rcx + 0x1c], 4
je 0x140046e65
cmp byte [rcx + 0x19], 2
jb 0x140046e65
mov rdx, qword [rbx]
mov r9, qword [rdx + r13 + 0x20]
mov edx, 0x19
mov rax, qword [rsp + 0x60]
mov r9, qword [r9 + rax*8 + 8]
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.140004764
jmp 0x140046e65
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov dword [rsp + 0x78], eax
mov rcx, qword [str._0_n_]
cmp rcx, rbx
je 0x1400475be
test byte [rcx + 0x1c], 4
je 0x1400475be
cmp byte [rcx + 0x19], 2
jb 0x1400475be
mov r9, qword [r15]
mov edx, 0x13
mov dword [rsp + 0x20], eax
mov r9, qword [r9 + r13]
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.140004880
mov eax, dword [rsp + 0x78]
mov dword [rsi + 0x18], 5
mov dword [rsi + 0x1c], eax
mov r13, qword [rsp + 0x58]
mov r15d, dword [rsp + 0x50]
lea r8, [0x1400926e0]
mov edx, 0xc
test rsi, rsi
je 0x14004760e
mov r9d, dword [rsi + 0x1c]
mov dword [rsp + 0x150], r9d
mov word [rsp + 0x154], di
lea rcx, [rsp + 0x154]
call fcn.140004520
lea rbx, [rsp + 0x154]
jmp 0x14004763c
mov dword [rsp + 0x170], 0xe
mov word [rsp + 0x174], di
mov r9d, 0xe
lea rcx, [rsp + 0x174]
call fcn.140004520
lea rbx, [rsp + 0x174]
test eax, eax
cmovs rbx, rdi
test rsi, rsi
je 0x140047684
mov r9d, dword [rsi + 0x18]
mov dword [rsp + 0x190], r9d
mov word [rsp + 0x194], di
lea r8, [0x1400926e0]
mov edx, 0xc
lea rcx, [rsp + 0x194]
call fcn.140004520
lea r8, [rsp + 0x194]
test eax, eax
cmovs r8, rdi
jmp 0x140047687
mov r8, rdi
mov eax, r15d
lea rdx, [rax + rax*4]
mov rcx, qword [r13 + 0x10]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], r8
mov rax, qword [rcx + rdx*8 + 8]
mov qword [rsp + 0x28], rax
mov rax, qword [rcx + rdx*8]
mov qword [rsp + 0x20], rax
mov edx, 1
mov ecx, edx
mov r9d, 0xc0007d24
lea r8d, [rdx + 3]
call fcn.14006a378
test rsi, rsi
je 0x140047781
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x1400476e7
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
mov qword [rsi + 0x10], rdi
mov rcx, qword [rsi + 0x650]
test rcx, rcx
je 0x14004770e
cmp dword [rsi + 0x658], edi
jne 0x14004770e
call qword [sym.imp.KERNEL32.dll_HeapDestroy]
nop dword [rax + rax]
mov qword [rsi + 0x650], rdi
lea r15, [rsi + 0x690]
mov r13, qword [r15]
jmp 0x140047744
mov rbx, r13
mov r13, qword [r13]
mov rcx, qword [rbx + 0x40]
call fcn.14006a328
mov rcx, qword [rbx + 0x38]
call fcn.14006a328
mov rcx, qword [rbx + 0x48]
call fcn.14006a328
mov rcx, rbx
call fcn.14006a328
cmp r13, r15
jne 0x14004771a
mov qword [rsi + 0x698], r15
mov qword [r15], r15
mov r15d, dword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
test rsi, rsi
je 0x140047781
mov rax, qword [0x1400a7490]
lea rcx, [0x1400a7488]
mov qword [rsi], rcx
mov qword [rsi + 8], rax
mov qword [rax], rsi
mov qword [0x1400a7490], rsi
inc r15d
lea rbx, str._0_n_
jmp 0x1400467d1
call fcn.140047abc
cmp dword [0x1400a747c], edi
jne 0x1400477c6
mov rcx, qword [str._0_n_]
cmp rcx, rbx
je 0x1400477c6
test byte [rcx + 0x1c], 4
je 0x1400477c6
cmp byte [rcx + 0x19], 3
jb 0x1400477c6
mov edx, 0x20
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.14000459c
mov eax, 1
mov rcx, qword [rsp + 0x5b0]
xor rcx, rsp
call fcn.140001b10
lea r11, [rsp + 0x5c0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r13
pop r12
ret