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

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x208
mov dword [rsp + 0x20], 0
jmp 0x18005fbaa
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x210]
mov eax, dword [rax + 0x39000]
cmp dword [rsp + 0x20], eax
jge 0x18005fe2d
mov rax, qword [rsp + 0x210]
mov eax, dword [rax + 0x39000]
mov ecx, dword [rsp + 0x220]
add ecx, eax
mov eax, ecx
sub eax, dword [rsp + 0x20]
cmp eax, 3
jge 0x18005fc95
mov eax, 4
imul rax, rax, 2
lea rcx, [0x180098500]
mov eax, dword [rcx + rax]
xor eax, 0xffffef8d
mov ecx, 4
imul rcx, rcx, 2
lea rdx, [0x180098500]
mov dword [rdx + rcx], eax
mov eax, dword [rsp + 0x20]
mov dword [rsp + 0x54], eax
jmp 0x18005fc27
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0x210]
mov eax, dword [rax + 0x39000]
cmp dword [rsp + 0x54], eax
jge 0x18005fc71
movsxd rax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x20]
mov edx, dword [rsp + 0x54]
sub edx, ecx
mov ecx, edx
movsxd rcx, ecx
mov rdx, qword [rsp + 0x210]
mov r8, qword [rsp + 0x210]
movzx eax, byte [r8 + rax + 0x38ff6]
mov byte [rdx + rcx + 0x38ff6], al
jmp 0x18005fc1d
mov dword [rsp + 0x6c], SafeArrayCopy
call qword [sym.imp.USER32.dll_GetDesktopWindow]
mov ecx, dword [rsp + 0x6c]
movsxd rcx, ecx
lea rdx, [0x180098500]
mov dword [rdx + rcx*4], eax
jmp 0x18005fe2d
mov eax, 4
imul rax, rax, 1
lea rcx, [0x180098500]
mov eax, dword [rcx + rax]
xor eax, 0xffffef73
mov ecx, 4
imul rcx, rcx, 1
lea rdx, [0x180098500]
mov dword [rdx + rcx], eax
mov dword [rsp + 0x38], 0
jmp 0x18005fcd4
mov eax, dword [rsp + 0x38]
inc eax
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x38], 3
jge 0x18005fd5a
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x210]
cmp eax, dword [rcx + 0x39000]
jge 0x18005fd1b
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov eax, ecx
cdqe
mov rcx, qword [rsp + 0x210]
movzx eax, byte [rcx + rax + 0x38ff6]
mov byte [rsp + 0x27], al
jmp 0x18005fd47
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x210]
sub eax, dword [rcx + 0x39000]
cdqe
mov rcx, qword [rsp + 0x218]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x27], al
movsxd rax, dword [rsp + 0x38]
movzx ecx, byte [rsp + 0x27]
mov byte [rsp + rax + 0x64], cl
jmp 0x18005fcca
lea rcx, [rsp + 0x64]
call fcn.18005f380
mov ecx, 1
imul rcx, rcx, 0
mov r8d, eax
movzx edx, byte [rsp + rcx + 0x64]
mov rcx, qword [rsp + 0x210]
call fcn.18005f9c0
lea rax, [0x18008d010]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x80], 0
mov rax, qword [rsp + 0xb0]
movzx eax, byte [rax]
movsx eax, al
cmp eax, 0x61
jne 0x18005fdfd
call qword [sym.imp.USER32.dll_GetDesktopWindow]
mov qword [rsp + 0x80], rax
cmp qword [rsp + 0x80], 0
jne 0x18005fdfd
mov eax, 4
imul rax, rax, 0xb
lea rcx, [0x180098500]
mov edx, dword [rcx + rax]
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov ecx, 4
imul rcx, rcx, 0xc
lea rdx, [0x180098500]
mov dword [rdx + rcx], eax
mov eax, 4
imul rax, rax, 1
lea rcx, [0x180098500]
mov eax, dword [rcx + rax]
xor eax, 0xffffef58
mov ecx, 4
imul rcx, rcx, 1
lea rdx, [0x180098500]
mov dword [rdx + rcx], eax
jmp 0x18005fba0
mov rax, qword [rsp + 0x210]
mov ecx, dword [rsp + 0x20]
mov eax, dword [rax + 0x39000]
sub eax, ecx
mov rcx, qword [rsp + 0x210]
mov dword [rcx + 0x39000], eax
mov dword [rsp + 0x60], 0
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x4c], 0
mov eax, 1
mov word [rsp + 0x44], ax
movsx rax, word [rsp + 0x44]
lea rcx, [0x180098500]
cmp dword [rcx + rax*4], 1
jne 0x18005fea6
movsx rax, word [rsp + 0x44]
lea rcx, [0x180098500]
mov eax, dword [rcx + rax*4]
inc eax
movsx rcx, word [rsp + 0x44]
lea rdx, [0x180098500]
mov dword [rdx + rcx*4], eax
cmp dword [rsp + 0x220], 0
jle 0x180060893
cmp dword [rsp + 0x220], 3
jl 0x1800601f1
mov dword [rsp + 0x30], 0
mov eax, SafeArrayUnaccessData
mov word [rsp + 0x3c], ax
movsx rax, word [rsp + 0x3c]
lea rcx, [0x180098500]
cmp dword [rcx + rax*4], 1
jne 0x18005ff09
movsx rax, word [rsp + 0x3c]
lea rcx, [0x180098500]
mov eax, dword [rcx + rax*4]
inc eax
movsx rcx, word [rsp + 0x3c]
lea rdx, [0x180098500]
mov dword [rdx + rcx*4], eax
mov dword [rsp + 0x78], 0
mov eax, dword [rsp + 0x78]
cmp eax, 0xe6c36971
jne 0x18005ff37
lea r8, str.Local6929620488034496827487794415147252822758751521882439000x
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_OpenMutexA]
mov qword [rsp + 0xe0], rax
jmp 0x18005ff5f
mov eax, 4
imul rax, rax, 0xb
lea rcx, [0x180098500]
mov eax, dword [rcx + rax]
inc eax
mov ecx, 4
imul rcx, rcx, 0xb
lea rdx, [0x180098500]
mov dword [rdx + rcx], eax
mov rcx, qword [rsp + 0x218]
call fcn.18005f380
mov dword [rsp + 0x68], eax
movsxd rax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x210]
movsx eax, word [rcx + rax*2 + 0x30008]
mov dword [rsp + 0x5c], eax
jmp 0x18005ffa5
movsxd rax, dword [rsp + 0x5c]
imul rax, rax, 6
mov rcx, qword [rsp + 0x210]
movsx eax, word [rcx + rax + 8]
mov dword [rsp + 0x5c], eax
cmp dword [rsp + 0x5c], 0xffffffff
je 0x1800601ec
mov eax, dword [rsp + 0x5c]
add eax, 0x8000
mov rcx, qword [rsp + 0x210]
sub eax, dword [rcx + 0x38ffc]
cdq
and edx, 0x7fff
add eax, edx
and eax, 0x7fff
sub eax, edx
mov ecx, 0x8000
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x58], eax
mov eax, SafeArrayGetDim
mov word [rsp + 0x40], ax
movsx rax, word [rsp + 0x40]
lea rcx, [0x180098500]
cmp dword [rcx + rax*4], 1
jne 0x180060023
movsx rax, word [rsp + 0x40]
lea rcx, [0x180098500]
mov eax, dword [rcx + rax*4]
inc eax
movsx rcx, word [rsp + 0x40]
lea rdx, [0x180098500]
mov dword [rdx + rcx*4], eax
mov dword [rsp + 0x20], 0
jmp 0x180060037
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 3
jge 0x180060103
cmp dword [rsp + 0x20], 0
jge 0x180060078
mov rax, qword [rsp + 0x210]
mov eax, dword [rax + 0x38ffc]
add eax, dword [rsp + 0x20]
and eax, 0x7fff
cdqe
mov rcx, qword [rsp + 0x210]
movzx eax, byte [rcx + rax + 0x30ff6]
mov byte [rsp + 0x28], al
jmp 0x18006008d
movsxd rax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x218]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x28], al
mov eax, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x20]
sub ecx, eax
mov eax, ecx
test eax, eax
jge 0x1800600d0
mov rax, qword [rsp + 0x210]
mov eax, dword [rax + 0x38ffc]
add eax, dword [rsp + 0x20]
sub eax, dword [rsp + 0x58]
and eax, 0x7fff
cdqe
mov rcx, qword [rsp + 0x210]
movzx eax, byte [rcx + rax + 0x30ff6]
mov byte [rsp + 0x24], al
jmp 0x1800600ee
mov eax, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x20]
sub ecx, eax
mov eax, ecx
cdqe
mov rcx, qword [rsp + 0x218]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x24], al
movzx eax, byte [rsp + 0x28]
movzx ecx, byte [rsp + 0x24]
cmp eax, ecx
je 0x1800600fe
jmp 0x180060103
jmp 0x18006002d
cmp dword [rsp + 0x20], 3
jne 0x1800601e7
movsxd rax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x58]
mov dword [rsp + rax*8 + 0x100], ecx
movsxd rax, dword [rsp + 0x30]
mov dword [rsp + rax*8 + 0x104], 3
lea rax, [0x18008d014]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x90], 0
mov rax, qword [rsp + 0xc0]
movzx eax, byte [rax]
movsx eax, al
cmp eax, 0x61
jne 0x1800601a9
call qword [sym.imp.USER32.dll_GetDesktopWindow]
mov qword [rsp + 0x90], rax
cmp qword [rsp + 0x90], 0
jne 0x1800601a9
mov eax, 4
imul rax, rax, 0xb
lea rcx, [0x180098500]
mov edx, dword [rcx + rax]
mov rcx, qword [rsp + 0x90]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov ecx, 4
imul rcx, rcx, 0xc
lea rdx, [0x180098500]
mov dword [rdx + rcx], eax
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0x20
jl 0x1800601bc
jmp 0x1800601ec
mov eax, 4
imul rax, rax, 1
lea rcx, [0x180098500]
mov eax, dword [rcx + rax]
xor eax, 0xffffeef1
mov ecx, 4
imul rcx, rcx, 1
lea rdx, [0x180098500]
mov dword [rdx + rcx], eax
jmp 0x18005ff8b
jmp 0x18006027c
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x68], 0xffffffff
lea rax, [0x18008d058]
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xa0], 0
mov rax, qword [rsp + 0xb8]
movzx eax, byte [rax]
movsx eax, al
cmp eax, 0x61
jne 0x18006027c
call qword [sym.imp.USER32.dll_GetDesktopWindow]
mov qword [rsp + 0xa0], rax
cmp qword [rsp + 0xa0], 0
jne 0x18006027c
mov eax, 4
imul rax, rax, 0xb
lea rcx, [0x180098500]
mov edx, dword [rcx + rax]
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov ecx, 4
imul rcx, rcx, 0xc
lea rdx, [0x180098500]
mov dword [rdx + rcx], eax
cmp dword [rsp + 0x30], 0
jle 0x1800606f4
mov dword [rsp + 0xac], 0
mov eax, dword [rsp + 0xac]
cmp eax, 0xac0a7589
jne 0x1800602bb
lea r8, str.Local24345406810928689206708270079164032014882152409731200x
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_OpenMutexA]
mov qword [rsp + 0xd0], rax
jmp 0x1800602e3
mov eax, 4
imul rax, rax, 0xb
lea rcx, [0x180098500]
mov eax, dword [rcx + rax]
inc eax
mov ecx, 4
imul rcx, rcx, 0xb
lea rdx, [0x180098500]
mov dword [rdx + rcx], eax
mov dword [rsp + 0x2c], 3
mov eax, dword [rsp + 0x220]
cmp dword [rsp + 0x2c], eax
jge 0x1800604b0
lea rax, [0x18008d0e0]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x70], 0
mov rax, qword [rsp + 0xc8]
movzx eax, byte [rax]
movsx eax, al
cmp eax, 0x61
jne 0x18006036b
call qword [sym.imp.USER32.dll_GetDesktopWindow]
mov qword [rsp + 0x70], rax
cmp qword [rsp + 0x70], 0
jne 0x18006036b
mov eax, 4
imul rax, rax, 0xb
lea rcx, [0x180098500]
mov edx, dword [rcx + rax]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov ecx, 4
imul rcx, rcx, 0xc
lea rdx, [0x180098500]
mov dword [rdx + rcx], eax
mov dword [rsp + 0x50], 0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x20], eax
jmp 0x180060387
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x30]
cmp dword [rsp + 0x20], eax
jge 0x180060490
cmp dword [rsp + 0x2c], 0
jge 0x1800603cb
mov rax, qword [rsp + 0x210]
mov eax, dword [rax + 0x38ffc]
add eax, dword [rsp + 0x2c]
and eax, 0x7fff
cdqe
mov rcx, qword [rsp + 0x210]
movzx eax, byte [rcx + rax + 0x30ff6]
mov byte [rsp + 0x25], al
jmp 0x1800603e0
movsxd rax, dword [rsp + 0x2c]
mov rcx, qword [rsp + 0x218]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x25], al
movsxd rax, dword [rsp + 0x20]
mov eax, dword [rsp + rax*8 + 0x100]
mov ecx, dword [rsp + 0x2c]
sub ecx, eax
mov eax, ecx
test eax, eax
jge 0x180060433
mov rax, qword [rsp + 0x210]
mov eax, dword [rax + 0x38ffc]
add eax, dword [rsp + 0x2c]
movsxd rcx, dword [rsp + 0x20]
sub eax, dword [rsp + rcx*8 + 0x100]
and eax, 0x7fff
cdqe
mov rcx, qword [rsp + 0x210]
movzx eax, byte [rcx + rax + 0x30ff6]
mov byte [rsp + 0x26], al
jmp 0x180060459
movsxd rax, dword [rsp + 0x20]
mov eax, dword [rsp + rax*8 + 0x100]
mov ecx, dword [rsp + 0x2c]
sub ecx, eax
mov eax, ecx
cdqe
mov rcx, qword [rsp + 0x218]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x26], al
movzx eax, byte [rsp + 0x25]
movzx ecx, byte [rsp + 0x26]
cmp eax, ecx
jne 0x18006048b
movsxd rax, dword [rsp + 0x20]
mov rax, qword [rsp + rax*8 + 0x100]
movsxd rcx, dword [rsp + 0x50]
mov qword [rsp + rcx*8 + 0x100], rax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
jmp 0x18006037d
cmp dword [rsp + 0x50], 0
jne 0x180060499
jmp 0x1800604b0
mov eax, dword [rsp + 0x2c]
inc eax
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x30], eax
jmp 0x1800602eb
mov eax, 8
imul rax, rax, 0
mov ecx, dword [rsp + 0x2c]
mov dword [rsp + rax + 0x104], ecx
cmp dword [rsp + 0x4c], 0
jle 0x180060637
mov eax, 8
imul rax, rax, 0
mov ecx, dword [rsp + 0x4c]
inc ecx
cmp dword [rsp + rax + 0x104], ecx
jle 0x1800605b4
movzx edx, byte [rsp + 0x60]
mov rcx, qword [rsp + 0x210]
call fcn.18005f3f0
mov eax, 4
imul rax, rax, 1
lea rcx, [0x180098500]
mov edx, 4
imul rdx, rdx, 2
lea r8, [0x180098500]
mov eax, dword [rcx + rax]
mov dword [r8 + rdx], eax
mov eax, 4
imul rax, rax, 2
lea rcx, [0x180098500]
mov edx, 4
imul rdx, rdx, 1
lea r8, [0x180098500]
mov edx, dword [r8 + rdx]
cmp dword [rcx + rax], edx
jae 0x18006057b
mov eax, 4
imul rax, rax, 3
lea rcx, [0x180098500]
mov edx, dword [rcx + rax]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDlgItem]
mov ecx, 4
imul rcx, rcx, 2
lea rdx, [0x180098500]
mov dword [rdx + rcx], eax
mov eax, 8
imul rax, rax, 0
mov rax, qword [rsp + rax + 0x100]
mov qword [rsp + 0x48], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x218]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x34], 1
jmp 0x180060632
mov r8d, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x210]
call fcn.18005f550
mov dword [rsp + 0x7c], 0
mov eax, dword [rsp + 0x7c]
cmp eax, 0xda75c31
jne 0x1800605f8
lea r8, str.Local7229034402092940725781081609914179241363830560966031836x
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_OpenMutexA]
mov qword [rsp + 0xf0], rax
jmp 0x180060620
mov eax, 4
imul rax, rax, 0xb
lea rcx, [0x180098500]
mov eax, dword [rcx + rax]
inc eax
mov ecx, 4
imul rcx, rcx, 0xb
lea rdx, [0x180098500]
mov dword [rdx + rcx], eax
mov eax, dword [rsp + 0x4c]
dec eax
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x4c], 0
jmp 0x1800606ef
mov dword [rsp + 0x98], SafeArrayUnaccessData
call qword [sym.imp.USER32.dll_GetDesktopWindow]
mov ecx, dword [rsp + 0x98]
movsxd rcx, ecx
lea rdx, [0x180098500]
mov dword [rdx + rcx*4], eax
mov eax, 8
imul rax, rax, 0
mov rax, qword [rsp + rax + 0x100]
mov qword [rsp + 0x48], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x218]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x34], 1
mov dword [rsp + 0x88], 0
mov eax, dword [rsp + 0x88]
cmp eax, 0x24a61a61
jne 0x1800606c7
lea r8, str.Local268787880018931667041267277920636586801002092760476219048x
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_OpenMutexA]
mov qword [rsp + 0xd8], rax
jmp 0x1800606ef
mov eax, 4
imul rax, rax, 0xb
lea rcx, [0x180098500]
mov eax, dword [rcx + rax]
inc eax
mov ecx, 4
imul rcx, rcx, 0xb
lea rdx, [0x180098500]
mov dword [rdx + rcx], eax
jmp 0x18006077a
mov eax, 4
imul rax, rax, 2
lea rcx, [0x180098500]
mov eax, dword [rcx + rax]
xor eax, 0xffffee2e
mov ecx, 4
imul rcx, rcx, 2
lea rdx, [0x180098500]
mov dword [rdx + rcx], eax
cmp dword [rsp + 0x4c], 0
jle 0x180060750
mov r8d, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x210]
call fcn.18005f550
mov eax, dword [rsp + 0x4c]
dec eax
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x4c], 0
jmp 0x18006077a
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x218]
movzx edx, byte [rcx + rax]
mov rcx, qword [rsp + 0x210]
call fcn.18005f3f0
mov dword [rsp + 0x34], 1
cmp dword [rsp + 0x34], 0
jle 0x18006088e
cmp dword [rsp + 0x220], 3
jl 0x1800607b9
mov rcx, qword [rsp + 0x218]
call fcn.18005f380
mov r8d, eax
mov rax, qword [rsp + 0x218]
movzx edx, byte [rax]
mov rcx, qword [rsp + 0x210]
call fcn.18005f9c0
jmp 0x180060800
mov rax, qword [rsp + 0x210]
movsxd rax, dword [rax + 0x39000]
mov rcx, qword [rsp + 0x210]
mov rdx, qword [rsp + 0x218]
movzx edx, byte [rdx]
mov byte [rcx + rax + 0x38ff6], dl
mov rax, qword [rsp + 0x210]
mov eax, dword [rax + 0x39000]
inc eax
mov rcx, qword [rsp + 0x210]
mov dword [rcx + 0x39000], eax
mov rax, qword [rsp + 0x218]
inc rax
mov qword [rsp + 0x218], rax
mov eax, dword [rsp + 0x220]
dec eax
mov dword [rsp + 0x220], eax
mov dword [rsp + 0xa8], 0
mov eax, dword [rsp + 0xa8]
cmp eax, 0x454e7d1
jne 0x180060857
lea r8, str.Local2024311682641636816305150835770992551137408737226480x
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_OpenMutexA]
mov qword [rsp + 0xe8], rax
jmp 0x18006087f
mov eax, 4
imul rax, rax, 0xb
lea rcx, [0x180098500]
mov eax, dword [rcx + rax]
inc eax
mov ecx, 4
imul rcx, rcx, 0xb
lea rdx, [0x180098500]
mov dword [rdx + rcx], eax
mov eax, dword [rsp + 0x34]
dec eax
mov dword [rsp + 0x34], eax
jmp 0x18006077a
jmp 0x18005fea6
add rsp, 0x208
ret