Function at 0x435cd0
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x5c
mov ecx, dword [0x4aa2c0]
mov eax, dword [ebp + 0x14]
mov esi, 0x8c633cc0
xor ecx, ebp
mov dword [ebp - 0x10], ecx
mov ecx, eax
xor ecx, 0xfffffffb
mov dword [ebp - 0x50], ecx
mov ecx, eax
not ecx
or ecx, 0xffffffdf
cmp ecx, 0xffffffff
mov ecx, 0x8400e451
cmove ecx, esi
mov esi, 0x2f601015
mov dword [ebp - 0x4c], ecx
jmp 0x435d20
mov ecx, dword [ebp - 0x24]
mov esi, 0xa6dac669
nop dword [eax + eax]
cmp esi, 0x14bcc42a
jg 0x435d80
cmp esi, 0xafb8dc4b
jle 0x435de0
cmp esi, 0xdb42bd70
jle 0x435e9d
cmp esi, 0xfbc13292
jle 0x435fb1
cmp esi, 0x13b7e29
jg 0x43620a
cmp esi, 0xfbc13293
je 0x436325
cmp esi, 0xfc99318b
jne 0x435d20
mov ecx, dword [ebp - 0x34]
mov esi, 0x71c0b5af
mov byte [ecx], 0x49
mov ecx, dword [ebp - 0x14]
jmp 0x435d20
cmp esi, 0x4af01e33
jg 0x435e50
cmp esi, 0x2fab289b
jle 0x435ee8
cmp esi, 0x358a68bb
jle 0x435ff5
cmp esi, 0x42e1eb01
jg 0x43626a
cmp esi, 0x358a68bc
je 0x436335
cmp esi, 0x38929998
jne 0x435d20
mov esi, 0x27972166
jmp 0x435d20
cmp esi, 0x9497fcec
jle 0x435f33
cmp esi, 0x9f07bf2a
jle 0x43604d
cmp esi, 0xa9c42ecd
jg 0x436296
cmp esi, 0x9f07bf2b
je 0x436347
cmp esi, 0xa6dac669
jne 0x435d20
mov ecx, dword [ebp - 0x24]
mov esi, 0xe2224171
mov ebx, 0x38929998
mov edi, 0xe2224171
mov ecx, dword [ecx]
mov dword [ebp - 0x68], ecx
mov ecx, dword [0x4abdc8]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
jmp 0x436604
cmp esi, 0x643a212b
jle 0x435f70
cmp esi, 0x72f37dfb
jle 0x436082
cmp esi, 0x788f7ca3
jg 0x4362d7
cmp esi, 0x72f37dfc
je 0x436384
cmp esi, 0x754c2246
jne 0x435d20
movzx ecx, byte [ebp - 0x16]
mov esi, 0xd75223fc
mov byte [ebp - 0x15], cl
jmp 0x435d20
cmp esi, 0xc930fbb9
jle 0x4360f9
cmp esi, 0xd75223fb
jg 0x4362fc
cmp esi, 0xc930fbba
je 0x43638e
cmp esi, 0xd214ba70
jne 0x435d20
mov ecx, dword [ebp - 0x64]
mov esi, 0x32a647fc
mov edx, 0xb0bbd9e7
cmp ecx, 0x400
cmove esi, edx
jmp 0x435d20
cmp esi, 0x27972165
jg 0x436138
cmp esi, 0x14bcc42b
je 0x43639e
cmp esi, 0x15533106
je 0x4363b1
cmp esi, 0x190f7d8a
jne 0x435d20
mov ecx, dword [ebp - 0x14]
mov esi, 0xfbc13293
mov ecx, dword [ecx]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x14]
inc ecx
mov dword [edx], ecx
jmp 0x435d20
cmp esi, 0x90e2a65e
jg 0x436199
cmp esi, 0x8034ece6
je 0x4363bb
cmp esi, 0x8400e451
je 0x4363c5
cmp esi, 0x8c633cc0
jne 0x435d20
mov dword [ebp - 0x58], eax
mov esi, 0x93c03b6b
jmp 0x435d20
cmp esi, 0x593738dd
jg 0x4361d5
cmp esi, 0x4af01e34
je 0x436404
cmp esi, 0x5526ee20
je 0x436451
cmp esi, 0x554f1c14
jne 0x435d20
test dword [ebp - 0x50], eax
mov esi, 0xdb42bd71
setne byte [ebp - 0x18]
jmp 0x435d20
cmp esi, 0xdb42bd71
je 0x43645b
cmp esi, 0xe2224171
je 0x435d10
cmp esi, 0xe4d57efb
jne 0x435d20
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x54]
mov dword [esi], edi
mov esi, dword [ebp - 0x14]
mov esi, dword [esi]
mov edx, dword [ebp - 0x14]
lea edi, [esi + 1]
mov dword [edx], edi
mov byte [esi], 0x25
mov esi, dword [ebp - 0x4c]
jmp 0x435d20
cmp esi, 0x2fab289c
je 0x436479
cmp esi, 0x30b08e7b
je 0x4364be
cmp esi, 0x32a647fc
jne 0x435d20
mov ecx, dword [0x4abdc8]
mov edi, dword [0x4abdc4]
lea esi, [ecx + 1]
imul esi, ecx
not esi
or esi, 0xfffffffe
cmp esi, 0xffffffff
sete cl
cmp edi, 0xa
setl dl
xor dl, cl
mov ecx, 0xe2224171
mov edx, 0xa6dac669
jmp 0x43668c
cmp esi, 0x9497fced
je 0x4364f2
cmp esi, 0x996da8f6
je 0x436526
cmp esi, 0x9e1b6b80
jne 0x435d20
movzx ecx, byte [ebp - 0x1c]
mov esi, 0x754c2246
mov byte [ebp - 0x16], cl
jmp 0x435d20
cmp esi, 0x643a212c
je 0x43653c
cmp esi, 0x6c33d4b9
je 0x436546
cmp esi, 0x71c0b5af
jne 0x435d20
mov ecx, dword [ebp - 0x34]
mov byte [ecx], 0x49
mov ecx, dword [0x4abdc8]
mov edi, dword [0x4abdc4]
lea esi, [ecx + 1]
imul esi, ecx
not esi
or esi, 0xfffffffe
cmp esi, 0xffffffff
sete cl
cmp edi, 0xa
setl dl
xor dl, cl
mov ecx, 0xfc99318b
mov edx, 0x91f338d4
cmovne ecx, edx
cmp esi, 0xffffffff
mov esi, ecx
cmove esi, edx
mov edx, dword [ebp - 0x14]
cmp edi, 0xa
cmovge esi, ecx
mov edx, dword [edx]
mov dword [ebp - 0x44], edx
jmp 0x435d20
cmp esi, 0xafb8dc4c
je 0x436550
cmp esi, 0xb0bbd9e7
je 0x436566
cmp esi, 0xc5ca7864
jne 0x435d20
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x40]
mov esi, 0x2fab289c
mov dword [ecx], edx
movzx ecx, byte [ebp - 0x17]
mov edx, dword [ebp - 0x30]
mov byte [edx], cl
jmp 0x435d20
cmp esi, 0x27972166
je 0x436574
cmp esi, 0x2df78562
je 0x43658b
cmp esi, 0x2f601015
jne 0x435d20
push eax
mov esi, esp
mov dword [ebp - 0x28], esi
push eax
mov esi, esp
mov dword [ebp - 0x2c], esi
push eax
mov esi, esp
mov dword [ebp - 0x14], esi
push eax
mov esi, esp
mov dword [ebp - 0x24], esi
mov ecx, dword [ebp + 0x10]
mov esi, dword [ebp - 0x28]
mov dword [esi], ecx
mov ecx, dword [ebp + 0xc]
mov esi, dword [ebp - 0x2c]
mov dword [esi], ecx
mov esi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x2c]
mov esi, dword [esi]
mov dword [ebp - 0x54], esi
mov esi, 0xe4d57efb
jmp 0x435d20
cmp esi, 0x90e2a65f
je 0x43659c
cmp esi, 0x91f338d4
je 0x4365b2
cmp esi, 0x93c03b6b
jne 0x435d20
mov edx, dword [ebp - 0x58]
mov esi, edx
xor esi, 0xfffffff7
test esi, edx
mov esi, 0x9f07bf2b
setne byte [ebp - 0x19]
jmp 0x435d20
cmp esi, 0x593738de
je 0x4365bc
cmp esi, 0x610b376b
je 0x4365c9
cmp esi, 0x62ee448a
jne 0x435d20
movzx ecx, byte [ebp - 0x1d]
mov esi, 0x754c2246
mov byte [ebp - 0x16], cl
jmp 0x435d20
cmp esi, 0x13b7e2a
je 0x4365e2
cmp esi, 0x117e117b
jne 0x435d20
mov ecx, dword [ebp - 0x48]
mov esi, 0x7d01cc86
mov edi, 0x5526ee20
mov ebx, 0x7d01cc86
movzx ecx, byte [ecx]
mov byte [ebp - 0x1c], cl
mov ecx, dword [0x4abdc8]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmove esi, edi
cmp dword [0x4abdc4], 0xa
setl dl
cmovge esi, ebx
xor dl, cl
cmovne esi, edi
jmp 0x435d20
cmp esi, 0x42e1eb02
je 0x436621
cmp esi, 0x44751c87
jne 0x435d20
mov ecx, dword [ebp - 0x5c]
mov esi, 0x90e2a65f
cmp byte [ecx], 0x4c
setne byte [ebp - 0x1a]
jmp 0x435d20
cmp esi, 0xa9c42ece
je 0x43663c
cmp esi, 0xae42aa8b
jne 0x435d20
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x14]
inc ecx
mov dword [edx], ecx
mov ecx, dword [ebp - 0x44]
mov byte [ecx], 0x36
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx]
mov esi, dword [ebp - 0x14]
lea edx, [ecx + 1]
mov dword [esi], edx
mov byte [ecx], 0x34
mov esi, 0xc930fbba
jmp 0x435d20
cmp esi, 0x788f7ca4
je 0x43665d
cmp esi, 0x7d01cc86
jne 0x435d20
mov ecx, dword [ebp - 0x48]
mov esi, 0x117e117b
jmp 0x435d20
cmp esi, 0xd7f27d42
jne 0x4366a2
mov ecx, dword [ebp - 0x28]
mov esi, 0x2df78562
mov ecx, dword [ecx]
movzx ecx, byte [ecx]
mov byte [ebp - 0x17], cl
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx]
mov dword [ebp - 0x30], ecx
jmp 0x435d20
mov ecx, dword [ebp - 0x3c]
mov esi, 0x15533106
mov byte [ecx], 0x23
jmp 0x435d20
mov ecx, dword [ebp - 0x28]
mov esi, 0x44751c87
mov ecx, dword [ecx]
mov dword [ebp - 0x5c], ecx
jmp 0x435d20
mov edx, dword [0x4abdc8]
mov edi, dword [0x4abdc4]
mov ebx, 0x13b7e2a
lea esi, [edx + 1]
imul esi, edx
mov edx, esi
xor edx, 0xfffffffe
test edx, esi
sete cl
cmp edi, 0xa
setl ch
xor ch, cl
mov ecx, 0x643a212c
cmovne ecx, ebx
test edx, esi
mov esi, ecx
cmove esi, ebx
jmp 0x436697
mov esi, 0xc930fbba
jmp 0x435d20
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x60], eax
mov esi, 0xa9c42ece
jmp 0x435d20
mov ecx, dword [ebp - 0x28]
mov esi, 0x788f7ca4
mov ecx, dword [ecx]
inc ecx
mov dword [ebp - 0x48], ecx
jmp 0x435d20
mov esi, 0x358a68bc
jmp 0x435d20
mov esi, 0x610b376b
jmp 0x435d20
mov edx, dword [0x4abdc8]
mov ecx, 0x4af01e34
mov edi, 0x593738de
lea esi, [edx + 1]
imul esi, edx
mov edx, esi
xor edx, 0xfffffffe
test edx, esi
mov esi, 0x593738de
sete dl
cmove esi, ecx
cmp dword [0x4abdc4], 0xa
setl dh
cmovge esi, edi
xor dh, dl
cmovne esi, ecx
jmp 0x435d20
mov edx, dword [0x4abdc8]
mov edi, dword [0x4abdc4]
mov ecx, 0x8034ece6
lea esi, [edx + 1]
imul esi, edx
not esi
or esi, 0xfffffffe
cmp esi, 0xffffffff
sete dl
cmp edi, 0xa
setl dh
xor dh, dl
mov edx, 0x593738de
cmovne edx, ecx
cmp esi, 0xffffffff
mov esi, edx
cmove esi, ecx
cmp edi, 0xa
mov edi, dword [ebp - 0x14]
cmovge esi, edx
mov edi, dword [edi]
mov dword [ebp - 0x38], edi
jmp 0x435d20
mov esi, 0x9e1b6b80
jmp 0x435d20
movzx ecx, byte [ebp - 0x18]
movzx ecx, byte [ebp - 0x18]
mov esi, 0x62ee448a
xor cl, 1
shl cl, 5
or cl, 0x58
mov byte [ebp - 0x1d], cl
jmp 0x435d20
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x40]
mov dword [ecx], edx
movzx ecx, byte [ebp - 0x17]
mov edx, dword [ebp - 0x30]
mov byte [edx], cl
mov ecx, dword [0x4abdc8]
mov edi, dword [0x4abdc4]
lea esi, [ecx + 1]
imul esi, ecx
not esi
or esi, 0xfffffffe
cmp esi, 0xffffffff
sete cl
cmp edi, 0xa
setl dl
xor dl, cl
mov ecx, 0xc5ca7864
mov edx, 0x72f37dfc
jmp 0x43668c
mov ecx, dword [0x4abdc8]
mov edi, dword [0x4abdc4]
lea esi, [ecx + 1]
imul esi, ecx
not esi
or esi, 0xfffffffe
cmp esi, 0xffffffff
sete cl
cmp edi, 0xa
setl dl
xor dl, cl
mov ecx, 0xc5ca7864
mov edx, 0x2fab289c
jmp 0x43668c
mov ecx, dword [0x4abdc8]
mov edi, dword [0x4abdc4]
lea esi, [ecx + 1]
imul esi, ecx
not esi
or esi, 0xfffffffe
cmp esi, 0xffffffff
sete cl
cmp edi, 0xa
setl dl
xor dl, cl
mov ecx, 0xfc99318b
mov edx, 0x71c0b5af
jmp 0x43668c
cmp byte [ebp - 0x1b], 0
mov esi, 0x554f1c14
mov ecx, 0x14bcc42b
cmovne esi, ecx
jmp 0x435d20
mov esi, 0x13b7e2a
jmp 0x435d20
mov esi, 0x8c633cc0
jmp 0x435d20
cmp byte [ebp - 0x19], 0
mov esi, 0x358a68bc
mov ecx, 0x190f7d8a
cmovne esi, ecx
jmp 0x435d20
mov byte [ebp - 0x15], 0x6f
mov esi, 0xd75223fc
jmp 0x435d20
mov ecx, dword [ebp - 0x68]
mov esi, 0x996da8f6
cmp ecx, 0x800
setne byte [ebp - 0x1b]
jmp 0x435d20
mov ecx, dword [ebp - 0x30]
mov esi, 0x30b08e7b
inc ecx
mov dword [ebp - 0x40], ecx
jmp 0x435d20
cmp byte [ebp - 0x1a], 0
mov esi, 0x42e1eb02
mov ecx, 0xd7f27d42
cmovne esi, ecx
jmp 0x435d20
mov esi, 0xae42aa8b
jmp 0x435d20
mov ecx, dword [ebp - 0x14]
mov esi, 0x4af01e34
jmp 0x435d20
mov edx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x14]
inc edx
mov dword [esi], edx
mov esi, 0x6c33d4b9
mov edx, dword [ebp - 0x38]
mov byte [edx], 0x2b
jmp 0x435d20
mov ecx, dword [0x4abdc8]
mov esi, 0x643a212c
mov ebx, 0xafb8dc4c
mov edi, 0x643a212c
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmove esi, ebx
cmp dword [0x4abdc4], 0xa
setl dl
cmovge esi, edi
xor dl, cl
cmovne esi, ebx
jmp 0x435d20
mov ecx, dword [ebp - 0x14]
mov esi, 0x9497fced
mov ecx, dword [ecx]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x14]
inc ecx
mov dword [edx], ecx
jmp 0x435d20
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x24]
mov edx, 0xe00
and ecx, edx
mov dword [esi], ecx
mov esi, 0xd214ba70
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx]
mov dword [ebp - 0x64], ecx
jmp 0x435d20
mov ecx, dword [0x4abdc8]
mov edi, dword [0x4abdc4]
lea esi, [ecx + 1]
imul esi, ecx
not esi
or esi, 0xfffffffe
cmp esi, 0xffffffff
sete cl
cmp edi, 0xa
setl dl
xor dl, cl
mov ecx, 0x7d01cc86
mov edx, 0x117e117b
cmovne ecx, edx
cmp esi, 0xffffffff
mov esi, ecx
cmove esi, edx
cmp edi, 0xa
cmovge esi, ecx
jmp 0x435d20
cmp esi, 0xd75223fc
jne 0x435d20
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 - 0x2c]
mov esi, dword [eax]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004388e0
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret