Function at 0x401000
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
mov eax, dword [0x481240]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x482594]
lea eax, [ecx + 1]
imul eax, ecx
mov edx, eax
not edx
mov edi, eax
and edi, 0xfdc757b6
mov esi, eax
and eax, 0x58c7ed81
and esi, 1
mov ecx, edx
and ecx, 0x238a848
and edx, 0xa738127e
or edi, ecx
or eax, edx
mov ecx, dword [0x482590]
xor edi, 0xfdc757b6
mov edx, eax
xor edx, 0x58c7ed81
xor eax, 0xa738127e
or esi, edi
andn edx, esi, edx
and eax, esi
not esi
or eax, edx
not eax
or eax, esi
cmp eax, 0xffffffff
mov eax, 0x2b95bbf5
sete byte [ebp - 0x11]
cmp ecx, 0xa
setl byte [ebp - 0x12]
jmp 0x401410
imul esi
not eax
not edi
and edi, 0x1e
rcr edx, 0x97
add ebx, 0x41
imul eax
rcl ebx, 0
add esi, 0xee
dec edx
ror edi, 0x66
rcr esi, 0x70
and edi, 0xa9
rol esi, 0xdd
not esi
ror edi, 0x23
rol edi, 0x25
neg ebx
and ebx, 0xc8
neg eax
rol ebx, 0x89
add edx, 0x89
not ebx
neg esi
or esi, 0x40
bswap edx
ror edi, 0x98
and eax, 0x91
bswap edi
inc edi
rcr edi, 0xca
rcr edi, 0x5c
imul eax
ror edi, 0x3b
add eax, 0xc0
or edi, 3
bswap esi
inc esi
neg edi
neg edi
add ebx, 0x6e
bswap edi
neg esi
not edx
dec edx
and esi, 0x23
mov edi, 0xf
dec eax
and edx, 0x23
rcr ebx, 0xa3
sub ebx, 0x96
rol esi, 0xa6
add esi, 0xac
add esi, 0xdf
inc edi
not esi
imul edi
imul esi
mov eax, 0x99
add edx, 0x7d
sbb eax, 0xf8
sbb edi, 0x33
rcr esi, 0x8c
rol edx, 0xfb
imul esi
bswap edx
neg eax
dec eax
neg ebx
inc ebx
rol eax, 0x56
neg eax
mov esi, 0x54
sub eax, 0xa8
sub esi, 0x5e
inc edx
dec ebx
sub ebx, 0xb2
rol edi, 0x6f
dec ebx
ror esi, 0xc1
rcr esi, 0x68
sbb eax, 0x14
sbb edi, 0xdd
or ebx, 0x10
dec ebx
inc edx
not esi
neg edi
and ebx, 0xbf
rcr edi, 0xda
neg eax
dec ebx
sbb eax, 0xa7
and edi, 0xb4
not ebx
ror esi, 0xed
imul esi
rcr ebx, 0x1c
neg ebx
bswap esi
or eax, 0x34
neg eax
neg edx
dec esi
rol ebx, 0x30
imul eax
ror eax, 0x7e
neg eax
sub ebx, 0xa4
and esi, 0xfc
mov eax, 0xd5
ror ebx, 0xf7
ror edx, 0xbd
mov edx, 0xb4
and esi, 0xc1
inc esi
add esi, 0xe2
not esi
neg ebx
imul eax
and esi, 0xb4
dec eax
add edx, 0x7d
add edi, 0x5c
mov esi, 0xce
rcr edi, 0xfd
rcl esi, 0x16
rol esi, 0x9b
sub esi, 0xbe
inc ebx
neg edi
sbb ebx, 0x23
neg edx
rcl esi, 0xfa
sub ebx, 0
add edx, 0x42
not edi
sbb edx, 0xea
sbb ebx, 0x1b
neg ebx
or eax, 0xb3
inc eax
rcl esi, 0x9e
rcr esi, 0x7e
not esi
dec esi
inc edi
not edx
rol ebx, 0x87
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
xor ecx, ecx
xor edi, edi
mov ecx, dword [edx]
mov edi, dword [esi]
not byte [edi]
sub byte [edi], 0x64
add byte [edi], 0x75
imul byte [edi]
inc edi
loop 0x40124f
rol ebx, 0xe9
rol edi, 0xec
add edi, 0x93
not edx
not edi
dec ebx
not esi
or ebx, 0x1e
add eax, 0x44
rol edi, 0x94
and eax, 0xdc
dec edi
rcl ebx, 0x67
rcr edi, 0x2b
imul eax
add esi, 0x26
sub edx, 0xee
imul edi
and edi, 0xc9
dec edx
or esi, 0x78
not edi
rcl ebx, 0xf3
dec edx
or edi, 0x8c
imul edi
neg edx
bswap edx
ror ebx, 0xb4
mov eax, 0xf5
add esi, 0x6f
imul edi
dec esi
rol edx, 0xdd
rcr ebx, 0xda
mov esi, 0x8a
not eax
mov esi, 0x5d
and esi, 0x5a
neg ebx
bswap ebx
sbb ebx, 0x77
sub edx, 0x9e
neg ebx
ror eax, 0xba
inc ebx
ror eax, 0xe5
neg eax
ror eax, 4
bswap esi
imul edx
not edi
ror edi, 0xe1
or ebx, 0xac
ror eax, 0x2e
sbb esi, 0xed
rcl eax, 0x58
dec ebx
rcr esi, 0x7d
bswap ebx
not ebx
ror ebx, 0xe6
sub esi, 0x1a
dec eax
neg ebx
inc ebx
neg edx
add edx, 0xda
imul edx
sbb edx, 0x82
add edi, 0x90
bswap eax
not eax
inc esi
or edx, 0xd3
not edi
not edx
dec eax
bswap edx
not eax
rcr edi, 0xf0
sbb eax, 0x5b
rcr esi, 0xef
or edi, 0x1a
rcl esi, 0xfd
sub eax, 0x2e
rcl ebx, 0xda
bswap edi
mov edi, 0xa3
neg edi
inc edi
mov edx, 0x8d
ror edx, 0xf1
sbb edi, 0xfc
ror ebx, 0xe7
rol esi, 0x71
not ebx
or edi, 0xce
bswap edx
imul edx
neg eax
inc ebx
imul edi
not esi
mov esi, 0xc4
dec edx
or esi, 0xca
add edi, 0x5c
neg edi
dec eax
mov ebx, 0xd0
mov ebx, 9
ror ebx, 0xd0
dec edi
sub ebx, 0xa4
inc esi
bswap eax
inc edx
not esi
bswap edi
neg edi
imul esi
ror edi, 4
neg esi
inc edi
imul esi
rcr edx, 0xe4
sub esi, 0xb1
sbb edi, 0x36
inc edi
inc eax
inc esi
ror edi, 0x65
add eax, 0x97
neg edx
sub edi, 5
dec esi
not edi
and ebx, 0x21
rcr edx, 0x7d
rol esi, 0xe3
rcr edx, 0x8a
sub edx, 0x23
inc edx
dec ebx
ror edi, 0xa2
dec eax
dec esi
rcl eax, 0x5c
imul eax
mov eax, 0x646ae058
nop word cs:[eax + eax]
cmp eax, 0x3bb30e7b
jle 0x401440
cmp eax, 0x5744f13c
jg 0x401470
cmp eax, 0x3bb30e7c
je 0x401a19
cmp eax, 0x571d5ef4
jne 0x401b61
mov eax, 0x3bb30e7c
jmp 0x401410
cmp eax, 0x2b95bbf4
jg 0x401900
cmp eax, 0xdf1cf697
je 0x401acf
cmp eax, 0xf6ef372d
jne 0x401410
mov eax, 0xdf1cf697
jmp 0x401410
cmp eax, 0x5744f13d
je 0x401089
cmp eax, 0x646ae058
jne 0x401410
imul esi
not eax
not edi
and edi, 0x1e
rcr edx, 0x97
add ebx, 0x41
imul eax
rcl ebx, 0
add esi, 0xee
dec edx
ror edi, 0x66
rcr esi, 0x70
and edi, 0xa9
rol esi, 0xdd
not esi
ror edi, 0x23
rol edi, 0x25
neg ebx
and ebx, 0xc8
neg eax
rol ebx, 0x89
add edx, 0x89
not ebx
neg esi
or esi, 0x40
bswap edx
ror edi, 0x98
and eax, 0x91
bswap edi
inc edi
rcr edi, 0xca
rcr edi, 0x5c
imul eax
ror edi, 0x3b
add eax, 0xc0
or edi, 3
bswap esi
inc esi
neg edi
neg edi
add ebx, 0x6e
bswap edi
neg esi
not edx
dec edx
and esi, 0x23
mov edi, 0xf
dec eax
and edx, 0x23
rcr ebx, 0xa3
sub ebx, 0x96
rol esi, 0xa6
add esi, 0xac
add esi, 0xdf
inc edi
not esi
imul edi
imul esi
mov eax, 0x99
add edx, 0x7d
sbb eax, 0xf8
sbb edi, 0x33
rcr esi, 0x8c
rol edx, 0xfb
imul esi
bswap edx
neg eax
dec eax
neg ebx
inc ebx
rol eax, 0x56
neg eax
mov esi, 0x54
sub eax, 0xa8
sub esi, 0x5e
inc edx
dec ebx
sub ebx, 0xb2
rol edi, 0x6f
dec ebx
ror esi, 0xc1
rcr esi, 0x68
sbb eax, 0x14
sbb edi, 0xdd
or ebx, 0x10
dec ebx
inc edx
not esi
neg edi
and ebx, 0xbf
rcr edi, 0xda
neg eax
dec ebx
sbb eax, 0xa7
and edi, 0xb4
not ebx
ror esi, 0xed
imul esi
rcr ebx, 0x1c
neg ebx
bswap esi
or eax, 0x34
neg eax
neg edx
dec esi
rol ebx, 0x30
imul eax
ror eax, 0x7e
neg eax
sub ebx, 0xa4
and esi, 0xfc
mov eax, 0xd5
ror ebx, 0xf7
ror edx, 0xbd
mov edx, 0xb4
and esi, 0xc1
inc esi
add esi, 0xe2
not esi
neg ebx
imul eax
and esi, 0xb4
dec eax
add edx, 0x7d
add edi, 0x5c
mov esi, 0xce
rcr edi, 0xfd
rcl esi, 0x16
rol esi, 0x9b
sub esi, 0xbe
inc ebx
neg edi
sbb ebx, 0x23
neg edx
rcl esi, 0xfa
sub ebx, 0
add edx, 0x42
not edi
sbb edx, 0xea
sbb ebx, 0x1b
neg ebx
or eax, 0xb3
inc eax
rcl esi, 0x9e
rcr esi, 0x7e
not esi
dec esi
inc edi
not edx
rol ebx, 0x87
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
xor ecx, ecx
xor edi, edi
mov ecx, dword [edx]
mov edi, dword [esi]
not byte [edi]
sub byte [edi], 0x64
add byte [edi], 0x75
imul byte [edi]
inc edi
loop 0x401648
rol ebx, 0xe9
rol edi, 0xec
add edi, 0x93
not edx
not edi
dec ebx
not esi
or ebx, 0x1e
add eax, 0x44
rol edi, 0x94
and eax, 0xdc
dec edi
rcl ebx, 0x67
rcr edi, 0x2b
imul eax
add esi, 0x26
sub edx, 0xee
imul edi
and edi, 0xc9
dec edx
or esi, 0x78
not edi
rcl ebx, 0xf3
dec edx
or edi, 0x8c
imul edi
neg edx
bswap edx
ror ebx, 0xb4
mov eax, 0xf5
add esi, 0x6f
imul edi
dec esi
rol edx, 0xdd
rcr ebx, 0xda
mov esi, 0x8a
not eax
mov esi, 0x5d
and esi, 0x5a
neg ebx
bswap ebx
sbb ebx, 0x77
sub edx, 0x9e
neg ebx
ror eax, 0xba
inc ebx
ror eax, 0xe5
neg eax
ror eax, 4
bswap esi
imul edx
not edi
ror edi, 0xe1
or ebx, 0xac
ror eax, 0x2e
sbb esi, 0xed
rcl eax, 0x58
dec ebx
rcr esi, 0x7d
bswap ebx
not ebx
ror ebx, 0xe6
sub esi, 0x1a
dec eax
neg ebx
inc ebx
neg edx
add edx, 0xda
imul edx
sbb edx, 0x82
add edi, 0x90
bswap eax
not eax
inc esi
or edx, 0xd3
not edi
not edx
dec eax
bswap edx
not eax
rcr edi, 0xf0
sbb eax, 0x5b
rcr esi, 0xef
or edi, 0x1a
rcl esi, 0xfd
sub eax, 0x2e
rcl ebx, 0xda
bswap edi
mov edi, 0xa3
neg edi
inc edi
mov edx, 0x8d
ror edx, 0xf1
sbb edi, 0xfc
ror ebx, 0xe7
rol esi, 0x71
not ebx
or edi, 0xce
bswap edx
imul edx
neg eax
inc ebx
imul edi
not esi
mov esi, 0xc4
dec edx
or esi, 0xca
add edi, 0x5c
neg edi
dec eax
mov ebx, 0xd0
mov ebx, 9
ror ebx, 0xd0
dec edi
sub ebx, 0xa4
inc esi
bswap eax
inc edx
not esi
bswap edi
neg edi
imul esi
ror edi, 4
neg esi
inc edi
imul esi
rcr edx, 0xe4
sub esi, 0xb1
sbb edi, 0x36
inc edi
inc eax
inc esi
ror edi, 0x65
add eax, 0x97
neg edx
sub edi, 5
dec esi
not edi
and ebx, 0x21
rcr edx, 0x7d
rol esi, 0xe3
rcr edx, 0x8a
sub edx, 0x23
inc edx
dec ebx
ror edi, 0xa2
dec eax
dec esi
rcl eax, 0x5c
imul eax
mov ecx, dword [0x482594]
mov edi, 0x4043ad51
lea eax, [ecx + 1]
imul eax, ecx
mov esi, eax
mov ecx, eax
xor ecx, 0x1a346baa
not esi
mov edx, esi
and ecx, eax
and edx, 0x1a346baa
and esi, 0xaa5237b7
and eax, 0x55adc848
or ecx, edx
or eax, esi
mov edx, ecx
not edx
and ecx, 0x2893d590
and edx, 0xd76c2a6f
or ecx, edx
mov edx, ecx
xor edx, 0x3224b433
xor ecx, 0xcd5841c4
mov esi, ecx
and esi, 0xc88b4bc8
and edx, 0x3774b437
or edx, esi
mov esi, eax
xor esi, 0x15248000
xor eax, 0x88020380
and eax, 0xc88b4bc8
and esi, 0x3774b437
or esi, eax
xor esi, edx
xor ecx, esi
test ecx, esi
mov esi, 0x5744f13d
setne ah
sete ch
cmp dword [0x482590], 0xa
mov cl, ah
setge al
setl dl
and ah, dl
and al, ch
xor cl, dl
or dl, ch
or al, ah
mov ah, cl
mov dh, cl
xor al, 1
xor ah, 1
mov ch, al
or al, dl
and dh, ah
xor ch, dl
xor al, 1
xor dh, 1
or al, ch
mov ch, ah
xor ch, dh
or dh, ah
mov ah, al
xor dh, 1
xor ah, 1
or dh, ch
mov ch, dh
and dh, ah
xor ch, 1
and ch, al
or al, cl
or dh, ch
mov ecx, eax
xor cl, dh
test cl, 1
cmovne edi, esi
test al, 1
mov eax, 0x4043ad51
cmovne eax, edi
test dh, 1
cmove eax, edi
jmp 0x401410
cmp eax, 0x2b95bbf5
je 0x401ae9
cmp eax, 0x3b3be24c
jne 0x401410
mov ecx, dword [0x482594]
lea eax, [ecx + 1]
imul eax, ecx
mov edx, eax
not edx
mov esi, eax
and esi, 0x1ec7d620
mov ecx, edx
and ecx, 0xe13829de
and edx, 0x93708170
or esi, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
xor esi, 0x1ec7d620
and eax, 0x6c8f7e8f
or ecx, esi
or eax, edx
mov edx, ecx
not edx
and ecx, 0x376b0fbc
mov esi, edx
and esi, 0xc894f043
or ecx, esi
mov esi, eax
xor esi, 0x240b0e8c
xor eax, 0x80108040
and eax, 0xc894f043
and esi, 0x376b0fbc
or esi, eax
xor esi, ecx
not esi
or esi, edx
xor esi, 0xffffffff
mov esi, 0x646ae058
sete ah
setne cl
cmp dword [0x482590], 0xa
setge ch
setl dl
mov al, ch
xor cl, dl
or dl, ah
or ch, ah
xor al, ah
xor dl, 1
xor cl, 1
not al
or cl, dl
and al, ah
mov ah, cl
xor ah, 1
xor al, 1
mov dl, ah
mov dh, al
or al, ch
and dl, cl
xor dh, ch
xor al, 1
xor ah, dl
xor dl, 1
or al, dh
or dl, cl
xor dl, 1
or dl, ah
mov ah, al
mov ecx, edx
xor ah, 1
xor cl, 1
and ah, dl
and cl, al
or cl, ah
mov ah, al
xor ah, dl
or dl, al
xor dl, 1
or dl, ah
mov eax, edx
xor al, cl
test al, 1
mov eax, 0x5744f13d
cmovne esi, eax
test dl, 1
mov eax, 0x646ae058
cmovne eax, esi
test cl, 1
cmove eax, esi
jmp 0x401410
push eax
mov eax, esp
mov dword [ebp - 0x18], eax
push eax
mov eax, esp
mov dword [ebp - 0x1c], eax
mov eax, dword [0x482594]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
not eax
mov esi, ecx
and esi, 0x8c673db0
mov edx, eax
and edx, 0x7398c24e
and eax, 0xe873eb93
or esi, edx
mov edx, ecx
xor edx, 0xfffffffe
and edx, ecx
xor esi, 0x8c673db0
and ecx, 0x178c146c
or edx, esi
or eax, ecx
mov esi, edx
not esi
and edx, 0xe873eb93
mov edi, esi
and edi, 0x178c146c
or edx, edi
mov edi, 0x571d5ef4
xor eax, edx
not eax
or eax, esi
mov esi, 0xf6ef372d
xor eax, 0xffffffff
setne ah
sete dl
cmp dword [0x482590], 0xa
mov cl, ah
setge ch
setl al
and ah, al
and ch, dl
xor cl, al
or al, dl
or ch, ah
xor al, 1
mov edx, ecx
or al, ch
or dl, al
xor al, cl
mov ecx, edx
xor cl, al
test al, al
mov eax, 0x571d5ef4
cmovne eax, esi
test dl, dl
cmovne eax, edi
test cl, cl
cmove eax, esi
jmp 0x401410
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + 0xc]
mov dword [eax], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
mov eax, 0x3b3be24c
jmp 0x401410
movzx ecx, byte [ebp - 0x11]
mov ah, byte [ebp - 0x12]
mov ebx, 0x3bb30e7c
mov esi, 0x571d5ef4
mov edi, 0x3bb30e7c
mov ch, ah
mov edx, ecx
xor ch, 1
xor dl, 1
mov al, ch
mov dh, dl
and al, ah
xor ch, al
xor al, 1
or al, ah
xor al, 1
or al, ch
xor al, 1
xor dh, al
mov ch, al
xor al, cl
mov ah, dh
or ch, dl
and dh, dl
xor ah, 1
xor ch, 1
or al, dh
and ah, dl
mov edx, eax
or ah, ch
xor dl, 1
mov cl, ah
xor cl, 1
and dl, cl
or cl, al
and al, ah
or al, dl
mov ch, cl
xor ch, al
test ch, 1
cmovne ebx, esi
test al, 1
mov eax, ebx
cmovne eax, edi
test cl, 1
cmovne eax, ebx
jmp 0x401410
cmp eax, 0x4043ad51
jne 0x401410
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00421a20
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret