Function at 0x435d20
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x5c
mov eax, dword [0x4ae2c0]
mov edi, 0xd1845ddb
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, dword [0x4afdc8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, dword [0x4afdc4]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [ebp - 0x1d]
cmp eax, 0xa
mov eax, 0x53bec632
setl byte [ebp - 0x1e]
jmp 0x435da0
mov eax, dword [0x4afdc8]
mov esi, 0x74f533e
mov ebx, 0xb6680c40
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xb6680c40
sete cl
cmove eax, esi
cmp dword [0x4afdc4], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, esi
nop dword [eax + eax]
cmp eax, 0xe7081bbc
jle 0x435df0
cmp eax, 0x228cd65f
jle 0x435e60
cmp eax, 0x53bec631
jg 0x435f48
cmp eax, 0x37728d87
jg 0x436045
cmp eax, 0x2d37dd47
jg 0x436201
cmp eax, 0x228cd660
je 0x436514
cmp eax, 0x24bd731f
jne 0x435da0
movzx eax, byte [ebp - 0x15]
mov eax, 0x8ad83b1a
jmp 0x435da0
cmp eax, 0xbce5acb1
jle 0x435f00
cmp eax, 0xd1845dda
jg 0x435f87
cmp eax, 0xc7ec9ece
jg 0x436070
cmp eax, 0xc1d08ba4
jg 0x436232
cmp eax, 0xbce5acb2
je 0x436527
cmp eax, 0xc04fc84b
jne 0x435da0
mov eax, dword [ebp - 0x28]
mov ebx, 0xb5f23634
mov esi, 0xe182a6a1
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
mov eax, dword [0x4afdc8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xe182a6a1
jmp 0x4367df
cmp eax, 0x129b45be
jg 0x435fc1
cmp eax, 0x74f533d
jg 0x4360a4
cmp eax, 0xf8facd18
jg 0x436256
cmp eax, 0xe7081bbd
je 0x436562
cmp eax, 0xf01508d3
jne 0x435da0
push eax
mov eax, esp
mov dword [ebp - 0x28], eax
push eax
mov eax, esp
mov dword [ebp - 0x30], eax
push eax
mov eax, esp
mov dword [ebp - 0x34], eax
push eax
mov eax, esp
mov dword [ebp - 0x44], eax
push eax
mov edx, dword [0x4afdc8]
mov esi, dword [0x4afdc4]
mov ebx, 0x9b47a329
mov ecx, esp
mov dword [ebp - 0x14], ecx
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp esi, 0xa
setl dh
xor dh, dl
mov edx, 0xdfba35a0
cmovne edx, ebx
cmp eax, 0xffffffff
mov eax, edx
cmove eax, ebx
cmp esi, 0xa
cmovge eax, edx
jmp 0x435da0
cmp eax, 0xb0d207ed
jle 0x436000
cmp eax, 0xb6680c3f
jg 0x4360cf
cmp eax, 0xb2f1a6eb
jg 0x43627f
cmp eax, 0xb0d207ee
je 0x43656c
cmp eax, 0xb1ab2f25
jne 0x435da0
movzx ecx, byte [ebp - 0x23]
mov eax, 0xdbe4595e
mov byte [ebp - 0x17], cl
jmp 0x435da0
cmp eax, 0x74df333b
jg 0x4360fa
cmp eax, 0x6f353b41
jg 0x43629f
cmp eax, 0x53bec632
je 0x43657e
cmp eax, 0x58d3efca
jne 0x435da0
movzx eax, byte [ebp - 0x1f]
mov ecx, dword [ebp - 0x48]
mov byte [ecx], al
mov eax, 0x871c421b
jmp 0x435da0
cmp eax, 0xdfe11e50
jg 0x436155
cmp eax, 0xdbe4595d
jg 0x436300
cmp eax, 0xd1845ddb
je 0x4365a8
cmp eax, 0xd2df1205
jne 0x435da0
mov byte [ebp - 0x16], 0x6f
mov eax, 0x20d56329
jmp 0x435da0
cmp eax, 0x18322b85
jg 0x436183
cmp eax, 0x15fc3817
jg 0x436320
cmp eax, 0x129b45bf
je 0x436601
cmp eax, 0x15cc126d
jne 0x435da0
mov eax, dword [ebp - 0x68]
movzx eax, byte [eax]
mov byte [ebp - 0x22], al
mov eax, 0x74df333c
jmp 0x435da0
cmp eax, 0x8ad83b19
jle 0x4361ca
cmp eax, 0x9425a7bd
jg 0x43636f
cmp eax, 0x8ad83b1a
je 0x436619
cmp eax, 0x8ae18ad6
jne 0x435da0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x4c], eax
mov eax, 0x74eb3cf8
jmp 0x435da0
cmp eax, 0x4109c4eb
jg 0x43638f
cmp eax, 0x37728d88
je 0x436644
cmp eax, 0x3abdeeff
jne 0x435da0
mov eax, 0x37728d88
jmp 0x435da0
cmp eax, 0xd0d22918
jg 0x4363f9
cmp eax, 0xc7ec9ecf
je 0x436656
cmp eax, 0xc9293900
jne 0x435da0
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x14]
inc eax
mov dword [ecx], eax
mov eax, 0xacb61c3
jmp 0x435da0
cmp eax, 0xacb61c2
jg 0x43642a
cmp eax, 0x74f533e
je 0x43666c
cmp eax, 0x95272bf
jne 0x435da0
mov eax, 0x7ab3c368
jmp 0x435da0
cmp eax, 0xb98d4a10
jg 0x436473
cmp eax, 0xb6680c40
je 0x43669f
cmp eax, 0xb72cd953
jne 0x435da0
mov eax, 0xc9293900
jmp 0x435da0
cmp eax, 0x79da66b6
jg 0x436493
cmp eax, 0x74df333c
je 0x4366c4
cmp eax, 0x74eb3cf8
jne 0x435da0
mov eax, dword [0x4afdc8]
mov esi, 0xd1398f07
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xd1398f07
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edi
cmp dword [0x4afdc4], 0xa
setl dl
cmovge eax, esi
xor dl, cl
cmovne eax, edi
jmp 0x435da0
cmp eax, 0xe657f8aa
jg 0x4364bb
cmp eax, 0xdfe11e51
je 0x4366d5
cmp eax, 0xe182a6a1
jne 0x435da0
mov eax, dword [ebp - 0x28]
mov eax, 0xc04fc84b
jmp 0x435da0
cmp eax, 0x1e30fed7
jg 0x4364ee
cmp eax, 0x18322b86
je 0x4366df
cmp eax, 0x1df7f59b
jne 0x435da0
mov eax, dword [0x4afdc8]
mov esi, 0x435cc06e
mov ebx, 0xc6722aa0
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xc6722aa0
jmp 0x435d83
cmp eax, 0x84998d49
je 0x435d62
cmp eax, 0x871c421b
je 0x4366ef
cmp eax, 0x884b69e5
jne 0x435da0
mov eax, dword [ebp - 0x64]
cmp eax, 0x800
mov eax, 0x4109c4ec
setne byte [ebp - 0x21]
jmp 0x435da0
cmp eax, 0x2d37dd48
je 0x436735
cmp eax, 0x2e189596
jne 0x435da0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x14]
inc eax
mov dword [ecx], eax
mov eax, 0xf8facd19
jmp 0x435da0
cmp eax, 0xc1d08ba5
je 0x43675b
cmp eax, 0xc6722aa0
jne 0x435da0
movzx eax, byte [ebp - 0x15]
mov eax, 0x435cc06e
jmp 0x435da0
cmp eax, 0xf8facd19
je 0x43676e
cmp eax, 0xff79a2d8
jne 0x435da0
mov eax, dword [ebp - 0x58]
movsx eax, byte [eax]
mov dword [ebp - 0x5c], eax
mov eax, 0x129b45bf
jmp 0x435da0
cmp eax, 0xb2f1a6ec
je 0x436792
cmp eax, 0xb5f23634
jne 0x435da0
mov eax, 0x2d37dd48
jmp 0x435da0
cmp eax, 0x6f353b42
je 0x4367be
cmp eax, 0x72ce9418
jne 0x435da0
mov edx, dword [0x4afdc8]
mov ecx, dword [0x4afdc4]
mov esi, 0xe657f8ab
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0xb72cd953
cmovne esi, ebx
test edx, eax
mov eax, esi
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [ebp - 0x14]
cmovge eax, esi
mov ecx, dword [ecx]
mov dword [ebp - 0x3c], ecx
jmp 0x435da0
cmp eax, 0xdbe4595e
je 0x4367fc
cmp eax, 0xdfba35a0
jne 0x435da0
mov eax, 0xf01508d3
jmp 0x435da0
cmp eax, 0x15fc3818
je 0x43680d
cmp eax, 0x16d5ddad
jne 0x435da0
mov eax, dword [ebp - 0x3c]
mov esi, 0x18322b86
mov byte [eax], 0x23
mov edx, dword [0x4afdc8]
mov ecx, dword [0x4afdc4]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x3abdeeff
jmp 0x4368df
cmp eax, 0x9425a7be
je 0x436823
cmp eax, 0x9b47a329
jne 0x435da0
mov eax, 0x10f931ed
jmp 0x435da0
cmp eax, 0x4109c4ec
je 0x43682d
cmp eax, 0x435cc06e
jne 0x435da0
mov edx, dword [0x4afdc8]
mov ecx, dword [0x4afdc4]
mov esi, 0xb1ab2f25
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xc6722aa0
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
cmp ecx, 0xa
mov ch, byte [ebp - 0x15]
cmovge eax, edx
xor ch, 1
shl ch, 5
or ch, 0x58
mov byte [ebp - 0x23], ch
jmp 0x435da0
cmp eax, 0xd0d22919
je 0x436843
cmp eax, 0xd1398f07
jne 0x435da0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x40]
mov byte [eax], 0x49
mov eax, dword [ebp - 0x14]
mov eax, 0xd1845ddb
jmp 0x435da0
cmp eax, 0xacb61c3
je 0x43686c
cmp eax, 0x10f931ed
jne 0x435da0
push eax
mov eax, esp
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x28]
mov dword [eax], ecx
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x30]
mov dword [eax], ecx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x34]
mov dword [eax], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x44]
mov dword [eax], ecx
mov eax, dword [ebp - 0x44]
mov eax, 0xbce5acb2
jmp 0x435da0
cmp eax, 0xb98d4a11
je 0x4368b1
cmp eax, 0xb9f5f075
jne 0x435da0
mov eax, 0x1df7f59b
jmp 0x435da0
cmp eax, 0x79da66b7
je 0x4368f4
cmp eax, 0x7ab3c368
jne 0x435da0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, 0x84998d49
jmp 0x435da0
cmp eax, 0xe657f8ab
je 0x436904
cmp eax, 0xe7037f9c
jne 0x435da0
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
movzx eax, byte [eax]
mov byte [ebp - 0x1f], al
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov eax, 0x228cd660
jmp 0x435da0
cmp eax, 0x1e30fed8
jne 0x436911
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
not eax
or eax, 0xfffffffb
cmp eax, 0xffffffff
mov eax, 0x6f353b42
setne byte [ebp - 0x15]
jmp 0x435da0
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x14]
inc eax
mov dword [ecx], eax
mov eax, 0x58d3efca
jmp 0x435da0
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov edx, dword [ebp - 0x14]
lea ecx, [eax + 1]
mov dword [edx], ecx
mov byte [eax], 0x25
mov edx, 0x7ab3c368
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov ecx, eax
xor ecx, 0xffffffdf
test ecx, eax
mov eax, 0x2e189596
cmove eax, edx
jmp 0x435da0
mov eax, 0xc7ec9ecf
jmp 0x435da0
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov dword [ebp - 0x64], eax
mov eax, 0x884b69e5
jmp 0x435da0
movzx ecx, byte [ebp - 0x1d]
movzx eax, byte [ebp - 0x1e]
mov esi, 0xdfba35a0
mov edx, 0xf01508d3
mov ah, cl
xor ah, al
cmovne esi, edx
test al, al
mov eax, esi
cmovne eax, edx
test cl, cl
cmove eax, esi
jmp 0x435da0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x4c]
mov esi, 0xd1398f07
mov dword [eax], ecx
mov eax, dword [ebp - 0x40]
mov byte [eax], 0x49
mov edx, dword [0x4afdc8]
mov ecx, dword [0x4afdc4]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0xdfe11e51
cmovne esi, ebx
test edx, eax
mov eax, esi
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [ebp - 0x14]
cmovge eax, esi
mov ecx, dword [ecx]
mov dword [ebp - 0x50], ecx
jmp 0x435da0
mov eax, dword [ebp - 0x5c]
mov ecx, 0x8ae18ad6
cmp eax, 0x4c
mov eax, 0xe7037f9c
cmove eax, ecx
jmp 0x435da0
movzx eax, byte [ebp - 0x15]
mov eax, dword [0x4afdc8]
mov esi, 0xb9f5f075
mov ebx, 0x24bd731f
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x24bd731f
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jmp 0x435d83
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov eax, 0xff79a2d8
jmp 0x435da0
cmp dword [ebp - 0x54], 0
mov eax, 0xb98d4a11
mov ecx, 0x37728d88
cmove eax, ecx
jmp 0x435da0
mov eax, dword [ebp - 0x1c]
mov ebx, 0xe7081bbd
mov esi, 0xb6680c40
mov ecx, eax
xor ecx, 0xfffffff7
and ecx, eax
mov eax, dword [0x4afdc8]
mov dword [ebp - 0x54], ecx
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xb6680c40
jmp 0x4367df
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 eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, 0x74f533e
jmp 0x435da0
movzx ecx, byte [ebp - 0x22]
mov eax, 0xdbe4595e
mov byte [ebp - 0x17], cl
jmp 0x435da0
mov eax, 0xd0d22919
jmp 0x435da0
mov eax, dword [ebp - 0x3c]
mov byte [eax], 0x23
mov eax, 0x16d5ddad
jmp 0x435da0
mov edx, dword [0x4afdc8]
mov ecx, dword [0x4afdc4]
mov esi, 0xe182a6a1
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc04fc84b
cmovne esi, ebx
test edx, eax
mov eax, esi
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [ebp - 0x2c]
cmovge eax, esi
jmp 0x435da0
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x2c]
mov ecx, 0xe00
and eax, ecx
mov dword [edx], eax
mov eax, dword [ebp - 0x2c]
cmp dword [eax], 0x400
mov eax, 0x15fc3818
sete byte [ebp - 0x20]
jmp 0x435da0
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
inc eax
mov dword [ebp - 0x68], eax
mov eax, 0x15cc126d
jmp 0x435da0
mov eax, dword [0x4afdc8]
mov ebx, 0xb2f1a6ec
mov esi, 0x79da66b7
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x79da66b7
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jmp 0x4367df
mov eax, dword [ebp - 0x38]
mov esi, 0x9425a7be
mov ebx, 0x79da66b7
mov byte [eax], 0x2b
mov eax, dword [0x4afdc8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x79da66b7
jmp 0x435d83
mov eax, dword [0x4afdc8]
mov ebx, 0x8ad83b1a
mov esi, 0x24bd731f
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x24bd731f
sete cl
cmove eax, ebx
cmp dword [0x4afdc4], 0xa
setl dl
cmovge eax, esi
xor dl, cl
cmovne eax, ebx
jmp 0x435da0
movzx ecx, byte [ebp - 0x17]
mov eax, 0x20d56329
mov byte [ebp - 0x16], cl
jmp 0x435da0
cmp byte [ebp - 0x20], 0
mov eax, 0xb0d207ee
mov ecx, 0xd2df1205
cmovne eax, ecx
jmp 0x435da0
mov eax, 0x95272bf
jmp 0x435da0
cmp byte [ebp - 0x21], 0
mov eax, 0x1e30fed8
mov ecx, 0xc1d08ba5
cmovne eax, ecx
jmp 0x435da0
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x14]
inc eax
mov dword [ecx], eax
mov eax, dword [ebp - 0x50]
mov byte [eax], 0x36
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov edx, dword [ebp - 0x14]
lea ecx, [eax + 1]
mov dword [edx], ecx
mov byte [eax], 0x34
mov eax, 0x871c421b
jmp 0x435da0
mov edx, dword [0x4afdc8]
mov ecx, dword [0x4afdc4]
mov esi, 0x16d5ddad
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x18322b86
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x435da0
mov edx, dword [0x4afdc8]
mov ecx, dword [0x4afdc4]
mov esi, 0xe657f8ab
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x72ce9418
cmovne esi, ebx
test edx, eax
mov eax, esi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, esi
jmp 0x435da0
mov eax, dword [ebp - 0x38]
mov byte [eax], 0x2b
mov eax, 0xb2f1a6ec
jmp 0x435da0
mov eax, dword [ebp - 0x14]
mov eax, 0x72ce9418
jmp 0x435da0
cmp eax, 0x20d56329
jne 0x435da0
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 - 0x16]
mov byte [eax], cl
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp - 0x34]
mov esi, dword [eax]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00438710
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret