Function at 0x15cc3a0
Capabilities:
Terminate process

Disassembly:
mov rax, rsp
mov byte [rax + 0x18], r8b
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov qword [rsp + 0xa0], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov rbx, rdx
mov r12, rcx
xor r15d, r15d
mov qword [rax - 0x78], r15
test rdx, rdx
jne 0x15cc400
lea r8, [0x015cd728]
mov edx, 0x456
lea rcx, [0x0156dfe0]
call fcn.017eea00
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x15cd5e3
mov rcx, qword [0x039f11b0]
mov rdi, qword [rcx + 0x168]
test rdi, rdi
je 0x15cc418
mov rax, rdi
jmp 0x15cc41b
mov rax, rcx
movzx eax, byte [rax + 0x248]
shr al, 1
test al, 1
je 0x15cc497
test rdi, rdi
je 0x15cc432
mov rax, rdi
jmp 0x15cc435
mov rax, rcx
movzx eax, byte [rax + 0x248]
shr al, 3
test al, 1
jne 0x15cc497
test rdi, rdi
je 0x15cc44b
mov rcx, rdi
movzx eax, byte [rcx + 0x248]
shr al, 2
test al, 1
jne 0x15cc497
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
call qword [sym.imp.MSVCR80.dll__configthreadlocale]
test eax, eax
jne 0x15cc497
mov dword [rsp + 0xf8], r15d
mov qword [rsp + 0x20], 0x1000000f
xor r9d, r9d
xor r8d, r8d
mov edx, r15d
mov ecx, 0xc1010000
call fcn.0124e580
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x15cd5e3
call fcn.016a78a0
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cc4ab
jmp 0x15cd5e3
mov rsi, rbx
mov qword [rsp + 0x98], rbx
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdx, qword [0x01580f80]
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov rcx, rbx
call qword [sym.imp.MSVCR80.dll__wcsnicmp]
test eax, eax
jne 0x15cc4fd
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, qword [0x01580f80]
repne scasw ax, word [rdi]
not rcx
lea rsi, [rbx + rcx*2 - 2]
mov qword [rsp + 0x98], rsi
mov rax, qword [0x039f11b0]
cmp qword [rax + 0x168], 0
je 0x15cc517
mov rcx, qword [rax + 0x168]
jmp 0x15cc51a
mov rcx, rax
test byte [rcx + 0x248], 1
je 0x15cc53c
mov edx, 1
lea rcx, [0x015c6260]
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
mov rax, qword [0x039f11b0]
cmp byte [r12 + 9], 1
jne 0x15cc55f
cmp qword [rax + 0x168], 0
je 0x15cc555
mov rax, qword [rax + 0x168]
or qword [rax + 0x248], 0x10
jmp 0x15cc578
cmp qword [rax + 0x168], 0
je 0x15cc570
mov rax, qword [rax + 0x168]
and qword [rax + 0x248], 0xffffffffffffffef
mov rcx, qword [0x039f11b0]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + reloc.WS2_32.dll_htonl]
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cc596
jmp 0x15cd5e3
mov rdx, rbx
mov rcx, qword [0x039f11b0]
call fcn.017cfc20
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cc5b4
jmp 0x15cd5e3
mov rdx, rsi
mov rcx, qword [0x039f11b0]
call fcn.017da040
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cc5d2
jmp 0x15cd5e3
mov rcx, qword [0x039f11b0]
call fcn.017eb570
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cc5ed
jmp 0x15cd5e3
mov rax, qword [0x039f11b0]
mov rcx, qword [rax + 0x1e8]
mov qword [0x03e48bd0], rcx
mov rdx, qword [0x01580f78]
mov rcx, rbx
call qword [sym.imp.MSVCR80.dll__wcsicmp]
test eax, eax
jne 0x15cc638
mov rax, qword [0x039f11b0]
cmp qword [rax + 0x168], 0
je 0x15cc62e
mov rax, qword [rax + 0x168]
or qword [rax + 0x248], 4
jmp 0x15cc658
mov rax, qword [0x039f11b0]
cmp qword [rax + 0x168], 0
je 0x15cc650
mov rax, qword [rax + 0x168]
or qword [rax + 0x248], 2
mov rdx, rbx
lea rbx, [0x03e488c0]
mov rcx, rbx
call fcn.01787dc0
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cc679
jmp 0x15cd5e3
mov rax, qword [0x039f11b0]
mov qword [rax + 0xb88], rbx
mov rcx, qword [0x039f11b0]
mov rdx, qword [rcx + 0x168]
test rdx, rdx
je 0x15cc69f
mov rax, rdx
jmp 0x15cc6a6
mov rax, qword [0x039f11b0]
movzx eax, byte [rax + 0x248]
shr al, 1
test al, 1
je 0x15cc700
test rdx, rdx
je 0x15cc6bd
mov rax, rdx
jmp 0x15cc6c4
mov rax, qword [0x039f11b0]
movzx eax, byte [rax + 0x248]
shr al, 3
test al, 1
jne 0x15cc700
mov r8b, 1
mov edx, reloc.OLEAUT32.dll_VarNumFromParseNum
mov rcx, qword [0x039f11b0]
call fcn.017cb670
test eax, eax
jle 0x15cc700
mov ecx, eax
call fcn.01797e40
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cc700
jmp 0x15cd5e3
mov byte [rsp + 0x4a], 0
mov byte [rsp + 0x49], 0
mov byte [rsp + 0x48], 0
mov rax, qword [0x039f11b0]
cmp qword [rax + 0x168], 0
je 0x15cc729
mov rcx, qword [rax + 0x168]
jmp 0x15cc730
mov rcx, qword [0x039f11b0]
movzx eax, byte [rcx + 0x248]
shr al, 3
not al
and al, 1
mov byte [rsp + 0xf8], al
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], r15
movsxd rbx, dword [r12 + 0x10]
mov qword [rsp + 0x50], rbx
mov rdi, qword [r12 + 0x18]
mov qword [rsp + 0x58], rdi
xor sil, sil
mov byte [rsp + 0x34], sil
mov r13, r15
mov qword [rsp + 0x78], r15
mov r14, r15
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x80], r15
mov byte [rsp + 0x4b], sil
lea r8, [0x01000000]
cmp rbx, 1
jle 0x15cc986
sub rbx, 1
mov qword [rsp + 0x50], rbx
add rdi, 8
mov qword [rsp + 0x58], rdi
mov rdx, qword [rdi]
movzx eax, word [rdx]
cmp ax, 0x2d
je 0x15cc7c2
cmp ax, 0x2f
je 0x15cc7c2
jmp 0x15cc792
lea r9, [rdx + 2]
movzx eax, word [r9]
add eax, 0xffffffbe
cmp eax, 0x35
ja case.0x15cc7ec.76
cdqe
movzx eax, byte [r8 + rax + 0x5cd64c]
mov ecx, dword [r8 + rax*4 + 0x5cd620]
add rcx, r8
jmp rcx
cmp rbx, 1
jg 0x15cc817
lea r8, [0x015cd728]
mov edx, 0x4d3
lea rcx, [0x0156dfe0]
call fcn.017eea00
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x15cd5e3
sub rbx, 1
mov qword [rsp + 0x50], rbx
add rdi, 8
mov qword [rsp + 0x58], rdi
mov rax, qword [rdi]
mov qword [rsp + 0x68], rax
jmp case.0x15cc7ec.73
mov dl, 1
mov byte [rsp + 0x4a], dl
jmp case.0x15cc7ec.73
mov r8d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea rdx, [0x015cd710]
mov rcx, r9
call qword [sym.imp.MSVCR80.dll__wcsnicmp]
test eax, eax
jne 0x15cc89b
mov r8b, 1
mov byte [rsp + 0x49], r8b
lea r8, [0x01000000]
jmp case.0x15cc7ec.73
mov r8d, 5
lea rdx, [0x0156e098]
mov rcx, r9
call qword [sym.imp.MSVCR80.dll__wcsnicmp]
test eax, eax
jne 0x15cc89b
mov al, 1
mov byte [rsp + 0x48], al
lea r8, [0x01000000]
jmp case.0x15cc7ec.73
lea r8, [0x01000000]
jmp case.0x15cc7ec.73
add rdx, 4
mov qword [rsp + 0x70], rdx
jmp case.0x15cc7ec.73
add rdi, 8
mov qword [rsp + 0x58], rdi
sub rbx, 1
mov qword [rsp + 0x50], rbx
mov r13, qword [rdi]
mov qword [rsp + 0x78], r13
test r13, r13
jne 0x15cc8e6
mov rcx, r12
call fcn.015c3710
lea ecx, [r13 + 1]
call qword [sym.imp.MSVCR80.dll_exit]
mov sil, 1
mov byte [rsp + 0x34], sil
jmp case.0x15cc7ec.73
add rdi, 8
mov qword [rsp + 0x58], rdi
sub rbx, 1
mov qword [rsp + 0x50], rbx
mov r14, qword [rdi]
mov qword [rsp + 0x90], r14
test r14, r14
jne 0x15cc927
mov rcx, r12
call fcn.015c3710
lea ecx, [r14 + 1]
call qword [sym.imp.MSVCR80.dll_exit]
mov sil, 1
mov byte [rsp + 0x34], sil
jmp case.0x15cc7ec.73
add rdi, 8
mov qword [rsp + 0x58], rdi
sub rbx, 1
mov qword [rsp + 0x50], rbx
mov r15, qword [rdi]
mov qword [rsp + 0x80], r15
test r15, r15
jne 0x15cc965
mov rcx, r12
call fcn.015c3710
lea ecx, [r15 + 1]
call qword [sym.imp.MSVCR80.dll_exit]
mov sil, 1
mov byte [rsp + 0x34], sil
jmp case.0x15cc7ec.73
mov byte [rsp + 0x4b], 1
mov sil, 1
mov byte [rsp + 0x34], sil
jmp 0x15cc792
jmp 0x15cc792
test sil, sil
je 0x15cc9d4
cmp byte [r12 + 8], 0
jne 0x15cc9d4
mov r9, r15
mov r8, r14
mov rdx, r13
movzx ecx, byte [rsp + 0x4b]
call fcn.016ccb80
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cc9b5
jmp 0x15cd5e3
mov rcx, r12
call fcn.015c8c40
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cc9cc
jmp 0x15cd5e3
xor ecx, ecx
call qword [sym.imp.MSVCR80.dll_exit]
xor r8d, r8d
xor edx, edx
mov rcx, qword [0x039f11b0]
call fcn.017ebd80
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cc9f4
jmp 0x15cd5e3
lea rcx, [rsp + 0x38]
call fcn.0116a950
nop
mov rax, qword [0x039f4ec0]
test rax, rax
je 0x15cca17
lea rdx, [rax + 0xc0]
xor r13d, r13d
jmp 0x15cca1d
xor r13d, r13d
mov rdx, r13
mov rax, qword [0x039f11b0]
mov r8, qword [rax + 0x40]
lea rcx, [rsp + 0x38]
call fcn.01174500
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cca4c
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
lea rdx, [rsp + 0x60]
mov rcx, qword [0x039f11b0]
call fcn.017cc110
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cca77
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
mov r9d, 0x800
lea r8, [rsp + 0x38]
mov edx, 0x41090064
call qword [rax + 0x1e8]
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15ccaaf
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
lea rdx, [rsp + 0x38]
mov rcx, qword [0x039f11b0]
call fcn.017cf850
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15ccada
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
mov rax, r13
mov qword [rsp + 0x88], rax
lea rcx, [0x01000000]
nop
cmp rax, 0x1f4
jge 0x15ccb0e
mov qword [rcx + rax*8 + 0x2e5f2f0], rax
add rax, 1
mov qword [rsp + 0x88], rax
jmp 0x15ccaf0
mov dword [rsp + 0x30], r13d
movzx esi, byte [rsp + 0xf0]
test sil, sil
je 0x15ccb91
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov bl, byte [rsp + 0xf8]
movzx r9d, bl
movzx r8d, byte [rsp + 0x49]
movzx edx, byte [rsp + 0x4a]
mov rcx, qword [0x039f11b0]
call fcn.017d40f0
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15ccb66
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
mov r8b, 1
xor edx, edx
mov rcx, qword [0x039f11b0]
call fcn.017ebd80
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15ccb98
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
mov bl, byte [rsp + 0xf8]
movzx eax, byte [rsp + 0x48]
test al, al
je 0x15ccca1
mov qword [rsp + 0xf8], r13
mov rax, qword [0x039f11b0]
lea rdx, [rsp + 0xf8]
mov rcx, qword [rax + 0xb90]
call fcn.01884990
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15ccbf6
mov rcx, qword [rsp + 0xf8]
test rcx, rcx
je 0x15ccbe6
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
mov rcx, qword [rsp + 0xf8]
add rcx, 0x18
mov rax, qword [rcx]
mov edx, 4
lea r8d, [rdx - 3]
call qword [rax + 0xe8]
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15ccc42
mov rcx, qword [rsp + 0xf8]
test rcx, rcx
je 0x15ccc32
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
mov rax, qword [0x039f11b0]
mov r8b, 1
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rax + 0xb90]
call fcn.01885000
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15ccc8e
mov rcx, qword [rsp + 0xf8]
test rcx, rcx
je 0x15ccc7e
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
mov rcx, qword [rsp + 0xf8]
test rcx, rcx
je 0x15ccca1
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
call fcn.01915740
mov rcx, rax
call fcn.01915750
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cccc8
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
mov rcx, qword [0x039f11b0]
cmp qword [rcx + 0xb90], 0
je 0x15ccd1e
mov rdx, qword [rcx + 0x168]
test rdx, rdx
je 0x15cccea
mov rax, rdx
jmp 0x15ccced
mov rax, rcx
movzx eax, byte [rax + 0x248]
shr al, 2
test al, 1
jne 0x15ccd1e
test rdx, rdx
je 0x15ccd05
mov rax, rdx
jmp 0x15ccd08
mov rax, rcx
movzx eax, byte [rax + 0x248]
shr al, 3
test al, 1
jne 0x15ccd1e
cmp byte [r12 + 8], 0
je 0x15ccd53
cmp qword [rcx + 0x168], 0
je 0x15ccd31
mov rax, qword [rcx + 0x168]
jmp 0x15ccd34
mov rax, rcx
cmp qword [rax + 0x168], 0
je 0x15ccd45
mov rax, qword [rax + 0x168]
movzx eax, byte [rax + 0x248]
shr al, 5
test al, 1
je 0x15ccdc7
call fcn.0115c5b0
mov rdi, rax
mov rcx, qword [0x039f11b0]
cmp qword [rcx + 0x168], 0
je 0x15ccd73
mov rcx, qword [rcx + 0x168]
movzx eax, byte [rcx + 0x248]
shr al, 3
test al, 1
jne 0x15ccd8d
cmp byte [r12 + 8], 0
jne 0x15ccd8d
xor ecx, ecx
jmp 0x15ccd8f
mov cl, 1
call fcn.0180c5f0
test eax, eax
je 0x15ccda0
mov rcx, rdi
call fcn.0109c0c0
call fcn.0115c5b0
mov rdi, rax
mov rcx, qword [0x039f11b0]
call fcn.011758c0
test eax, eax
je 0x15ccdc0
mov rcx, rdi
call fcn.0109c0c0
mov rcx, qword [0x039f11b0]
cmp qword [rcx + 0x168], 0
je 0x15ccdd8
mov rcx, qword [rcx + 0x168]
mov rcx, qword [rcx + 0x138]
call fcn.017c2a80
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15ccdfe
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
test sil, sil
je 0x15ccfe4
mov rcx, qword [0x039f11b0]
cmp qword [rcx + 0x168], 0
je 0x15cce1f
mov rcx, qword [rcx + 0x168]
add rcx, 0x2f0
call fcn.017a1f20
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cce45
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
mov rcx, qword [0x039f11b0]
cmp qword [rcx + 0x168], 0
je 0x15cce5d
mov rcx, qword [rcx + 0x168]
add rcx, 0x708
lea r8, [0x01177d50]
mov edx, 3
call fcn.017a30f0
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cce8f
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
mov rcx, qword [0x039f11b0]
cmp qword [rcx + 0x168], 0
je 0x15ccea7
mov rcx, qword [rcx + 0x168]
add rcx, 0x308
lea r8, [0x01177d50]
mov edx, 1
call fcn.017a30f0
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cced9
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
mov rcx, qword [0x039f11b0]
cmp qword [rcx + 0x168], 0
je 0x15ccef1
mov rcx, qword [rcx + 0x168]
add rcx, 0x508
lea r8, [0x01177d50]
mov edx, 2
call fcn.017a30f0
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15ccf23
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
mov r9, qword [0x039f11b0]
mov rdx, qword [r9 + 0x168]
test rdx, rdx
je 0x15ccf3b
mov rax, rdx
jmp 0x15ccf3e
mov rax, r9
movzx eax, byte [rax + 0x248]
shr al, 2
test al, 1
jne 0x15ccf8d
test rdx, rdx
je 0x15ccf54
mov r9, rdx
lea rcx, [r9 + 0x908]
lea r8, [0x01177d50]
mov edx, 4
call fcn.017a30f0
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15ccf86
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
mov r9, qword [0x039f11b0]
test bl, bl
je 0x15ccfeb
cmp qword [r9 + 0x168], 0
je 0x15ccfa4
mov rax, qword [r9 + 0x168]
jmp 0x15ccfa7
mov rax, r9
movzx eax, byte [rax + 0x248]
shr al, 3
test al, 1
jne 0x15ccfeb
mov rcx, qword [r9 + 0xb90]
call fcn.0188df00
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15ccfdb
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
mov r9, qword [0x039f11b0]
jmp 0x15ccfeb
mov r9, qword [0x039f11b0]
cmp byte [r12 + 8], 0
je 0x15cd013
cmp qword [r9 + 0x168], 0
je 0x15cd004
mov r9, qword [r9 + 0x168]
or qword [r9 + 0x248], 8
mov r9, qword [0x039f11b0]
test sil, sil
je 0x15cd08b
mov rcx, r9
call fcn.017e1e90
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cd03a
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
cmp byte [r12 + 0xb], 0
je 0x15cd084
mov rcx, qword [0x039f11b0]
add rcx, 0x98
mov r9d, 1
xor r8d, r8d
mov rdx, r9
call fcn.01806a60
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cd07b
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
mov r9, qword [0x039f11b0]
jmp 0x15cd08b
mov r9, qword [0x039f11b0]
lea r8, [r9 + 0x148]
lea rdx, [0x015cd6e8]
movabs rcx, 0x4000000000000000
call fcn.0189fb50
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cd0c2
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
mov qword [rsp + 0x40], r13
mov r9, qword [0x039f11b0]
lea r8, [rsp + 0x40]
lea rdx, [0x015cd6c0]
movabs rcx, 0xc000000000000000
call fcn.0189fb50
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cd114
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x15cd104
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
mov r8, qword [0x039f11b0]
lea rdx, [r8 + 0x150]
mov rcx, qword [rsp + 0x40]
call fcn.018973d0
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cd157
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x15cd147
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x15cd167
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov qword [rsp + 0x40], r13
mov r9, qword [0x039f11b0]
lea r8, [rsp + 0x40]
lea rdx, [0x015cd6a0]
movabs rcx, 0xc000000000000000
call fcn.0189fb50
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cd1b9
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x15cd1a9
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
mov r8, qword [0x039f11b0]
lea rdx, [r8 + 0x158]
mov rcx, qword [rsp + 0x40]
call fcn.018973d0
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cd1fc
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x15cd1ec
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x15cd20c
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov qword [rsp + 0x40], r13
mov r9, qword [0x039f11b0]
lea r8, [rsp + 0x40]
lea rdx, [0x015cd688]
movabs rcx, 0xc000000000000000
call fcn.0189fb50
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cd25e
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x15cd24e
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
mov r8, qword [0x039f11b0]
lea rdx, [r8 + 0x160]
mov rcx, qword [rsp + 0x40]
call fcn.018973d0
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cd2a1
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x15cd291
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x15cd2b1
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov qword [rsp + 0x40], r13
cmp byte [r12 + 8], 0
je 0x15cd2de
mov rax, qword [0x039f11b0]
cmp qword [rax + 0x168], 0
je 0x15cd2d6
mov rax, qword [rax + 0x168]
and qword [rax + 0x248], 0xfffffffffffffff7
lea rcx, [0x03e488c0]
call fcn.01787630
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cd315
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x15cd305
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
cmp dword [0x039f3280], 1
jne 0x15cd35a
mov edx, 0x39
mov rcx, qword [0x039f11b0]
call fcn.017cb640
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cd35a
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x15cd34a
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
mov rdx, qword [rsp + 0x70]
mov rcx, qword [0x039f11b0]
call fcn.017e5310
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cd396
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x15cd386
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
xor al, al
je 0x15cd451
mov rcx, qword [0x039f11b0]
cmp qword [rcx + 0x88], 0
je 0x15cd41a
mov rax, qword [rcx + 0x88]
test byte [rax - 5], 0x40
jne 0x15cd3c2
movsxd rax, dword [rax - 4]
jmp 0x15cd3d4
mov rcx, qword [rax]
call qword [sym.imp.OLEAUT32.dll_SysAllocStringByteLen]
mov eax, eax
mov rcx, qword [0x039f11b0]
shr rax, 1
je 0x15cd41a
add rcx, 0x88
xor r8d, r8d
lea rdx, [0x015cd684]
call fcn.012d1c90
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cd451
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x15cd40a
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
lea rdx, [0x015cd684]
call fcn.017e5310
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cd451
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x15cd441
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
test sil, sil
je 0x15cd486
call fcn.01822500
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cd486
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x15cd476
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
cmp byte [r12 + 8], 0
je 0x15cd4ae
mov rax, qword [0x039f11b0]
cmp qword [rax + 0x168], 0
je 0x15cd4a6
mov rax, qword [rax + 0x168]
or qword [rax + 0x248], 8
test sil, sil
je 0x15cd523
mov rcx, qword [0x039f11b0]
cmp qword [rcx + 0x168], 0
je 0x15cd4cd
mov rax, qword [rcx + 0x168]
jmp 0x15cd4d0
mov rax, rcx
movzx eax, byte [rax + 0x248]
shr al, 2
test al, 1
jne 0x15cd52a
cmp dword [0x039f3c68], 0
je 0x15cd52a
mov rcx, r12
call fcn.015c4ed0
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cd51a
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x15cd50a
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
mov rcx, qword [0x039f11b0]
jmp 0x15cd52a
mov rcx, qword [0x039f11b0]
mov rdx, qword [rcx + 0x168]
test rdx, rdx
je 0x15cd53b
mov rax, rdx
jmp 0x15cd53e
mov rax, rcx
movzx eax, byte [rax + 0x248]
shr al, 1
test al, 1
je 0x15cd5b3
test rdx, rdx
je 0x15cd555
mov rax, rdx
jmp 0x15cd558
mov rax, rcx
movzx eax, byte [rax + 0x248]
shr al, 3
test al, 1
jne 0x15cd5b3
cmp dword [0x039f3ca8], 0
je 0x15cd5b3
add rcx, 0xd90
call fcn.0188e9f0
test eax, eax
jns 0x15cd5b3
xor edx, edx
mov ecx, 0xc121001b
call fcn.017da2d0
mov edi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jns 0x15cd5b3
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x15cd5a6
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5e3
mov edi, r13d
mov dword [rsp + 0x30], r13d
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x15cd5cc
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rsp + 0x38]
call fcn.0116a920
nop
jmp 0x15cd5f0
xor edx, edx
mov ecx, 0xc1210000
call fcn.017da2d0
nop
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x15cd600
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov eax, edi
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret