Function at 0x180035970
Capabilities:
Hash data via wincrypt
Initialize hashing via wincrypt

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3e0]
sub rsp, 0x4e0
mov rdi, qword [rsp + 0x78]
lea eax, [r8 + 0x10]
mov r14d, r8d
mov dword [rsp + 0x6c], r8d
mov r15d, r8d
mov qword [rsp + 0x60], rdi
xor r8d, r8d
mov r13, rdx
mov r10, rcx
cmp r14d, eax
jae 0x180035cd4
mov ebx, dword [rbp + 0x430]
lea r11, [0x180000000]
mov esi, 0x756e
lea r12d, [r8 + 0x61]
jmp 0x1800359f3
xor r8d, r8d
lea eax, [r14 - 0xcf]
mov rdx, r13
cmp eax, 0x35
ja case.0x180035a1a.221
movzx eax, byte [r11 + rax + 0x36644]
mov ecx, dword [r11 + rax*4 + 0x36608]
add rcx, r11
jmp rcx
cmp byte [r13], 0
je 0x180035a9e
mov esi, 0xdf
cmp esi, 0xdf
je 0x180035a3d
cmp esi, 0xa582
jne 0x180035a86
inc r13
jmp 0x180035a86
mov rax, qword [rbp - 8]
lea r8, [rsp + 0x60]
mov r9, r13
mov qword [rsp + 0x60], rax
mov rdx, r10
mov ecx, 0x46
call fcn.18003c0d0
test eax, eax
jne 0x180035a7f
mov eax, 0x60
cmp eax, 0x60
je 0x180035a74
cmp eax, 0x6f
je case.0x180035a1a.212
jmp 0x180035a77
mov rdi, r13
add eax, 0xf
cmp eax, 0x7e
jb 0x180035a64
mov r10, qword [rbp + 0x420]
add esi, 0xa4a3
cmp esi, 0x14946
jbe 0x180035a28
cmp byte [r13], 0
jne 0x180035a23
xor r8d, r8d
mov rdi, r8
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x78], r8
jmp case.0x180035a1a.221
cmp byte [r13], 0x2d
jne 0x180035ac8
inc r13
mov dword [rbp - 0x28], 1
test r8b, r8b
cmovne r13, rdx
cmp dword [r10], 0x10
jne case.0x180035a1a.221
mov r15d, 0x46
lea rsi, [0x180061bb8]
mov dword [rbp - 0x30], r15d
mov r12d, 2
mov r14, r13
nop dword [rax]
lea eax, [r15 - 0x40]
cmp eax, 8
ja case.0x180035b08.67
mov ecx, dword [r11 + rax*4 + 0x3667c]
add rcx, r11
jmp rcx
mov rcx, qword [r14 + 8]
lea rax, [rbp - 0x80]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov edx, 0x800c
call qword [sym.imp.ADVAPI32.dll_CryptCreateHash]
mov dword [rsp + 0x50], eax
jmp case.0x180035b08.67
test r12, r12
je 0x180035c87
movzx eax, byte [rsi]
movzx ebx, byte [r14]
sub ebx, eax
jmp case.0x180035b08.67
mov ecx, dword [rsp + 0x50]
test ecx, ecx
je 0x180035c15
mov r15d, 0x34
nop word [rax + rax]
mov eax, r15d
sub eax, 0x34
je 0x180035b84
cmp eax, 1
jne 0x180035c04
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov ecx, dword [rsp + 0x50]
jmp 0x180035c04
movzx r8d, word [rsi]
lea rdx, [rsi + 4]
mov rcx, qword [rbp - 0x80]
xor r9d, r9d
call qword [sym.imp.ADVAPI32.dll_CryptHashData]
mov dword [rsp + 0x50], eax
mov ecx, eax
test eax, eax
je 0x180035c04
mov ebx, 0x50
mov eax, ebx
sub eax, 0x50
je 0x180035bf2
sub eax, 1
je 0x180035bc2
cmp eax, 1
jne 0x180035bf9
movzx eax, word [rbp - 0x38]
add word [rsi], ax
jmp 0x180035bf9
movzx ecx, word [rsi]
lea rax, [rbp - 0x38]
add rcx, 4
mov qword [rsp + 0x28], rax
add rcx, rsi
xor r9d, r9d
mov qword [rsp + 0x20], rcx
xor r8d, r8d
mov rcx, qword [rbp - 0x80]
lea edx, [r9 + 2]
call qword [sym.imp.ADVAPI32.dll_CryptSignHashW]
mov ecx, eax
jmp 0x180035bf9
mov dword [rbp - 0x38], 0x100
inc ebx
cmp ebx, 0x53
jb 0x180035ba8
mov dword [rsp + 0x50], ecx
inc r15d
cmp r15d, 0x36
jb 0x180035b60
mov r15d, dword [rbp - 0x30]
mov ebx, ecx
jmp case.0x180035b08.67
cmp byte [r14], 0
je 0x180035c68
nop
cmp byte [rsi], 0
je 0x180035c68
test r12, r12
je 0x180035c68
mov ecx, 0xe0
nop
mov eax, ecx
sub eax, 0xde
je 0x180035c55
sub eax, 1
je 0x180035c4d
cmp eax, 1
jne 0x180035c58
movzx eax, byte [rsi]
cmp byte [r14], al
jne 0x180035c68
jmp 0x180035c58
inc r14
inc rsi
jmp 0x180035c58
dec r12
dec ecx
cmp ecx, 0xdd
ja 0x180035c30
cmp byte [r14], 0
jne 0x180035c20
mov r15d, 0x46
inc r15d
mov dword [rbp - 0x30], r15d
cmp r15d, 0x4c
jae case.0x180035b08.66
lea r11, [0x180000000]
jmp 0x180035af0
xor ebx, ebx
jmp 0x180035c8f
test ebx, ebx
jne 0x180035c93
add r13, 2
mov r15d, dword [rbp + 0x430]
mov r12d, 0x61
mov r14d, dword [rsp + 0x6c]
mov r10, qword [rbp + 0x420]
lea eax, [r15 + 0x10]
mov r9, qword [rbp + 0x438]
lea r11, [0x180000000]
inc r14d
mov esi, 0x756e
mov dword [rsp + 0x6c], r14d
cmp r14d, eax
jb 0x1800359f0
imul esi, r15d, 0x363
mov ebx, r15d
mov r11d, 0x6c
cmp r15d, esi
ja 0x180036100
mov edx, 0x736f
imul r14d, r15d, 0x33
lea eax, [r11 + 8]
mov ecx, 0x6c74
lea r9d, [r11 - 9]
movabs r12, 0x5f00320073
lea r10d, [r11 + 4]
lea r8d, [rdx - 0xa]
lea r13d, [r11 + 3]
lea r15d, [r11 - 0x15]
nop dword [rax]
cmp ebx, 0x14ab7
ja 0x18003602b
je 0x180035fde
cmp ebx, 0xa5c3
ja 0x180035f9d
je 0x180035f93
cmp ebx, 0xcf
je 0x180035f6c
cmp ebx, 0x2a0c
je 0x180035f41
cmp ebx, 0x5349
je 0x180035f32
cmp ebx, 0x7c86
jne 0x1800360ee
mov dword [rbp - 0x56], 0x7365736f
jmp 0x1800360ee
mov rdi, r13
sub rdi, qword [rbp - 0x10]
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x78], rdi
jmp case.0x180035a1a.221
mov dword [rbp - 0x66], 0x656c4341
jmp case.0x180035a1a.221
mov word [rbp - 0x61], si
jmp case.0x180035a1a.221
mov qword [rbp - 0x10], r13
jmp case.0x180035a1a.221
test r9, r9
je case.0x180035a1a.221
cmp dword [rbp - 0x28], 0
mov rax, qword [rsp + 0x58]
je 0x180035dd0
test rax, rax
je 0x180035dd0
neg rax
mov qword [r9], rax
jmp case.0x180035a1a.221
mov qword [rsp + 0x58], r8
mov dword [rbp - 0x28], r8d
jmp case.0x180035a1a.221
mov edx, 0xf6
mov eax, edx
sub eax, 0xf4
je 0x180035e5b
sub eax, 1
je 0x180035e43
cmp eax, 1
jne 0x180035e5e
movsx ecx, byte [r13]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x180035e1d
lea eax, [rcx - 0x30]
mov dword [rsp + 0x68], eax
jmp 0x180035e5e
cmp dword [r10], 0x10
jne 0x180035e6a
lea eax, [rcx - 0x41]
cmp al, 5
ja 0x180035e33
lea eax, [rcx - 0x37]
mov dword [rsp + 0x68], eax
jmp 0x180035e5e
lea eax, [rcx - 0x61]
cmp al, 5
ja 0x180035e6a
lea eax, [rcx - 0x57]
mov dword [rsp + 0x68], eax
jmp 0x180035e5e
movsxd rcx, dword [r10]
imul rcx, qword [rsp + 0x58]
movsxd rax, dword [rsp + 0x68]
add rcx, rax
mov qword [rsp + 0x58], rcx
jmp 0x180035e5e
inc r13
dec edx
cmp edx, 0xf3
ja 0x180035df5
jmp case.0x180035a1a.216
mov r14d, 0xf4
jmp case.0x180035a1a.221
cmp byte [r13], 0
je 0x180035a9e
mov edx, 0x86
cmp edx, 0x86
je 0x180035e9a
cmp edx, 0x41f4
jne 0x180035ecf
inc r13
jmp 0x180035ecf
movsx eax, byte [r13]
cmp eax, dword [r10]
jne 0x180035ecf
mov ecx, 0xe9
nop dword [rax]
mov eax, ecx
sub eax, 0xe8
je case.0x180035a1a.212
cmp eax, 1
jne 0x180035ec5
mov rdi, r13
dec ecx
cmp ecx, 0xe7
ja 0x180035eb0
add edx, 0x416e
cmp edx, 0x82dc
jbe 0x180035e85
cmp byte [r13], 0
jne 0x180035e80
mov rdi, r8
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x78], r8
jmp case.0x180035a1a.221
mov word [rbp - 0x62], r12w
jmp case.0x180035a1a.221
mov eax, 0x57
mov word [rbp - 0x68], ax
mov eax, 0x53
mov word [rbp - 0x67], ax
jmp case.0x180035a1a.221
mov r9, r10
xor r8d, r8d
xor edx, edx
mov ecx, 0xc6
call fcn.180023ea0
mov qword [rbp - 8], rax
jmp case.0x180035a1a.221
mov word [rbp - 0x58], r9w
mov word [rbp - 0x57], r11w
jmp 0x1800360ee
mov eax, dword [0x180062010]
movsd xmm0, qword [str.32.dll]
mov dword [rbp + 0x40], eax
movzx eax, word [0x180062014]
mov word [rbp + 0x44], ax
mov eax, 0x74
movsd qword [rbp + 0x38], xmm0
jmp 0x1800360ee
movzx eax, word [0x1800620b0]
movsd xmm0, qword [str.ws2_]
mov word [rbp + 0x38], ax
mov eax, 0x74
mov word [rbp - 0x5f], r10w
movsd qword [rbp + 0x30], xmm0
jmp 0x1800360ee
mov word [rbp - 0x52], r13w
jmp 0x1800360ee
cmp ebx, 0xcf00
je 0x180035fce
cmp ebx, 0xf83d
je 0x180035fc2
cmp ebx, 0x1217a
jne 0x1800360ee
mov qword [rbp + 2], r12
jmp 0x1800360ee
mov dword [rbp], 0x77
jmp 0x1800360ee
mov dword [rbp - 0x51], 0x656b63
mov word [rbp - 0x4e], ax
jmp 0x1800360ee
mov r8d, 0xa
lea rdx, [rbp + 8]
lea ecx, [r8 - 7]
call fcn.180047840
mov r8d, 3
lea rdx, [0x180061fc8]
lea rcx, [rbp + 0xa]
call fcn.180047124
mov eax, 0x74
mov edx, 0x736f
mov ecx, 0x6c74
lea r8d, [rdx - 0xa]
lea r9d, [rax - 0x11]
lea r10d, [rax - 4]
lea r11d, [rax - 8]
jmp 0x1800360ee
cmp ebx, 0x218e8
ja 0x1800360b0
je 0x1800360aa
cmp ebx, 0x173f4
je 0x180036096
cmp ebx, 0x19d31
je 0x18003608d
cmp ebx, 0x1c66e
je 0x180036087
cmp ebx, 0x1efab
jne 0x1800360ee
mov r8d, 1
lea rdx, [0x18006202b]
lea rcx, [rbp - 0x78]
call fcn.180047330
mov r8d, 1
lea rdx, [0x180062071]
lea rcx, [rbp - 0x78]
call fcn.180047330
jmp 0x180036007
mov byte [rbp - 0x74], 0
jmp 0x1800360ee
mov dword [rbp - 0x78], 0x49415357
jmp 0x1800360ee
mov eax, dword [0x180061b84]
mov dword [rbp + 0xe], eax
mov eax, 0x74
mov dword [rbp + 0x12], r11d
jmp 0x1800360ee
mov word [rbp - 0x72], cx
jmp 0x1800360ee
cmp ebx, 0x24225
je 0x1800360ea
cmp ebx, 0x26b62
je 0x1800360e3
cmp ebx, 0x2949f
jne 0x1800360ee
mov eax, dword [str.SASoc]
mov dword [rbp - 0x1f], eax
movzx eax, word [0x1800620a0]
mov word [rbp - 0x1b], ax
mov eax, 0x74
jmp 0x1800360ee
mov word [rbp - 0x20], r15w
jmp 0x1800360ee
mov byte [rbp - 0x70], 0
add ebx, r14d
cmp ebx, esi
jbe 0x180035d20
mov r15d, dword [rbp + 0x430]
lea ebx, [r15 + 0xc20]
mov dword [rsp + 0x50], ebx
cmp r15d, ebx
jae case.0x180035a1a.212
mov rbx, qword [rsp + 0x58]
movabs rcx, 0x33005f0032
mov eax, dword [rsp + 0x50]
nop word [rax + rax]
cmp r15d, 0x6df
ja 0x180036296
je 0x18003628d
cmp r15d, 0x3d7
ja 0x180036224
je 0x1800361fc
cmp r15d, 0xcf
je 0x1800361e7
cmp r15d, 0x191
je 0x1800361c8
cmp r15d, 0x253
je 0x18003618f
cmp r15d, 0x315
jne 0x1800365ca
mov dword [rbp + 0x2a], r11d
mov byte [rbp - 0x48], 0
jmp 0x1800365ca
mov r8d, 0xa
lea rdx, [rbp + 0x1c]
lea ecx, [r8 - 8]
call fcn.180047890
mov eax, dword [0x1800620c0]
movsd xmm0, qword [str._32.dl]
mov dword [rbp + 0x26], eax
movzx eax, word [0x1800620c4]
mov word [rbp + 0x2a], ax
movsd qword [rbp + 0x1e], xmm0
jmp 0x1800365bc
xor eax, eax
lea rdx, [0x180062114]
lea rcx, [rbp + 0x18]
mov word [rbp + 0x18], ax
lea r8d, [rax + 2]
call fcn.1800470dc
jmp 0x1800365bc
mov edx, 0x57
mov dword [rbp - 0x1a], 0x74656b
mov word [rbp - 0x17], dx
jmp 0x1800365ca
lea rcx, [rbp - 0x48]
dec rcx
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x180036203
mov eax, dword [str.WSAS]
mov dword [rcx], eax
movzx eax, byte [0x180062120]
mov byte [rcx + 4], al
jmp 0x1800365bc
cmp r15d, 0x499
je 0x18003626a
cmp r15d, 0x55b
je 0x18003624f
cmp r15d, 0x61d
jne 0x1800365ca
mov dword [rbp + 0x4a], 0x73
jmp 0x1800365ca
mov r8d, 2
lea rdx, [0x180062018]
lea rcx, [rbp + 0x48]
call fcn.180047124
jmp 0x1800365bc
movzx eax, word [0x1800620d8]
mov word [rbp - 0x44], ax
mov eax, dword [str.rtup]
mov dword [rbp - 0x42], eax
movzx eax, byte [0x180061dcc]
mov byte [rbp - 0x3e], al
jmp 0x1800365c6
mov qword [rbp + 0x4c], rcx
jmp 0x1800365ca
cmp r15d, 0x9e7
ja 0x1800363a5
je 0x18003635c
cmp r15d, 0x7a1
je 0x18003631f
cmp r15d, 0x863
je 0x1800362f8
cmp r15d, 0x925
jne 0x1800365ca
lea r9, str.ws2_32.dll
mov r8d, 0xf5
lea rdx, [rbp - 0x78]
lea rcx, [rbp + 0xb0]
call fcn.180024590
movups xmm2, xmmword [rax]
movq qword [rsp + 0x58], xmm2
mov rbx, qword [rsp + 0x58]
jmp 0x1800365bc
lea r9, [rbp]
mov r8d, 0xf5
lea rdx, [rbp - 0x58]
lea rcx, [rbp + 0x100]
call fcn.180024590
movups xmm2, xmmword [rax]
movq qword [rbp - 0x80], xmm2
jmp 0x1800365bc
movsd xmm0, qword [str.2.dll]
lea r9, [rbp + 0x30]
mov eax, dword [0x1800620d0]
lea rdx, [rbp - 0x68]
mov r8d, 0xf5
movsd qword [rbp + 0x52], xmm0
lea rcx, [rbp + 0x150]
mov dword [rbp + 0x5a], eax
call fcn.180024590
movups xmm2, xmmword [rax]
movq qword [rbp - 8], xmm2
jmp 0x1800365bc
lea r9, [rbp + 0x18]
mov r8d, 0xf5
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x1a0]
call fcn.180024590
lea r9, [rbp + 0x48]
mov r8d, 0xf5
lea rdx, [rbp - 0x48]
lea rcx, [rbp + 0x1f0]
movups xmm2, xmmword [rax]
movq qword [rbp - 0x28], xmm2
call fcn.180024590
movups xmm2, xmmword [rax]
movq qword [rbp - 0x10], xmm2
jmp 0x1800365bc
cmp r15d, 0xaa9
je 0x1800363e1
cmp r15d, 0xb6b
je 0x1800363c9
cmp r15d, 0xc2d
je case.0x180035a1a.212
jmp 0x1800365ca
call qword [rbp - 8]
xor eax, eax
mov dword [rsp + 0x78], eax
mov rdi, qword [rsp + 0x78]
mov qword [rsp + 0x60], rdi
jmp 0x1800365bc
mov ecx, 0x202
lea rdx, [rbp + 0x240]
call qword [rbp - 0x10]
mov rdi, qword [rbp - 0x80]
xor esi, esi
mov r13d, esi
nop dword [rax]
mov eax, 2
mov dword [rsp + 0x28], 1
mov ecx, 0x17
mov dword [rsp + 0x20], esi
test r13d, r13d
cmove ecx, eax
lea edx, [rax + 1]
xor r9d, r9d
xor r8d, r8d
call qword [rbp - 0x28]
mov r15, rax
cmp rax, 0xffffffffffffffff
je 0x180036597
mov r12d, 0xb3
nop dword [rax + rax]
mov eax, r12d
sub eax, 0xb3
je 0x18003645d
cmp eax, 1
jne 0x180036577
mov rcx, r15
call rdi
jmp 0x180036577
mov qword [rsp + 0x40], rsi
lea rax, [rsp + 0x70]
mov qword [rsp + 0x38], rsi
xor r9d, r9d
mov qword [rsp + 0x30], rax
xor r8d, r8d
mov dword [rsp + 0x28], esi
mov edx, 0x48000016
mov rcx, r15
mov qword [rsp + 0x20], rsi
call rbx
mov r14d, eax
cmp eax, 0xffffffff
jne 0x180036589
mov eax, dword [rsp + 0x70]
lea r9, [rbp - 0x30]
xor r8d, r8d
mov qword [rbp - 0x30], rax
lea edx, [r14 + 0x1b]
xor ecx, ecx
call fcn.18003ea40
mov rsi, rax
test rax, rax
je 0x180036575
mov ebx, 0xea
lea edi, [r14 + 5]
mov eax, ebx
sub eax, 0xea
je 0x18003650f
cmp eax, 1
jne 0x18003655e
test r14d, r14d
jne 0x1800364f4
xor r9d, r9d
mov qword [rbp - 0x38], rsi
xor edx, edx
lea rcx, [rbp - 0x38]
mov r8d, 0x111
call fcn.18000d1e0
xor eax, eax
mov r9, rsi
xor r8d, r8d
mov qword [rsp + 0x20], rax
xor edx, edx
mov ecx, 0xc8
call fcn.18000fad0
jmp 0x18003655e
xor eax, eax
xor r9d, r9d
mov qword [rsp + 0x40], rax
xor r8d, r8d
mov qword [rsp + 0x38], rax
mov edx, 0x48000016
lea rax, [rsp + 0x70]
mov rcx, r15
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rsi
call qword [rsp + 0x58]
test r13d, r13d
lea rcx, str.icudt58l_zone_te.res
mov edx, 6
mov r14d, eax
cmove edx, edi
call fcn.18003efe0
inc ebx
cmp ebx, 0xec
jb 0x1800364c5
mov rbx, qword [rsp + 0x58]
mov rdi, qword [rbp - 0x80]
xor esi, esi
inc r12d
cmp r12d, 0xb5
jb 0x180036440
jmp 0x1800365a3
lea rcx, str.1doApply__
call fcn.18003edc0
jmp 0x180036577
lea rcx, str.IK_I06IL5I
call fcn.18003edc0
inc r13d
cmp r13d, 2
jl 0x180036400
mov rdi, qword [rsp + 0x60]
mov r15d, dword [rbp + 0x430]
movabs rcx, 0x33005f0032
mov eax, dword [rsp + 0x50]
add r15d, 0xc2
mov r11d, 0x6c
mov dword [rbp + 0x430], r15d
cmp r15d, eax
jb 0x180036130
mov rbx, qword [rsp + 0x528]
mov rax, rdi
add rsp, 0x4e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret