Function at 0x4095c0
Capabilities:
Authenticate hmac

Disassembly:
enter 0x5c, 0
push ebx
push esi
push edi
mov dword [ebp - 4], eax
cmp byte [eax + 0x14], 0x28
je 0x4095e0
push TzSpecificLocalTimeToSystemTime
mov ecx, 0x402d30
push ecx
call fcn.00412274
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov edx, dword [eax + 0x2c]
mov ebx, dword [eax + 0x28]
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], 0
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x28]
cmp dword [ebp - 0x4c], esi
jae 0x40966b
mov edi, dword [ebp - 4]
add edi, 0x28
mov ecx, dword [edi]
cmp dword [ebp - 0x4c], ecx
jb 0x409629
push 0x1619
mov edx, 0x402d30
push edx
call fcn.00410c8c
mov edx, dword [edi + 4]
mov eax, dword [edi]
mov ebx, dword [ebp - 0x4c]
mov cl, byte [edx + ebx]
cmp cl, 0x25
jne 0x409666
mov esi, dword [ebp - 4]
add esi, 0x28
mov edi, dword [esi]
cmp edi, dword [ebp - 0x4c]
jae 0x409656
push 0x161b
mov eax, 0x402d30
push eax
call fcn.00410c8c
mov ebx, dword [ebp - 0x4c]
mov edx, dword [esi + 4]
mov eax, dword [esi]
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], edx
jmp 0x40966b
inc dword [ebp - 0x4c]
jmp 0x409601
mov eax, ebp
call fcn.004097f0
xor al, 1
je 0x4097e0
mov esi, 0x467570
lea edi, [ebp - 0x3c]
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 4]
push dword [ecx + 0x1c]
push dword [ecx + 0x18]
lea eax, [ebp - 0x3c]
call fcn.00414328
push dword [ebp + 8]
lea eax, [ebp - 0x3c]
call fcn.00402d68
mov eax, dword [ebp + 8]
call fcn.0041585c
xor al, 1
push eax
mov ebx, ebp
mov ecx, 0x409878
push ecx
push ebx
mov edx, 0x402d30
push edx
push 0x36
mov eax, GetTimeZoneInformation
call fcn.00403888
push dword [ebp + 8]
lea eax, [ebp - 0x3c]
call fcn.00409908
push eax
lea ebx, [ebp - 0x5c]
push ebx
call fcn.00415cd0
add esp, 8
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x24]
or edx, dword [ecx + 0x20]
je 0x4096f9
push dword [ebp + 8]
lea eax, [ebp - 0x3c]
call fcn.00402d68
mov esi, dword [ebp - 4]
add esi, 0x20
mov ebx, dword [esi + 4]
or ebx, dword [esi]
je 0x40970d
mov edx, dword [esi + 4]
mov eax, dword [esi]
jmp 0x409713
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
mov eax, ebp
call fcn.004097f0
test al, al
jne 0x4097e0
lea eax, [ebp - 0xc]
call fcn.00403f84
xor al, 1
je 0x40967a
mov eax, dword [ebp + 8]
call fcn.004158e0
movzx eax, al
push eax
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.00403fcc
mov ecx, eax
pop eax
cmp eax, ecx
jne 0x40967a
lea eax, [ebp - 0xc]
call fcn.00403f84
xor al, 1
je 0x40967a
mov eax, dword [ebp + 8]
call fcn.0041585c
xor al, 1
push eax
mov ebx, ebp
mov edx, 0x4098bc
push edx
push ebx
mov ecx, 0x402d30
push ecx
push 0x36
mov eax, 0x165b
call fcn.00403888
mov eax, dword [ebp + 8]
call fcn.004158e0
movzx eax, al
push eax
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.00403fcc
mov ebx, eax
pop eax
cmp eax, ebx
sete dl
push edx
mov esi, ebp
mov ecx, 0x4098fc
push ecx
push esi
mov eax, 0x402d30
push eax
push 0x36
mov eax, 0x165c
call fcn.00403888
mov eax, dword [ebp + 8]
call fcn.004158f8
lea eax, [ebp - 0xc]
call fcn.00404058
jmp 0x40975a
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x5c]
pop edi
pop esi
pop ebx
leave
ret 4