Function at 0x10064520
Capabilities:
Authenticate hmac
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x58
push esi
push edi
mov esi, ecx
mov dword [esp + 0x28], esi
mov byte [esp + 0x10], 0x2e
mov dl, 0x5a
xor dl, byte [esp + 0x10]
mov al, 0x4c
xor al, byte [esp + 0x10]
mov dh, 0x42
mov byte [esp + 0x11], al
mov ah, 0x40
mov byte [esp + 0x12], dl
xorps xmm0, xmm0
mov dl, byte [esp + 0x10]
mov byte [esp + 0x27], 0x41
xor ah, dl
mov al, byte [esp + 0x27]
xor dh, dl
xor al, dl
mov byte [esp + 0xe], 0x5d
mov byte [esp + 0x17], al
mov al, byte [esp + 0xe]
mov byte [esp + 0xc], 0x4b
xor al, dl
mov byte [esp + 0x1a], 0
mov cl, 0x71
mov byte [esp + 0x18], al
mov al, byte [esp + 0xc]
mov ch, 0x4d
xor cl, dl
mov byte [esp + 0x16], dh
xor ch, dl
mov byte [esp + 0x14], cl
mov byte [esp + 0x15], ch
xor al, dl
lea ecx, [esp + 0x11]
mov byte [esp + 0x13], ah
lea edx, [ecx + 1]
mov byte [esp + 0x19], al
mov byte [esp + 0x1a], 0
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100645c4
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x5c], edi
je 0x10064666
test edi, edi
je 0x10064666
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10064666
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x2c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10064662
nop word [eax + eax]
cmp esi, dword [edi + 0xc4]
jne 0x1006461d
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10064649
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1006462f
mov ecx, dword [ecx]
cmp dword [esp + 0x44], 0xf
lea eax, [esp + 0x30]
cmova eax, dword [esp + 0x30]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x10064699
mov edi, dword [esp + 0x5c]
cmp esi, dword [edi + 0xc4]
jne 0x1006465a
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x2c]
jne 0x10064610
mov esi, dword [esp + 0x28]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 4], edi
cmp ecx, 0xf
jbe 0x100646a9
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1006469f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006533c
jmp 0x1006469f
mov esi, dword [esp + 0x28]
jmp 0x10064668
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov dl, 6
mov dword [esp + 0x10], 0x6f626306
mov dword [esp + 0x14], 0x63755972
xor ecx, ecx
mov dword [esp + 0x18], 0x6e657467
mov byte [esp + 0x1c], 0
nop word [eax + eax]
lea eax, [esp + 0x11]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xb
jae 0x100646e3
mov dl, byte [esp + 0x10]
jmp 0x100646d0
xorps xmm0, xmm0
mov byte [esp + 0x1c], 0
lea ecx, [esp + 0x11]
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0
lea edx, [ecx + 1]
mov dword [esp + 0x44], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10064707
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
mov ecx, dword [esi]
lea edx, [esp + 0x30]
call fcn.10018f90
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x10], eax
cmp ecx, 0xf
jbe 0x10064763
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10064759
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10065341
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov byte [esp + 0x10], 0x28
mov cl, 0x5c
xor cl, byte [esp + 0x10]
mov al, 0x4a
xor al, byte [esp + 0x10]
mov ch, 0x5b
mov byte [esp + 0x11], al
mov dl, 0x46
mov byte [esp + 0x12], cl
mov dh, 0x4d
mov cl, byte [esp + 0x10]
mov ah, 0x77
mov byte [esp + 0xc], 0x49
xor dl, cl
mov al, byte [esp + 0xc]
xor ch, cl
xor al, cl
mov byte [esp + 0xe], 0x5a
mov byte [esp + 0x17], al
xor dh, cl
mov al, byte [esp + 0xe]
xor ah, cl
xor al, cl
mov byte [esp + 0x27], 0x4b
mov byte [esp + 0x18], al
xorps xmm0, xmm0
mov al, byte [esp + 0x27]
xor al, cl
mov byte [esp + 0xd], 0x40
mov byte [esp + 0x19], al
mov al, byte [esp + 0xd]
xor al, cl
mov byte [esp + 0x15], ch
lea ecx, [esp + 0x11]
mov byte [esp + 0x1b], 0
mov byte [esp + 0x13], dl
mov byte [esp + 0x16], dh
lea edx, [ecx + 1]
mov byte [esp + 0x14], ah
mov byte [esp + 0x1a], al
mov byte [esp + 0x1b], 0
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10064805
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x100648a6
test edi, edi
je 0x100648a6
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100648a6
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x5c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x100648a2
nop dword [eax + eax]
cmp esi, dword [edi + 0xc4]
jne 0x1006485d
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10064889
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1006486f
mov ecx, dword [ecx]
cmp dword [esp + 0x44], 0xf
lea eax, [esp + 0x30]
cmova eax, dword [esp + 0x30]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x100648d9
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x1006489a
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x5c]
jne 0x10064850
mov esi, dword [esp + 0x28]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 8], edi
cmp ecx, 0xf
jbe 0x100648e9
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100648df
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10065346
jmp 0x100648df
mov esi, dword [esp + 0x28]
jmp 0x100648a8
push ecx
push edx
call fcn.1007fa16
add esp, 8
movaps xmm0, xmmword [str.NORQQbPRSNIXO]
xor ecx, ecx
movups xmmword [esp + 0x10], xmm0
mov al, byte [esp + 0x10]
xor byte [esp + ecx + 0x11], al
inc ecx
cmp ecx, 0xe
jb 0x100648f7
xorps xmm0, xmm0
mov byte [esp + 0x1f], 0
lea ecx, [esp + 0x11]
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0
lea edx, [ecx + 1]
mov dword [esp + 0x44], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10064930
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x100649cc
test edi, edi
je 0x100649cc
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100649cc
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x5c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x100649c8
cmp esi, dword [edi + 0xc4]
jne 0x10064983
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x100649af
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10064995
mov ecx, dword [ecx]
cmp dword [esp + 0x44], 0xf
lea eax, [esp + 0x30]
cmova eax, dword [esp + 0x30]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x100649ff
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x100649c0
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x5c]
jne 0x10064976
mov esi, dword [esp + 0x28]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x14], edi
cmp ecx, 0xf
jbe 0x10064a0f
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10064a05
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006534b
jmp 0x10064a05
mov esi, dword [esp + 0x28]
jmp 0x100649ce
push ecx
push edx
call fcn.1007fa16
add esp, 8
xor al, al
mov byte [esp + 0x27], al
movzx esi, al
mov cl, 2
mov byte [esp + 0x10], 0x6d
mov al, 0x20
xor al, byte [esp + 0x10]
mov dl, 3
xor cl, byte [esp + 0x10]
mov ch, 0x19
mov byte [esp + 0x11], al
mov dh, 8
mov byte [esp + 0x12], cl
mov ah, 0x1e
mov cl, byte [esp + 0x10]
xorps xmm0, xmm0
mov byte [esp + 0xd], 0x1f
xor dl, cl
mov al, byte [esp + 0xd]
xor dh, cl
xor al, cl
mov byte [esp + 0xc], 0x32
mov byte [esp + 0x17], al
xor ah, cl
mov al, byte [esp + 0xc]
xor ch, cl
xor al, cl
mov byte [esp + 0xe], 0x48
mov byte [esp + 0x18], al
mov al, byte [esp + 0xe]
xor al, cl
mov byte [esp + 0xf], 9
mov byte [esp + 0x19], al
mov al, byte [esp + 0xf]
xor al, cl
mov byte [esp + 0x13], dl
push esi
sub esp, 0x18
mov byte [esp + 0x32], dh
mov edx, esp
mov byte [esp + 0x31], ch
lea ecx, [esp + 0x2d]
mov byte [esp + 0x37], 0
mov byte [esp + 0x30], ah
lea edi, [ecx + 1]
mov byte [esp + 0x36], al
movups xmmword [edx], xmm0
mov byte [esp + 0x37], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10064ac0
sub ecx, edi
lea eax, [esp + 0x2d]
push ecx
push eax
mov ecx, edx
call fcn.10002570
lea eax, [esp + 0x4c]
push eax
call fcn.1000dc10
mov edi, dword [esp + 0x48]
add esp, 0x20
mov edx, eax
mov ecx, dword [edi]
call fcn.10018f90
mov ecx, dword [esp + 0x44]
mov dword [edi + esi*4 + 0x18], eax
cmp ecx, 0xf
jbe 0x10064b2a
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10064b20
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006533c
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov al, byte [esp + 0x27]
inc al
mov byte [esp + 0x27], al
cmp al, 5
jb 0x10064a15
mov byte [esp + 0x10], 4
mov cl, 0x70
xor cl, byte [esp + 0x10]
mov al, 0x66
xor al, byte [esp + 0x10]
mov ch, 0x60
mov byte [esp + 0x11], al
mov dl, 0x6a
mov byte [esp + 0x12], cl
mov dh, 0x76
mov cl, byte [esp + 0x10]
mov ah, 0x5b
mov byte [esp + 0xf], 0x6b
xor dl, cl
mov al, byte [esp + 0xf]
xor ch, cl
xor al, cl
mov byte [esp + 0xd], 0x74
xor dh, cl
mov byte [esp + 0x17], al
mov al, byte [esp + 0xd]
xor ah, cl
xor al, cl
mov byte [esp + 0x15], ch
xorps xmm0, xmm0
mov byte [esp + 0x19], 0
lea ecx, [esp + 0x11]
mov byte [esp + 0x13], dl
mov byte [esp + 0x16], dh
lea edx, [ecx + 1]
mov byte [esp + 0x14], ah
mov byte [esp + 0x18], al
mov byte [esp + 0x19], 0
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10064bc0
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
mov ecx, dword [edi]
lea edx, [esp + 0x30]
call fcn.10018f90
mov ecx, dword [esp + 0x44]
mov dword [edi + 0xc], eax
cmp ecx, 0xf
jbe 0x10064c1c
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10064c12
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10065350
push ecx
push edx
call fcn.1007fa16
add esp, 8
movaps xmm0, xmmword [0x100b40c0]
xor ecx, ecx
movups xmmword [esp + 0x10], xmm0
mov word [esp + 0x20], 0x45
mov al, byte [esp + 0x10]
xor byte [esp + ecx + 0x11], al
inc ecx
cmp ecx, 0x10
jb 0x10064c31
xorps xmm0, xmm0
mov byte [esp + 0x21], 0
lea ecx, [esp + 0x11]
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0
lea edx, [ecx + 1]
mov dword [esp + 0x44], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10064c63
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
cmp dword [esp + 0x40], 0
mov edi, dword [edi]
mov dword [esp + 0x2c], edi
je 0x10064d02
test edi, edi
je 0x10064d02
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10064d02
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x5c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10064d02
nop dword [eax]
cmp esi, dword [edi + 0xc4]
jne 0x10064cbd
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10064ce9
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10064ccf
mov ecx, dword [ecx]
cmp dword [esp + 0x44], 0xf
lea eax, [esp + 0x30]
cmova eax, dword [esp + 0x30]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x10064d04
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10064cfa
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x5c]
jne 0x10064cb0
xor edi, edi
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x2c], edi
cmp ecx, 0xf
jbe 0x10064d41
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10064d37
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10065355
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov al, 0x36
mov byte [esp + 0x10], 0x42
mov dl, al
mov byte [esp + 0xf], 0x34
xor al, byte [esp + 0x10]
mov cl, 0x3a
xor cl, byte [esp + 0x10]
mov dh, 0x27
mov byte [esp + 0x11], al
mov ch, 0x2e
mov al, byte [esp + 0xf]
mov ah, 0x1d
mov byte [esp + 0x12], cl
xorps xmm0, xmm0
mov cl, byte [esp + 0x10]
xor al, cl
mov byte [esp + 0xd], dh
mov byte [esp + 0x17], al
xor dl, cl
mov al, byte [esp + 0xd]
xor dh, cl
xor al, cl
mov byte [esp + 0xc], ch
xor ch, cl
mov byte [esp + 0x18], al
mov al, byte [esp + 0xc]
xor ah, cl
xor al, cl
mov byte [esp + 0x15], ch
lea ecx, [esp + 0x11]
mov byte [esp + 0x1a], 0
mov byte [esp + 0x13], dl
mov byte [esp + 0x16], dh
lea edx, [ecx + 1]
mov byte [esp + 0x14], ah
mov byte [esp + 0x19], al
mov byte [esp + 0x1a], 0
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10064dd2
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x10064e6e
test edi, edi
je 0x10064e6e
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10064e6e
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x5c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10064e6a
cmp esi, dword [edi + 0xc4]
jne 0x10064e25
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10064e51
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10064e37
mov ecx, dword [ecx]
cmp dword [esp + 0x44], 0xf
lea eax, [esp + 0x30]
cmova eax, dword [esp + 0x30]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x10064ea1
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10064e62
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x5c]
jne 0x10064e18
mov esi, dword [esp + 0x28]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x30], edi
cmp ecx, 0xf
jbe 0x10064eb1
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10064ea7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006535a
jmp 0x10064ea7
mov esi, dword [esp + 0x28]
jmp 0x10064e70
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov al, 9
mov byte [esp + 0x10], 0x7d
mov dl, al
mov byte [esp + 0xf], 0x10
xor al, byte [esp + 0x10]
mov cl, 5
xor cl, byte [esp + 0x10]
mov dh, 0x1c
mov byte [esp + 0x11], al
mov ch, 0x19
mov al, byte [esp + 0xf]
mov ah, 0x22
mov byte [esp + 0x12], cl
xorps xmm0, xmm0
mov cl, byte [esp + 0x10]
xor al, cl
mov byte [esp + 0xd], dh
mov byte [esp + 0x17], al
xor dl, cl
mov al, byte [esp + 0xd]
xor ch, cl
xor al, cl
mov byte [esp + 0xc], 0x1a
mov byte [esp + 0x18], al
xor dh, cl
mov al, byte [esp + 0xc]
xor ah, cl
xor al, cl
mov byte [esp + 0xe], 0x18
mov byte [esp + 0x19], al
mov al, byte [esp + 0xe]
xor al, cl
mov byte [esp + 0x15], ch
lea ecx, [esp + 0x11]
mov byte [esp + 0x1b], 0
mov byte [esp + 0x13], dl
mov byte [esp + 0x16], dh
lea edx, [ecx + 1]
mov byte [esp + 0x14], ah
mov byte [esp + 0x1a], al
mov byte [esp + 0x1b], 0
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10064f52
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x10064fee
test edi, edi
je 0x10064fee
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10064fee
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x5c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10064fea
cmp esi, dword [edi + 0xc4]
jne 0x10064fa5
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10064fd1
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10064fb7
mov ecx, dword [ecx]
cmp dword [esp + 0x44], 0xf
lea eax, [esp + 0x30]
cmova eax, dword [esp + 0x30]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x10065021
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10064fe2
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x5c]
jne 0x10064f98
mov esi, dword [esp + 0x28]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x34], edi
cmp ecx, 0xf
jbe 0x10065031
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10065027
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006535f
jmp 0x10065027
mov esi, dword [esp + 0x28]
jmp 0x10064ff0
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov dl, 0x4f
mov dword [esp + 0x10], 0x3b373b4f
mov dword [esp + 0x14], 0x292a2b10
xor ecx, ecx
mov dword [esp + 0x18], 0x2a3c212a
mov byte [esp + 0x1c], 0
lea eax, [esp + 0x11]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xb
jae 0x10065065
mov dl, byte [esp + 0x10]
jmp 0x10065052
xorps xmm0, xmm0
mov byte [esp + 0x1c], 0
lea ecx, [esp + 0x11]
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0
lea edx, [ecx + 1]
mov dword [esp + 0x44], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065090
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x1006512c
test edi, edi
je 0x1006512c
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1006512c
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x5c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10065128
cmp esi, dword [edi + 0xc4]
jne 0x100650e3
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x1006510f
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x100650f5
mov ecx, dword [ecx]
cmp dword [esp + 0x44], 0xf
lea eax, [esp + 0x30]
cmova eax, dword [esp + 0x30]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1006515f
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10065120
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x5c]
jne 0x100650d6
mov esi, dword [esp + 0x28]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x38], edi
cmp ecx, 0xf
jbe 0x1006516f
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10065165
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10065364
jmp 0x10065165
mov esi, dword [esp + 0x28]
jmp 0x1006512e
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov al, 0x1e
mov byte [esp + 0x10], 0x6a
mov dl, al
mov byte [esp + 0xc], al
xor al, byte [esp + 0x10]
mov cl, 0x12
xor cl, byte [esp + 0x10]
mov ch, 2
mov byte [esp + 0x11], al
mov dh, 0xf
mov byte [esp + 0x12], cl
mov ah, 0x35
mov cl, byte [esp + 0x10]
xorps xmm0, xmm0
mov byte [esp + 0xf], 0xb
xor dl, cl
mov al, byte [esp + 0xf]
xor dh, cl
xor al, cl
mov byte [esp + 0xd], 6
mov byte [esp + 0x17], al
xor ah, cl
mov al, byte [esp + 0xd]
xor al, cl
mov byte [esp + 0xe], ch
mov byte [esp + 0x18], al
xor ch, cl
mov al, byte [esp + 0xc]
xor al, cl
mov byte [esp + 0x15], ch
mov byte [esp + 0x19], al
mov al, byte [esp + 0xe]
xor al, cl
mov byte [esp + 0x1b], 0
lea ecx, [esp + 0x11]
mov byte [esp + 0x13], dl
mov byte [esp + 0x16], dh
lea edx, [ecx + 1]
mov byte [esp + 0x14], ah
mov byte [esp + 0x1a], al
mov byte [esp + 0x1b], 0
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065210
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x100652ac
test edi, edi
je 0x100652ac
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100652ac
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x5c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x100652a8
cmp esi, dword [edi + 0xc4]
jne 0x10065263
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x1006528f
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10065275
mov ecx, dword [ecx]
cmp dword [esp + 0x44], 0xf
lea eax, [esp + 0x30]
cmova eax, dword [esp + 0x30]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x100652df
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x100652a0
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x5c]
jne 0x10065256
mov esi, dword [esp + 0x28]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x3c], edi
cmp ecx, 0xf
jbe 0x100652ef
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100652e5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10065369
jmp 0x100652e5
mov esi, dword [esp + 0x28]
jmp 0x100652ae
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov esi, dword [esi]
test esi, esi
je 0x10065311
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10065311
lea ecx, [esi + 0xd4]
call fcn.10019710
mov esi, eax
jmp 0x10065313
xor esi, esi
mov edi, dword [esp + 0x28]
mov edi, dword [edi]
test edi, edi
je 0x10065336
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10065336
or esi, 0x28
mov ecx, edi
push esi
call dword [0x100b2ee8]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
int3