Function at 0xded605
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c
mov dword [ebp - 0x10], 0xc
xorps xmm2, xmm2
mov dword [ebp - 0xc], 3
mov dword [ebp - 8], 0x19
mov dword [ebp - 4], 0xffffffd8
movups xmm1, xmmword [ebp - 0x10]
push ebx
push esi
movaps xmm0, xmm1
mov dword [ebp - 0x30], ecx
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x2c], edx
movups xmm0, xmm1
mov dword [ebp - 0x28], 0x36
push edi
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x24], 0x25
push 0xa
movd eax, xmm1
pop ecx
push 5
add eax, 0x20
mov dword [ebp - 0x20], 0x21
xor ebx, ebx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x1c], 0x4b
mov eax, ebx
mov dword [ebp - 0x18], 0xffffff42
pop edi
sub ecx, dword [ebp + eax*4 - 0x28]
inc eax
cmp eax, edi
jl 0xded689
push 0x3a
mov dword [ebp - 0x40], ecx
mov eax, ebx
pop ecx
mov dword [ebp - 8], 0x29
mov dword [ebp - 4], 0xffffffad
add ecx, dword [ebp + eax*4 - 8]
inc eax
cmp eax, 2
jl 0xded6a8
mov edx, dword [0xe1a4e4]
mov eax, ebx
push 0xa
mov dword [ebp - 0x48], ecx
pop ecx
mov dword [ebp - 0xc], 0xb
mov dword [ebp - 8], 0x47
mov dword [ebp - 4], 0xffffffb7
sub ecx, dword [ebp + eax*4 - 0xc]
and edx, 0xb4361054
inc eax
cmp eax, 3
jl 0xded6d5
push 0x4a
mov dword [ebp - 0x4c], ecx
mov eax, ebx
pop ecx
mov dword [ebp - 8], 0x2d
mov dword [ebp - 4], 0xffffff89
add ecx, dword [ebp + eax*4 - 8]
inc eax
cmp eax, 2
jl 0xded6fb
push 0xb
mov dword [ebp - 0x50], ecx
mov eax, ebx
pop ecx
mov dword [ebp - 0xc], 0xa
mov dword [ebp - 8], 0x5e
mov dword [ebp - 4], 0xffffff90
add ecx, dword [ebp + eax*4 - 0xc]
inc eax
cmp eax, 3
jl 0xded722
mov dword [ebp - 0x5c], ecx
mov eax, ebx
mov ecx, 0x160
mov dword [ebp - 0x28], 0x35
mov dword [ebp - 0x24], 0x32
mov dword [ebp - 0x20], 0x2f
mov dword [ebp - 0x1c], 0x1d
mov dword [ebp - 0x18], 0x8d
sub ecx, dword [ebp + eax*4 - 0x28]
inc eax
cmp eax, edi
jl 0xded759
mov dword [ebp - 0xc], 0x56
movaps xmm1, xmm2
mov dword [ebp - 8], 0x30
add edx, 0x718b7012
mov dword [ebp - 4], 0xffffff52
mov dword [ebp - 0x10], 0x36
movups xmm0, xmmword [ebp - 0x10]
push 0x2a
mov dword [ebp - 0x54], ecx
psubd xmm1, xmm0
mov dword [ebp - 0x14], edx
movaps xmm0, xmm1
mov dword [ebp - 0xc], 0x57
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 8], 0x50
movups xmm0, xmm1
mov dword [ebp - 4], 0xffffff80
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
pop ecx
add eax, 0x10
mov dword [ebp - 0x58], eax
mov eax, ebx
sub ecx, dword [ebp + eax*4 - 0xc]
inc eax
cmp eax, 3
jl 0xded7d1
mov dword [ebp - 0x68], ecx
mov eax, ebx
mov ecx, 0x1c0
mov dword [ebp - 0xc], 0x19
mov dword [ebp - 8], 0x1f
mov esi, ecx
mov dword [ebp - 4], 0x168
sub esi, dword [ebp + eax*4 - 0xc]
inc eax
cmp eax, 3
jl 0xded7fc
push 0x1e
mov dword [ebp - 0x34], esi
mov eax, ebx
mov dword [ebp - 0x28], 0x55
mov dword [ebp - 0x24], 0x22
mov dword [ebp - 0x20], 0x24
mov dword [ebp - 0x1c], 0x5c
mov dword [ebp - 0x18], 0xffffff25
pop edx
sub edx, dword [ebp + eax*4 - 0x28]
inc eax
cmp eax, edi
jl 0xded831
mov dword [ebp - 0x64], edx
mov eax, ebx
mov edx, dword [ebp - 0x14]
mov esi, pe_nt_image_headers32
mov dword [ebp - 0xc], 0x5d
mov dword [ebp - 8], 0x4d
mov dword [ebp - 4], 0x26
sub esi, dword [ebp + eax*4 - 0xc]
inc eax
cmp eax, 3
jl 0xded85c
mov dword [ebp - 0x60], esi
mov eax, ebx
mov dword [ebp - 0x28], 0x52
mov dword [ebp - 0x24], 0x37
mov dword [ebp - 0x20], 2
mov dword [ebp - 0x1c], 0x42
mov dword [ebp - 0x18], 0xd3
sub ecx, dword [ebp + eax*4 - 0x28]
inc eax
cmp eax, edi
jl 0xded88e
push 0x12
mov dword [ebp - 0x78], ecx
movaps xmm1, xmm2
pop ecx
mov dword [ebp - 8], 0x42
mov dword [ebp - 4], 0xffffff76
mov dword [ebp - 0x10], 0x2c
mov dword [ebp - 0xc], ecx
movups xmm0, xmmword [ebp - 0x10]
mov dword [ebp - 8], ecx
mov dword [ebp - 4], 9
paddd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0xc
mov dword [ebp - 0x7c], eax
mov eax, ebx
add edi, dword [ebp + eax*4 - 8]
inc eax
cmp eax, 2
jl 0xded8ee
push 0x17
mov dword [ebp - 0x70], edi
mov eax, ebx
pop ecx
mov dword [ebp - 8], 0x1f
mov dword [ebp - 4], 0xffffffcc
add ecx, dword [ebp + eax*4 - 8]
inc eax
cmp eax, 2
jl 0xded90e
mov dword [ebp - 0x74], ecx
mov eax, ebx
mov ecx, 0x80
mov dword [ebp - 0xc], 0x5f
mov dword [ebp - 8], 0x55
mov dword [ebp - 4], 0xffffffbc
sub ecx, dword [ebp + eax*4 - 0xc]
or edx, 0xe2a88178
inc eax
cmp eax, 3
jl 0xded937
mov dword [ebp - 0x10], 6
movaps xmm1, xmm2
mov dword [ebp - 0xc], 0x30
mov dword [ebp - 8], 0x4b
mov dword [ebp - 4], 0xffffff7d
movups xmm0, xmmword [ebp - 0x10]
mov dword [ebp - 8], 0x23
mov dword [ebp - 4], 0xffffff92
paddd xmm1, xmm0
mov dword [ebp - 0x10], 0x11
movaps xmm0, xmm1
mov dword [ebp - 0xc], 0x61
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x6c], ecx
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movups xmm0, xmmword [ebp - 0x10]
push 0x63
movd eax, xmm1
movaps xmm1, xmm2
psubd xmm1, xmm0
mov dword [ebp - 4], 0xffffff82
movaps xmm0, xmm1
psrldq xmm0, 8
add eax, 0x22
paddd xmm1, xmm0
mov dword [ebp - 0x88], eax
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
pop ecx
push 0x3b
add eax, 0x2a
pop edi
mov dword [ebp - 0x8c], eax
mov eax, ebx
mov dword [ebp - 8], edi
add ecx, dword [ebp + eax*4 - 8]
inc eax
cmp eax, 2
jl 0xded9f4
mov dword [ebp - 0x10], edi
lea esi, [edx - 0x1f65be53]
mov dword [ebp - 0xc], 0x5b
movaps xmm1, xmm2
mov dword [ebp - 8], 0x53
mov edi, ebx
mov dword [ebp - 4], 0xfffffef8
movups xmm0, xmmword [ebp - 0x10]
push 3
mov dword [ebp - 0x84], ecx
paddd xmm1, xmm0
mov dword [ebp - 0x10], 0x2d
movaps xmm0, xmm1
mov dword [ebp - 0xc], 0x22
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 8], 0x15
movups xmm0, xmm1
mov dword [ebp - 4], 0xffffff9c
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
pop ecx
mov dword [ebp - 0x38], ecx
add eax, 0x2f
mov dword [ebp - 0x80], eax
mov eax, ebx
mov ecx, 0xdd26c0
inc eax
lea ecx, [ecx + 2]
cmp eax, 0xa60
jg 0xdeda8c
cmp word [ecx], bx
jne 0xdeda7a
jmp 0xdeda9e
or esi, 0xe6466bd3
cmp eax, 0x17da
jle 0xdeda9e
call fcn.00dec3d8
mov eax, esi
and eax, 0xf8a4b7d9
mov dword [ebp - 0x14], eax
mov dword [0xe1a4e4], eax
mov eax, 0xdd26c0
mov edx, eax
mov ecx, eax
call fcn.00dec55a
mov eax, dword [ebp - 0x38]
add eax, dword [ebp + edi*4 - 0x10]
inc edi
mov dword [ebp - 0x38], eax
cmp edi, 4
jl 0xdeda73
push 0x64
pop eax
mov esi, dword [ebp - 0x30]
movaps xmm1, xmm2
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], 0xfffffee2
mov dword [ebp - 0x10], 0x24
movups xmm0, xmmword [ebp - 0x10]
push 0x52
pop edi
paddd xmm1, xmm0
mov dword [ebp - 8], 0x1d
movaps xmm0, xmm1
mov dword [ebp - 4], 0xffffff59
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
push 0x49
paddd xmm1, xmm0
movd eax, xmm1
pop ecx
push 0x41
add eax, edi
pop edx
mov dword [ebp - 0x3c], eax
mov eax, ebx
mov dword [ebp - 0xc], edx
add ecx, dword [ebp + eax*4 - 0xc]
inc eax
cmp eax, 3
jl 0xdedb2d
mov dword [ebp - 0xc], edx
movaps xmm1, xmm2
mov dword [ebp - 0x10], 0x2e
mov dword [ebp - 8], 0x5e
mov dword [ebp - 4], 0xffffff08
movups xmm0, xmmword [ebp - 0x10]
mov dword [ebp - 0x94], ecx
push 0xd
paddd xmm1, xmm0
mov dword [ebp - 4], 0xffffff6b
movaps xmm0, xmm1
mov dword [ebp - 0xc], 0x42
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 8], 0x39
movups xmm0, xmm1
mov dword [ebp - 0x24], 0x63
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x20], edi
movd eax, xmm1
movaps xmm1, xmm2
pop ecx
mov dword [ebp - 0x10], ecx
movups xmm0, xmmword [ebp - 0x10]
add eax, 0x2c
mov dword [ebp - 0x1c], 0x34
mov dword [ebp - 0x90], eax
paddd xmm1, xmm0
mov dword [ebp - 0x18], 0x57
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movups xmm0, xmmword [ebp - 0x24]
mov dword [ebp - 0x24], 0x11
movd eax, xmm1
movaps xmm1, xmm2
psubd xmm1, xmm0
mov dword [ebp - 0x20], 0x40
movaps xmm0, xmm1
mov dword [ebp - 0x1c], 0x3e
psrldq xmm0, 8
add eax, ecx
paddd xmm1, xmm0
mov ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 0x40]
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], 0xffffff7b
xor eax, 0x5e3b13f7
movups xmm0, xmmword [ebp - 0x24]
sub eax, 0x7c6d3700
mov dword [0xe1a4c8], eax
psubd xmm2, xmm0
movd eax, xmm1
movaps xmm0, xmm2
psrldq xmm0, 8
paddd xmm2, xmm0
add eax, 0x160
movups xmm0, xmm2
mov dword [ebp - 0x98], eax
psrldq xmm0, 4
paddd xmm2, xmm0
movd eax, xmm2
add eax, 0xb
mov dword [ebp - 0x9c], eax
call fcn.00dee8ce
mov ecx, dword [ebp - 0x4c]
mov edi, eax
add ecx, dword [ebp - 0x48]
call fcn.00dee8ce
mov ecx, eax
mov dword [ebp - 0x14], ecx
test edi, edi
je 0xdeddd5
test ecx, ecx
je 0xdeddd5
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x2c]
jmp 0xdedcb1
cmp byte [eax + esi], 0x5f
jne 0xdedcb0
mov byte [eax + esi], 0x3d
inc eax
cmp eax, ecx
jb 0xdedca6
mov eax, dword [ebp - 0x54]
cdq
idiv dword [ebp - 0x58]
mov ecx, dword [ebp - 0x5c]
push eax
add ecx, esi
push ecx
push edi
call fcn.00e05084
mov eax, dword [ebp - 0x34]
cdq
idiv dword [ebp - 0x64]
push dword [ebp - 0x60]
add eax, dword [ebp - 0x68]
add eax, esi
push eax
push dword [ebp - 0x14]
call fcn.00e05084
mov eax, dword [ebp - 0x70]
mov ecx, esi
cdq
idiv dword [ebp - 0x74]
push dword [ebp - 0x6c]
sub ecx, eax
mov eax, dword [ebp - 0x78]
cdq
idiv dword [ebp - 0x7c]
add ecx, dword [ebp - 0x2c]
push ecx
add eax, edi
push eax
call fcn.00e05084
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x80]
sub eax, dword [ebp - 0x84]
push eax
mov eax, dword [ebp - 0x88]
add eax, dword [ebp - 0x8c]
add eax, esi
push eax
push esi
call fcn.00e05084
push dword [ebp - 0x90]
mov eax, esi
sub eax, dword [ebp - 0x3c]
push dword [ebp - 0x94]
add eax, dword [ebp - 0x2c]
push eax
call fcn.00e05117
add esp, 0x3c
mov ecx, esi
call fcn.00e05863
mov edx, eax
call fcn.00ddcf51
mov dword [ebp - 0x3c], eax
mov edx, ebx
mov ecx, 0xdd25b8
inc edx
lea ecx, [ecx + 2]
cmp edx, 0x1c51
jg 0xdedd74
cmp word [ecx], bx
jne 0xdedd5c
mov eax, dword [0xe1a4e4]
jmp 0xdedd83
call fcn.00dec3d8
mov eax, dword [0xe1a4e4]
and eax, 0xbc098773
xor eax, 0x18000609
mov edx, 0xdd25b8
or eax, 0x8761f876
mov ecx, 0xdd26c0
mov dword [0xe1a4e4], eax
call fcn.00dec55a
push dword [ebp - 0x14]
mov edx, dword [ebp - 0x3c]
mov ecx, esi
push edi
call fcn.00ddbc59
mov ecx, dword [ebp - 0x9c]
mov esi, eax
add ecx, dword [ebp - 0x98]
push ecx
push dword [ebp - 4]
push edi
call fcn.00e05117
mov eax, dword [ebp - 0x30]
add esp, 0x14
mov ecx, dword [ebp - 0x14]
mov byte [esi + eax], bl
jmp 0xdede06
mov eax, dword [0xe1a4e4]
push 0x3c
xor eax, 0x1c428762
mov dword [ebp - 0xc], 0x43
pop esi
mov dword [ebp - 8], 0x58
mov dword [ebp - 4], 0xffffff29
mov dword [0xe1a4c8], eax
add esi, dword [ebp + ebx*4 - 0xc]
inc ebx
cmp ebx, 3
jl 0xdeddfc
call fcn.00dee98d
mov ecx, edi
call fcn.00dee98d
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret