Function at 0x438cf0
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x5c
mov eax, dword [0x4b12c0]
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov esi, 0x5a3b5368
mov edi, 0x1882b6cc
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, edx
not eax
and edx, 4
or eax, 0xffffffdf
mov dword [ebp - 0x4c], edx
cmp eax, 0xffffffff
mov eax, 0xda89a803
cmove eax, esi
mov dword [ebp - 0x48], eax
jmp 0x438d70
mov eax, dword [0x4b2dc0]
mov edi, 0x5c0c6b3
mov ebx, 0xc2d29c22
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete al
cmove edi, ebx
cmp dword [0x4b2dbc], 0xa
mov esi, 0x5c0c6b3
setl dl
cmovge edi, esi
xor dl, al
cmovne edi, ebx
nop dword [eax]
cmp edi, 0x19a5d7ee
jg 0x438dd0
cmp edi, 0xe7c32c96
jg 0x438e30
cmp edi, 0xc73e78e1
jg 0x438edb
cmp edi, 0xade33e42
jle 0x439038
cmp edi, 0xc2d29c21
jg 0x439243
cmp edi, 0xade33e43
je 0x4393c0
cmp edi, 0xbb60c60c
jne 0x438d70
mov edi, 0x844c9e52
jmp 0x438d70
cmp edi, 0x389ae4d6
jg 0x438e80
cmp edi, 0x314cf279
jg 0x438f24
cmp edi, 0x1b7bab40
jle 0x439069
cmp edi, 0x1f33c90e
jg 0x439273
cmp edi, 0x1b7bab41
je 0x4393d3
cmp edi, 0x1dedc827
jne 0x438d70
mov edi, 0x5a3b5368
jmp 0x438d70
cmp edi, 0x5c0c6b2
jg 0x438fa5
cmp edi, 0xf433fc38
jle 0x439097
cmp edi, 0xf62caa21
jg 0x439295
cmp edi, 0xf433fc39
je 0x4393e4
cmp edi, 0xf615ce9e
jne 0x438d70
mov edi, 0xd7aeba5f
jmp 0x438d70
cmp edi, 0x6ac7d780
jg 0x438ffe
cmp edi, 0x5a3b5367
jle 0x439100
cmp edi, 0x5e2e5c45
jg 0x4392df
cmp edi, 0x5a3b5368
je 0x4393f2
cmp edi, 0x5c884002
jne 0x438d70
mov eax, dword [0x4b2dc0]
mov edi, 0x3273e380
mov ebx, 0x7bf4d862
mov dword [ebp - 0x54], ecx
mov esi, 0x3273e380
lea edx, [eax - 1]
jmp 0x439683
cmp edi, 0xd95b81cc
jle 0x439162
cmp edi, 0xdca18ac9
jg 0x439317
cmp edi, 0xd95b81cd
je 0x439402
cmp edi, 0xda89a803
jne 0x438d70
mov edx, dword [ebp - 0x14]
mov edi, 0x389ae4d7
mov edx, dword [edx]
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x34]
inc edx
mov dword [ebp - 0x50], edx
jmp 0x438d70
cmp edi, 0x3273e37f
jle 0x43919c
cmp edi, 0x33fbb832
jg 0x439343
cmp edi, 0x3273e380
je 0x439435
cmp edi, 0x337feaa2
jne 0x438d70
mov eax, dword [0x4b2dc0]
mov esi, dword [0x4b2dbc]
mov ebx, 0xdca18aca
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
xor eax, 0xfffffffe
test eax, edi
sete dl
cmp esi, 0xa
setl dh
xor dh, dl
mov edx, 0xa5147462
cmovne edx, ebx
test eax, edi
mov eax, dword [ebp - 0x14]
mov edi, edx
cmove edi, ebx
cmp esi, 0xa
cmovge edi, edx
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x5c], eax
jmp 0x438d70
cmp edi, 0xd15f9ef
jle 0x4391d2
cmp edi, 0x17a7ac42
jg 0x439376
cmp edi, 0xd15f9f0
je 0x43943f
cmp edi, 0xea3b154
jne 0x438d70
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x14]
mov edi, 0x798c372a
inc eax
mov dword [edx], eax
mov eax, dword [ebp - 0x44]
mov byte [eax], 0x36
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov esi, dword [ebp - 0x14]
lea edx, [eax + 1]
mov dword [esi], edx
mov byte [eax], 0x34
jmp 0x438d70
cmp edi, 0x7a18c1a2
jle 0x43920c
cmp edi, 0x7e299ab8
jle 0x4393aa
cmp edi, 0x7e299ab9
je 0x439451
cmp edi, 0x7e7ec273
jne 0x438d70
mov edi, 0xc73e78e2
jmp 0x438d70
cmp edi, 0x844c9e52
je 0x43945b
cmp edi, 0x97b32ec1
je 0x439498
cmp edi, 0xa5147462
jne 0x438d70
mov eax, dword [ebp - 0x14]
mov edi, 0x337feaa2
jmp 0x438d70
cmp edi, 0x19a5d7ef
je 0x4394b1
cmp edi, 0x19d7938b
je 0x4394c7
cmp edi, 0x1af93a1d
jne 0x438d70
mov edi, 0x55e0c991
jmp 0x438d70
cmp edi, 0xe7c32c97
je 0x4394ef
cmp edi, 0xe80f5617
je 0x439500
cmp edi, 0xf1772f6e
jne 0x438d70
mov eax, dword [0x4b2dc0]
mov esi, dword [0x4b2dbc]
mov ebx, 0x17a7ac43
mov dword [ebp - 0x58], ecx
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
xor eax, 0xfffffffe
test eax, edi
sete dl
cmp esi, 0xa
setl dh
xor dh, dl
mov edx, 0x7e299ab9
cmovne edx, ebx
test eax, edi
mov edi, edx
cmove edi, ebx
cmp esi, 0xa
cmovge edi, edx
jmp 0x438d70
cmp edi, 0x389ae4d7
je 0x43952e
cmp edi, 0x44340b60
je 0x439546
cmp edi, 0x55e0c991
jne 0x438d70
mov eax, dword [0x4b2dc0]
mov edi, 0x3273e380
mov esi, 0x5c884002
mov ebx, 0x3273e380
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete al
cmove edi, esi
cmp dword [0x4b2dbc], 0xa
setl dl
cmovge edi, ebx
xor dl, al
cmovne edi, esi
jmp 0x438d70
cmp edi, 0xc73e78e2
je 0x439557
cmp edi, 0xd28df95c
je 0x439571
cmp edi, 0xd7aeba5f
jne 0x438d70
cmp byte [ebp - 0x21], 0
mov edi, 0x55e0c991
mov eax, 0xd15f9f0
cmovne edi, eax
jmp 0x438d70
cmp edi, 0x314cf27a
je 0x4395b5
cmp edi, 0x31ef3bbf
je 0x4395c2
cmp edi, 0x322c9641
jne 0x438d70
mov eax, dword [ebp - 0x20]
mov edi, 0xf62caa22
mov eax, dword [eax]
mov dword [ebp - 0x64], eax
jmp 0x438d70
cmp edi, 0x5c0c6b3
je 0x4395de
cmp edi, 0x98dbfbd
je 0x4395fd
cmp edi, 0xb8b4513
jne 0x438d70
cmp dword [ebp - 0x4c], 0
mov edi, 0xc5998702
setne byte [ebp - 0x17]
movzx eax, byte [ebp - 0x17]
jmp 0x438d70
cmp edi, 0x6ac7d781
je 0x43963d
cmp edi, 0x6bb15fa0
je 0x439655
cmp edi, 0x798c372a
jne 0x438d70
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + 0x14]
mov edi, 0x33fbb833
mov dword [ebp - 0x2c], eax
jmp 0x438d70
cmp edi, 0xc2d29c22
je 0x439690
cmp edi, 0xc5998702
jne 0x438d70
movzx eax, byte [ebp - 0x17]
mov edi, 0x1b7bab41
xor al, 1
shl al, 5
or al, 0x58
mov byte [ebp - 0x26], al
jmp 0x438d70
cmp edi, 0x1f33c90f
je 0x438d30
cmp edi, 0x2c2b0a36
jne 0x438d70
mov edi, 0xd28df95c
jmp 0x438d70
cmp edi, 0xf62caa22
je 0x4396c1
cmp edi, 0xfdd0a895
jne 0x438d70
mov eax, dword [0x4b2dc0]
mov esi, dword [0x4b2dbc]
mov ebx, 0xf1772f6e
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
xor eax, 0xfffffffe
test eax, edi
sete dl
cmp esi, 0xa
setl dh
xor dh, dl
mov edx, 0x7e299ab9
jmp 0x439741
cmp edi, 0x5e2e5c46
je 0x4396d7
cmp edi, 0x6247a38f
jne 0x438d70
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x5c]
mov edi, 0xea3b154
mov dword [eax], edx
mov eax, dword [ebp - 0x40]
mov byte [eax], 0x49
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
jmp 0x438d70
cmp edi, 0xdca18aca
je 0x43970a
cmp edi, 0xe7535c3b
jne 0x438d70
mov eax, dword [ebp - 0x68]
mov edi, 0x5e2e5c46
movzx eax, byte [eax + 1]
mov byte [ebp - 0x25], al
jmp 0x438d70
cmp edi, 0x33fbb833
je 0x439714
cmp edi, 0x364fae20
jne 0x438d70
mov eax, dword [ebp - 0x58]
mov edi, 0x31ef3bbf
movzx eax, byte [eax]
mov byte [ebp - 0x23], al
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
jmp 0x438d70
cmp edi, 0x17a7ac43
je 0x439756
cmp edi, 0x1882b6cc
jne 0x438d70
push eax
mov esi, esp
mov dword [ebp - 0x30], esi
push eax
mov esi, esp
mov dword [ebp - 0x14], esi
push eax
mov esi, esp
mov dword [ebp - 0x20], esi
mov edi, 0xe80f5617
jmp 0x438d70
cmp edi, 0x7bf4d862
jne 0x439760
mov edi, 0xade33e43
jmp 0x438d70
mov eax, dword [ebp - 0x54]
mov edi, 0x6ac7d781
movzx eax, byte [eax]
mov byte [ebp - 0x22], al
jmp 0x438d70
movzx eax, byte [ebp - 0x26]
mov edi, 0xe7c32c97
mov byte [ebp - 0x16], al
jmp 0x438d70
mov byte [ebp - 0x15], 0x6f
mov edi, 0x7a18c1a3
jmp 0x438d70
mov eax, dword [ebp + 0x14]
mov edi, 0x1f33c90f
mov dword [ebp - 0x1c], eax
jmp 0x438d70
mov eax, dword [0x4b2dc0]
mov esi, dword [0x4b2dbc]
lea edi, [eax - 1]
imul edi, eax
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete al
cmp esi, 0xa
setl dl
xor dl, al
mov eax, 0xa5147462
mov edx, 0x337feaa2
jmp 0x43959f
mov edi, 0x5c884002
jmp 0x438d70
mov eax, dword [ebp - 0x14]
mov edi, 0x97b32ec1
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
jmp 0x438d70
mov edi, 0xf1772f6e
jmp 0x438d70
mov edx, dword [0x4b2dc0]
mov esi, dword [0x4b2dbc]
mov ebx, 0x1dedc827
lea edi, [edx + 1]
imul edi, edx
mov edx, edi
xor edx, 0xfffffffe
test edx, edi
sete al
cmp esi, 0xa
setl ah
xor ah, al
mov eax, 0xbb60c60c
cmovne eax, ebx
test edx, edi
mov edi, eax
cmove edi, ebx
jmp 0x4395aa
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x14]
mov edi, 0x1af93a1d
inc eax
mov dword [edx], eax
mov eax, dword [ebp - 0x38]
mov byte [eax], 0x23
jmp 0x438d70
cmp byte [ebp - 0x24], 0
mov edi, 0xb8b4513
mov eax, 0x314cf27a
cmovne edi, eax
jmp 0x438d70
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x20]
mov edx, 0xe00
mov edi, 0x6bb15fa0
and eax, edx
mov dword [esi], eax
mov eax, dword [ebp - 0x20]
jmp 0x438d70
movzx eax, byte [ebp - 0x16]
mov edi, 0x7a18c1a3
mov byte [ebp - 0x15], al
jmp 0x438d70
mov esi, dword [ebp - 0x30]
mov eax, dword [ebp + 8]
mov dword [esi], eax
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp - 0x30]
mov esi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x14]
mov dword [esi], eax
mov esi, dword [ebp - 0x14]
mov esi, dword [esi]
mov edx, dword [ebp - 0x14]
lea edi, [esi + 1]
mov dword [edx], edi
mov edi, dword [ebp - 0x48]
mov byte [esi], 0x25
jmp 0x438d70
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x50]
mov edi, 0x98dbfbd
mov dword [edx], esi
mov edx, dword [ebp - 0x34]
mov byte [edx], 0x2b
jmp 0x438d70
movzx eax, byte [ebp - 0x25]
mov edi, 0xe7c32c97
mov byte [ebp - 0x16], al
jmp 0x438d70
mov eax, dword [ebp - 0x60]
mov edi, 0x322c9641
mov edx, 0xf433fc39
cmp eax, 0x400
cmove edi, edx
jmp 0x438d70
mov eax, dword [0x4b2dc0]
mov esi, dword [0x4b2dbc]
lea edi, [eax + 1]
imul edi, eax
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete al
cmp esi, 0xa
setl dl
xor dl, al
mov eax, 0x2c2b0a36
mov edx, 0x44340b60
cmovne eax, edx
cmp edi, 0xffffffff
mov edi, eax
cmove edi, edx
cmp esi, 0xa
cmovge edi, eax
jmp 0x438d70
mov dword [ebp - 0x68], ecx
mov edi, 0xe7535c3b
jmp 0x438d70
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x14]
mov edi, 0x798c372a
inc eax
mov dword [edx], eax
movzx eax, byte [ebp - 0x23]
mov edx, dword [ebp - 0x3c]
mov byte [edx], al
jmp 0x438d70
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov edi, 0xc2d29c22
jmp 0x438d70
mov edx, dword [0x4b2dc0]
mov edi, 0xbb60c60c
mov eax, 0xbb60c60c
lea esi, [edx + 1]
imul esi, edx
not esi
or esi, 0xfffffffe
cmp esi, 0xffffffff
mov esi, 0x844c9e52
sete dl
cmove edi, esi
cmp dword [0x4b2dbc], 0xa
setl dh
cmovge edi, eax
xor dh, dl
cmovne edi, esi
jmp 0x438d70
movzx eax, byte [ebp - 0x22]
mov edi, 0xfdd0a895
mov edx, 0xd95b81cd
cmp al, 0x4c
cmove edi, edx
jmp 0x438d70
mov eax, dword [ebp - 0x2c]
mov edx, 0xe00
mov edi, 0x19d7938b
mov ebx, 0x7e7ec273
mov esi, 0x19d7938b
and eax, edx
mov edx, dword [ebp - 0x20]
mov dword [edx], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
mov eax, dword [0x4b2dc0]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
jmp 0x4396f8
mov eax, dword [ebp - 0x1c]
mov edi, 0x5c0c6b3
mov ebx, 0xf615ce9e
not eax
or eax, 0xfffffff7
cmp eax, 0xffffffff
mov eax, dword [0x4b2dc0]
setne byte [ebp - 0x21]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
jmp 0x438d4c
mov eax, dword [ebp - 0x64]
mov edi, 0x19a5d7ef
cmp eax, 0x800
setne byte [ebp - 0x24]
jmp 0x438d70
mov eax, dword [0x4b2dc0]
mov edi, 0x2c2b0a36
mov ebx, 0xd28df95c
mov esi, 0x2c2b0a36
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete al
cmove edi, ebx
cmp dword [0x4b2dbc], 0xa
jmp 0x438d5e
mov edi, 0x6247a38f
jmp 0x438d70
mov eax, dword [0x4b2dc0]
mov esi, dword [0x4b2dbc]
mov ebx, 0x6bb15fa0
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
xor eax, 0xfffffffe
test eax, edi
sete dl
cmp esi, 0xa
setl dh
xor dh, dl
mov edx, 0x19d7938b
cmovne edx, ebx
test eax, edi
mov edi, edx
cmove edi, ebx
cmp esi, 0xa
cmovge edi, edx
jmp 0x438d70
mov edi, 0x364fae20
jmp 0x438d70
cmp edi, 0x7a18c1a3
jne 0x438d70
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov edx, dword [ebp - 0x14]
lea ecx, [eax + 1]
mov dword [edx], ecx
movzx ecx, byte [ebp - 0x15]
mov byte [eax], cl
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0043b9a0
mov eax, dword [ebp + 0xc]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret