Function at 0x14008b1e0
Capabilities:
Authenticate hmac

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push r13
push r14
push r15
sub rsp, 0x5e0
mov rax, qword [0x14015d080]
xor rax, rsp
mov qword [rsp + 0x5d0], rax
mov dword [rsp + 0x550], 0
mov byte [rsp + 0x540], 0x18
mov al, 0x59
mov cl, 0x48
movzx edx, cl
mov r8b, 0x5c
movzx r9d, al
mov r10b, 0x4c
movzx r11d, al
xor ebx, ebx
xor al, 0x18
mov byte [rsp + 0x541], al
xor cl, 0x18
mov byte [rsp + 0x542], cl
xor dl, 0x18
mov byte [rsp + 0x543], dl
xor r8b, 0x18
mov byte [rsp + 0x544], r8b
xor r9b, 0x18
mov byte [rsp + 0x545], r9b
xor r10b, 0x18
mov byte [rsp + 0x546], r10b
xor r11b, 0x18
mov byte [rsp + 0x547], r11b
mov byte [rsp + 0x548], bl
lea rcx, [rsp + 0x541]
call fcn.1400df81c
mov qword [rsp + 0xa8], rax
movdqa xmm1, xmmword [0x14013e0c0]
movdqu xmmword [rsp + 0x30], xmm1
mov cl, 0x3c
mov dl, 0x2f
mov r8b, 0x38
mov r10b, 0x6f
mov r11b, 2
mov bl, 0x31
mov dil, 0x32
mov sil, 0x3a
mov r14b, 0x73
movzx r15d, bl
movzx r12d, dil
movzx r13d, sil
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd r9d, xmm1
xor al, r9b
mov byte [rsp + 0x31], al
xor byte [rsp + 0x32], r9b
xor byte [rsp + 0x33], r9b
xor byte [rsp + 0x34], r9b
xor byte [rsp + 0x35], r9b
xor byte [rsp + 0x36], r9b
xor byte [rsp + 0x37], r9b
xor byte [rsp + 0x38], r9b
xor byte [rsp + 0x39], r9b
xor byte [rsp + 0x3a], r9b
xor byte [rsp + 0x3b], r9b
xor byte [rsp + 0x3c], r9b
xor byte [rsp + 0x3d], r9b
xor byte [rsp + 0x3e], r9b
xor byte [rsp + 0x3f], r9b
xor cl, r9b
mov byte [rsp + 0x40], cl
xor dl, r9b
mov byte [rsp + 0x41], dl
xor r8b, r9b
mov byte [rsp + 0x42], r8b
xor r10b, r9b
mov byte [rsp + 0x43], r10b
xor r11b, r9b
mov byte [rsp + 0x44], r11b
xor bl, r9b
mov byte [rsp + 0x45], bl
xor dil, r9b
mov byte [rsp + 0x46], dil
xor sil, r9b
mov byte [rsp + 0x47], sil
xor r14b, r9b
mov byte [rsp + 0x48], r14b
xor r15b, r9b
mov byte [rsp + 0x49], r15b
xor r12b, r9b
mov byte [rsp + 0x4a], r12b
xor r13b, r9b
mov byte [rsp + 0x4b], r13b
mov byte [rsp + 0x4c], 0
mov r8, qword [rsp + 0xa8]
lea rdx, [rsp + 0x31]
lea rcx, [rsp + 0x560]
call fcn.14005df00
nop
lea rax, [rsp + 0x560]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x14008b3c3
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.140004920
mov dword [rsp + 0x550], 1
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14008b430
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rax, qword [rsp + 0x30]
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rax
mov r9d, ebx
lea r8, [rsp + 0x560]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor r8d, r8d
movsxd rdx, eax
lea rcx, [rsp + 0x30]
call fcn.1400047d0
lea rdx, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rdx, qword [rsp + 0x30]
call fcn.14008c770
nop
lea rcx, [rsp + 0x30]
call fcn.140004e00
xor ecx, ecx
call fcn.1400df3fc
mov rcx, rax
call fcn.1400d8ce0
lea rdx, [0x14008ade0]
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_AddVectoredExceptionHandler]
mov qword [rsp + 0xb0], rax
mov rax, qword [0x140182098]
test rax, rax
je 0x14008b749
cmp dword [rax + 8], 4
jl 0x14008b749
lea r13, vtable.plog::Record.0
mov qword [rsp + 0xe0], r13
mov dword [rsp + 0xf8], 4
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [rsp + 0xfc], eax
xor ebx, ebx
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0x108], 0x40
lea rcx, [rsp + 0x110]
call fcn.140004660
lea r15, str.WinMain
mov qword [rsp + 0x1f8], r15
lea r12, [0x14010f260]
mov qword [rsp + 0x200], r12
mov dword [rsp + 0x208], ebx
xorps xmm0, xmm0
movups xmmword [rsp + 0x210], xmm0
mov qword [rsp + 0x220], rbx
mov qword [rsp + 0x228], 0xf
mov byte [rsp + 0x210], bl
movups xmmword [rsp + 0x230], xmm0
mov qword [rsp + 0x240], rbx
mov qword [rsp + 0x248], 7
mov word [rsp + 0x230], bx
lea rcx, [rsp + 0xe8]
call fcn.1400cead8
nop
movdqa xmm1, xmmword [0x14013e080]
movdqu xmmword [rsp + 0x78], xmm1
movdqa xmm2, xmmword [0x14013e420]
movdqu xmmword [rsp + 0x88], xmm2
mov dl, 0x28
mov r8b, 0x34
mov r9b, 0x39
mov r10b, 0x7c
mov r11b, 0x2e
mov bl, 0x35
mov dil, 0x38
movzx esi, r9b
mov r14b, 0x72
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rsp + 0x79], al
xor byte [rsp + 0x7a], cl
xor byte [rsp + 0x7b], cl
xor byte [rsp + 0x7c], cl
xor byte [rsp + 0x7d], cl
xor byte [rsp + 0x7e], cl
xor byte [rsp + 0x7f], cl
xor byte [rsp + 0x80], cl
xor byte [rsp + 0x81], cl
xor byte [rsp + 0x82], cl
xor byte [rsp + 0x83], cl
xor byte [rsp + 0x84], cl
xor byte [rsp + 0x85], cl
xor byte [rsp + 0x86], cl
xor byte [rsp + 0x87], cl
movd eax, xmm2
xor al, cl
mov byte [rsp + 0x88], al
xor byte [rsp + 0x89], cl
xor byte [rsp + 0x8a], cl
xor byte [rsp + 0x8b], cl
xor byte [rsp + 0x8c], cl
xor byte [rsp + 0x8d], cl
xor byte [rsp + 0x8e], cl
xor byte [rsp + 0x8f], cl
xor byte [rsp + 0x90], cl
xor byte [rsp + 0x91], cl
xor byte [rsp + 0x92], cl
xor byte [rsp + 0x93], cl
xor byte [rsp + 0x94], cl
xor byte [rsp + 0x95], cl
xor byte [rsp + 0x96], cl
xor byte [rsp + 0x97], cl
xor dl, cl
mov byte [rsp + 0x98], dl
xor r8b, cl
mov byte [rsp + 0x99], r8b
xor r9b, cl
mov byte [rsp + 0x9a], r9b
xor r10b, cl
mov byte [rsp + 0x9b], r10b
xor r11b, cl
mov byte [rsp + 0x9c], r11b
xor bl, cl
mov byte [rsp + 0x9d], bl
xor dil, cl
mov byte [rsp + 0x9e], dil
xor sil, cl
mov byte [rsp + 0x9f], sil
xor r14b, cl
mov byte [rsp + 0xa0], r14b
mov byte [rsp + 0xa1], 0
lea rdx, [rsp + 0x79]
lea rcx, [rsp + 0x110]
call fcn.140002e70
lea rsi, [rsp + 0xe0]
mov rdi, qword [0x140182098]
mov rbx, qword [rdi + 0x10]
nop dword [rax]
cmp rbx, qword [rdi + 0x18]
je 0x14008b718
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 8]
add rbx, 8
jmp 0x14008b700
mov qword [rsp + 0xe0], r13
lea rcx, [rsp + 0x230]
call fcn.140004e00
lea rcx, [rsp + 0x210]
call fcn.140005010
lea rcx, [rsp + 0x110]
call fcn.140003200
jmp 0x14008b75e
lea r13, vtable.plog::Record.0
lea r15, str.WinMain
lea r12, [0x14010f260]
mov ecx, 0x38
call fcn.1400c8100
mov rbx, rax
mov qword [rsp + 0xa8], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
xor r14d, r14d
mov qword [rax], r14
mov qword [rax + 8], r14
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], r14
mov qword [rax + 0x20], r14
mov qword [rax + 0x28], r14
mov qword [rax + 0x30], r14
mov qword [rsp + 0x558], rax
movups xmmword [rsp + 0xb8], xmm0
mov qword [rsp + 0xc8], r14
mov qword [rsp + 0xd0], r14
lea r8d, [r14 + 6]
lea rdx, [0x140116914]
lea rcx, [rsp + 0xb8]
call fcn.1400059b0
lea rdx, [rsp + 0xb8]
mov rcx, rbx
call fcn.1400aecb0
mov ecx, 0xa0
call fcn.1400c8100
mov rdi, rax
mov qword [rsp + 0xa8], rax
xor edx, edx
mov r8d, 0xa0
mov rcx, rax
call fcn.1400cacc0
mov rdx, qword [rbx + 8]
mov rcx, rdi
call fcn.1400aff70
mov rdi, rax
mov qword [rsp + 0xa8], rax
lea ecx, [r14 + 0x28]
call fcn.1400c8100
mov qword [rsp + 0x550], rax
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov qword [rax + 0x20], rcx
mov r8, rdi
mov rdx, rbx
mov rcx, rax
call fcn.14009c6a0
mov rsi, rax
mov qword [rsp + 0x540], rax
mov rax, qword [0x140182098]
test rax, rax
je 0x14008ba17
cmp dword [rax + 8], 4
jl 0x14008ba17
mov qword [rsp + 0x260], r13
mov dword [rsp + 0x278], 4
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [rsp + 0x27c], eax
mov qword [rsp + 0x280], r14
mov qword [rsp + 0x288], 0x57
lea rcx, [rsp + 0x290]
call fcn.140004660
mov qword [rsp + 0x378], r15
mov qword [rsp + 0x380], r12
mov dword [rsp + 0x388], r14d
xorps xmm0, xmm0
movups xmmword [rsp + 0x390], xmm0
mov qword [rsp + 0x3a0], r14
mov qword [rsp + 0x3a8], 0xf
mov byte [rsp + 0x390], r14b
movups xmmword [rsp + 0x3b0], xmm0
mov qword [rsp + 0x3c0], r14
mov qword [rsp + 0x3c8], 7
mov word [rsp + 0x3b0], r14w
lea rcx, [rsp + 0x268]
call fcn.1400cead8
nop
movdqa xmm1, xmmword [0x14013e090]
movdqu xmmword [rsp + 0x30], xmm1
mov dl, 0x29
mov r8b, 0x36
mov r9b, 0x68
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rsp + 0x31], al
xor byte [rsp + 0x32], cl
xor byte [rsp + 0x33], cl
xor byte [rsp + 0x34], cl
xor byte [rsp + 0x35], cl
xor byte [rsp + 0x36], cl
xor byte [rsp + 0x37], cl
xor byte [rsp + 0x38], cl
xor byte [rsp + 0x39], cl
xor byte [rsp + 0x3a], cl
xor byte [rsp + 0x3b], cl
xor byte [rsp + 0x3c], cl
xor byte [rsp + 0x3d], cl
xor byte [rsp + 0x3e], cl
xor byte [rsp + 0x3f], cl
xor dl, cl
mov byte [rsp + 0x40], dl
xor r8b, cl
mov byte [rsp + 0x41], r8b
xor r9b, cl
mov byte [rsp + 0x42], r9b
mov byte [rsp + 0x43], r14b
lea rdx, [rsp + 0x31]
lea rcx, [rsp + 0x290]
call fcn.140002e70
lea r15, [rsp + 0x260]
mov r14, qword [0x140182098]
mov rdi, qword [r14 + 0x10]
nop
cmp rdi, qword [r14 + 0x18]
je 0x14008b9e8
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, r15
call qword [rax + 8]
add rdi, 8
jmp 0x14008b9d0
mov qword [rsp + 0x260], r13
lea rcx, [rsp + 0x3b0]
call fcn.140004e00
lea rcx, [rsp + 0x390]
call fcn.140005010
lea rcx, [rsp + 0x290]
call fcn.140003200
lea rdx, [rsp + 0x550]
mov rcx, rbx
call fcn.1400af400
mov edx, 0xffffffec
mov r8d, 0xa8
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
mov edx, 0xffffffec
mov r8d, 0x800a8
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
mov rcx, rbx
call fcn.1400af540
mov r15d, dword [rsp + 0x554]
mov r12d, dword [rsp + 0x550]
cmp byte [rsi + 1], 0
je 0x14008bab6
mov rdx, rbx
mov rcx, rsi
call fcn.14009f0a0
lea rdx, [rsp + 0x550]
mov rcx, rbx
call fcn.1400af400
mov r14d, dword [rsp + 0x554]
mov rdi, qword [rsp + 0x550]
cmp r14d, r15d
jne 0x14008baa2
cmp edi, r12d
je 0x14008ba67
mov rcx, rbx
call fcn.1400af540
test al, al
je 0x14008bab6
mov r15d, r14d
mov r12d, edi
jmp 0x14008ba67
mov rdi, qword [rsp + 0xa8]
test rdi, rdi
je 0x14008baeb
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rdi + 0x48]
call fcn.1400032a0
lea rcx, [rdi + 8]
call fcn.1400032a0
mov edx, 0xa0
mov rcx, rdi
call fcn.1400c838c
mov rax, qword [0x140182098]
test rax, rax
je 0x14008bd21
cmp dword [rax + 8], 4
jl 0x14008bd21
mov qword [rsp + 0x3d0], r13
mov dword [rsp + 0x3e8], 4
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [rsp + 0x3ec], eax
xor r15d, r15d
mov qword [rsp + 0x3f0], r15
mov qword [rsp + 0x3f8], 0x78
lea rcx, [rsp + 0x400]
call fcn.140004660
lea rax, str.WinMain
mov qword [rsp + 0x4e8], rax
lea rax, [0x14010f260]
mov qword [rsp + 0x4f0], rax
mov dword [rsp + 0x4f8], r15d
xorps xmm0, xmm0
movups xmmword [rsp + 0x500], xmm0
mov qword [rsp + 0x510], r15
mov qword [rsp + 0x518], 0xf
mov byte [rsp + 0x500], r15b
movups xmmword [rsp + 0x520], xmm0
mov qword [rsp + 0x530], r15
mov qword [rsp + 0x538], 7
mov word [rsp + 0x520], r15w
lea rcx, [rsp + 0x3d8]
call fcn.1400cead8
nop
movdqa xmm1, xmmword [0x14013e100]
movdqu xmmword [rsp + 0x50], xmm1
movdqa xmm2, xmmword [0x14013e190]
movdqu xmmword [rsp + 0x60], xmm2
mov dl, 0x23
mov r8b, 0x3e
mov r9b, 0x39
mov r10b, 0x30
mov r11b, 0x79
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rsp + 0x51], al
xor byte [rsp + 0x52], cl
xor byte [rsp + 0x53], cl
xor byte [rsp + 0x54], cl
xor byte [rsp + 0x55], cl
xor byte [rsp + 0x56], cl
xor byte [rsp + 0x57], cl
xor byte [rsp + 0x58], cl
xor byte [rsp + 0x59], cl
xor byte [rsp + 0x5a], cl
xor byte [rsp + 0x5b], cl
xor byte [rsp + 0x5c], cl
xor byte [rsp + 0x5d], cl
xor byte [rsp + 0x5e], cl
xor byte [rsp + 0x5f], cl
movd eax, xmm2
xor al, cl
mov byte [rsp + 0x60], al
xor byte [rsp + 0x61], cl
xor byte [rsp + 0x62], cl
xor byte [rsp + 0x63], cl
xor byte [rsp + 0x64], cl
xor byte [rsp + 0x65], cl
xor byte [rsp + 0x66], cl
xor byte [rsp + 0x67], cl
xor byte [rsp + 0x68], cl
xor byte [rsp + 0x69], cl
xor byte [rsp + 0x6a], cl
xor byte [rsp + 0x6b], cl
xor byte [rsp + 0x6c], cl
xor byte [rsp + 0x6d], cl
xor byte [rsp + 0x6e], cl
xor byte [rsp + 0x6f], cl
xor dl, cl
mov byte [rsp + 0x70], dl
xor r8b, cl
mov byte [rsp + 0x71], r8b
xor r9b, cl
mov byte [rsp + 0x72], r9b
xor r10b, cl
mov byte [rsp + 0x73], r10b
xor r11b, cl
mov byte [rsp + 0x74], r11b
mov byte [rsp + 0x75], r15b
lea rdx, [rsp + 0x51]
lea rcx, [rsp + 0x400]
call fcn.140002e70
lea r12, [rsp + 0x3d0]
mov r14, qword [0x140182098]
mov rdi, qword [r14 + 0x10]
cmp rdi, qword [r14 + 0x18]
je 0x14008bcf0
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, r12
call qword [rax + 8]
add rdi, 8
jmp 0x14008bcd8
mov qword [rsp + 0x3d0], r13
lea rcx, [rsp + 0x520]
call fcn.140004e00
lea rcx, [rsp + 0x500]
call fcn.140005010
lea rcx, [rsp + 0x400]
call fcn.140003200
jmp 0x14008bd24
xor r15d, r15d
test rsi, rsi
je 0x14008bd85
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x14008bd77
mov rax, qword [rsi + 0x20]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
cmp rdx, 0x1000
jb 0x14008bd66
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14008bdcc
mov rcx, r8
call fcn.1400c838c
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], r15
mov qword [rsi + 0x20], r15
mov edx, 0x28
mov rcx, rsi
call fcn.1400c838c
nop
test rbx, rbx
je 0x14008bd98
mov edx, 0x38
mov rcx, rbx
call fcn.1400c838c
nop
xor eax, eax
mov rcx, qword [rsp + 0x5d0]
xor rcx, rsp
call fcn.1400c80e0
lea r11, [rsp + 0x5e0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
ret
call fcn.1400cf09c
nop
int3