Function at 0x4baf3e
Capabilities:
Authenticate hmac

Disassembly:
jb 0x4bafab
imul ebp, dword [esi + 0x67], 0x53746553
imul edi, dword [edx + 0x65], 0x616c6600
jae 0x4baf51
ja 0x4bafa1
imul ebp, dword [esi + 0x69], 0x576d756d
outsd dx, dword [esi]
jb 0x4bafc9
imul ebp, dword [esi + 0x67], 0x53746553
imul edi, dword [edx + 0x65], 0x4d776400
popal
js 0x4bafd8
insd dword es:[edi], dx
jne 0x4bafdf
push edi
outsd dx, dword [esi]
jb 0x4bafe1
imul ebp, dword [esi + 0x67], 0x53746553
imul edi, dword [edx + 0x65], 0x63786500
jo 0x4baffb
imul ebp, dword [edi + 0x6e], 0x46776400
insb byte es:[edi], dx
popal
jae 0x4baf93
arpl word [ebp + 0x6c], si
je 0x4bb00d
jb 0x4bafff
add byte [ebx + 0x79], dl
jae 0x4bb013
insd dword es:[edi], dx
push edx
jne 0x4bb013
je 0x4bb010
insd dword es:[edi], dx
push esi
jb 0x4bb021
imul ebp, dword [edi + 0x6e], 0x676e69
push esp
popal
jb 0x4bb020
je 0x4bb002
jb 0x4bb01f
insd dword es:[edi], dx
ja 0x4bb031
jb 0x4bb02f
inc ecx
je 0x4bb03b
jb 0x4bb032
bound esi, qword [ebp + 0x74]
add byte gs:[ebx + 0x79], dl
jae 0x4bb046
insd dword es:[edi], dx
push edx
insb byte es:[edi], dx
insb byte es:[edi], dx
arpl word gs:[ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
add byte [ecx + 0x73], al
jae 0x4bb049
jae 0x4bb056
insd dword es:[edi], dx
insd dword es:[edi], dx
bound ebp, qword [ecx + edi*2 + 0x56]
jb 0x4bb05f
imul ebp, dword [edi + 0x6e], 0x72747441
imul esp, dword [edx + 0x75], 0x41006574
jae 0x4bb06f
jae 0x4bb062
insd dword es:[edi], dx
insd dword es:[edi], dx
bound ebp, qword [ecx + edi*2 + 0x46]
insb byte es:[edi], dx
jns 0x4bb048
imul ebp, dword [ebp + 0x56], 0x69737265
outsd dx, dword [esi]
outsb dx, byte [esi]
inc ecx
je 0x4bb083
jb 0x4bb07a
imul esp, dword [edx + 0x75], 0x41006574
jae 0x4bb08c
bound esi, qword [ebp + 0x74]
add byte gs:[ecx + 0x73], al
je 0x4bb07a
add byte [ecx + 0x73], al
jae 0x4bb07f
insd dword es:[edi], dx
insd dword es:[edi], dx
bound ebp, qword [ecx + edi*2 + 0x49]
outsb dx, byte [esi]
outsw dx, word [esi]
outsd dx, dword [esi]
jb 0x4bb091
popal
je 0x4bb090
outsd dx, dword [esi]
outsb dx, byte [esi]
popal
insb byte es:[edi], dx
push esi
jb 0x4bb0a2
imul ebp, dword [edi + 0x6e], 0x72747441
imul esp, dword [edx + 0x75], 0x41006574
jae 0x4bb0b2
outsb dx, byte [esi]
inc ecx
je 0x4bb0a9
jb 0x4bb0a0
bound esi, qword [ebp + 0x74]
add byte gs:[ecx + 0x73], al
add byte [ecx + 0x73], al
jae 0x4bb0a5
insd dword es:[edi], dx
insd dword es:[edi], dx
bound ebp, qword [ecx + edi*2 + 0x43]
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x4bb0aa
popal
outsb dx, byte [esi]
jns 0x4bb08d
je 0x4bb0c2
jb 0x4bb0b9
bound esi, qword [ebp + 0x74]
add byte gs:[ecx + 0x73], al
jae 0x4bb0be
jae 0x4bb0cb
insd dword es:[edi], dx
insd dword es:[edi], dx
bound ebp, qword [ecx + edi*2 + 0x50]
jb 0x4bb0cf
outsd dx, dword [esi]
jne 0x4bb0c6
arpl word [ecx + eax*2 + 0x74], si
je 0x4bb0da
je 0x4bb0a6
je 0x4bb0db
jb 0x4bb0d2
imul esp, dword [edx + 0x75], 0x41006574
bound esi, qword [ebp + 0x74]
add byte gs:[ecx + 0x73], al
jae 0x4bb0d7
jae 0x4bb0e4
insd dword es:[edi], dx
insd dword es:[edi], dx
bound ebp, qword [ecx + edi*2 + 0x43]
outsd dx, dword [esi]
jo 0x4bb0f3
jb 0x4bb0e5
push 0x74744174
inc ecx
je 0x4bb0f6
jb 0x4bb0ed
imul esp, dword [edx + 0x75], 0x41006574
jae 0x4bb0ff
bound esi, qword [ebp + 0x74]
add byte gs:[ecx + 0x73], al
jae 0x4bb0f2
insd dword es:[edi], dx
insd dword es:[edi], dx
bound ebp, qword [ecx + edi*2 + 0x54]
jns 0x4bb0e6
push esp
jb 0x4bb0f5
insd dword es:[edi], dx
popal
jb 0x4bb105
inc ecx
je 0x4bb111
jb 0x4bb108
bound esi, qword [ebp + 0x74]
jne 0x4bb116
add byte gs:[ecx + 0x73], al
jae 0x4bb11a
jae 0x4bb10d
insd dword es:[edi], dx
insd dword es:[edi], dx
bound ebp, qword [ecx + edi*2 + 0x43]
insb byte es:[edi], dx
jns 0x4bb0f0
jne 0x4bb11b
je 0x4bb126
jb 0x4bb118
inc ecx
inc ecx
je 0x4bb12a
jb 0x4bb121
bound esi, qword [ebp + 0x74]
jne 0x4bb12f
add byte gs:[ebx + 0x79], dl
jae 0x4bb135
jns 0x4bb133
je 0x4bb127
insd dword es:[edi], dx
insd dword es:[edi], dx
push edx
jae 0x4bb137
jae 0x4bb137
jne 0x4bb13c
arpl word [ebp + 0x73], sp
add byte [esi + 0x65], cl
jne 0x4bb146
jae 0x4bb0ce
dec esi
jne 0x4bb146
jb 0x4bb135
insb byte es:[edi], dx
push edx
jae 0x4bb148
jae 0x4bb148
jne 0x4bb14d
jb 0x4bb13f
arpl word [ebp + 0x73], sp
dec esp
jae 0x4bb12b
popal
outsb dx, byte [esi]
jne 0x4bb145
inc ecx
inc ecx
inc ecx
je 0x4bb15d
jb 0x4bb154
bound esi, qword [ebp + 0x74]
add byte gs:[ecx + 0x73], al
je 0x4bb154
add byte [ecx + 0x73], al
inc ecx
jae 0x4bb166
jae 0x4bb159
insd dword es:[edi], dx
insd dword es:[edi], dx
bound ebp, qword [ecx + edi*2 + 0x54]
insb byte es:[edi], dx
jns 0x4bb14d
imul esi, dword [esp + ebp*2 + 0x65], 0x72747441
je 0x4bb173
imul esp, dword [edx + 0x75], 0x53006574
add byte gs:[ebx + 0x79], dl
jae 0x4bb17f
jns 0x4bb17d
je 0x4bb171
insd dword es:[edi], dx
insd dword es:[edi], dx
inc esp
imul esp, dword [ecx + 0x67], 0x74736f6e
outsb dx, byte [si]
outsd dx, dword [esi]
jae 0x4bb18a
imul esp, dword [ebx + 0x73], 0x62654400
jne 0x4bb186
jae 0x4bb11a
inc esp
bound esi, qword gs:[ebp + 0x67]
popal
bound ebp, qword [ebp + 0x41]
je 0x4bb19b
je 0x4bb19a
jb 0x4bb192
imul esp, dword [edx + 0x75], 0x44006574
bound esi, qword [ebp + 0x74]
jne 0x4bb1a0
je 0x4bb192
add byte gs:[ebp + 0x62], al
add byte [ebp + 0x62], al
bound esi, qword gs:[ebp + 0x67]
jne 0x4bb19a
imul ebp, dword [bp + 0x67], 0x65646f4d
jae 0x4bb13d
outsb dx, byte [esi]
dec ebp
dec ebp
outsd dx, dword [esi]
jae 0x4bb13d
add byte [ebx + 0x79], dl
push ebx
jns 0x4bb1b3
jae 0x4bb1b5
je 0x4bb1a7
insd dword es:[edi], dx
insd dword es:[edi], dx
push edx
jne 0x4bb1b5
outsb dx, byte [esi]
je 0x4bb1b2
imul ebp, dword [ebp + 0x65], 0x6d6f432e
insd dword es:[edi], dx
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x4bb1ba
insb byte es:[edi], dx
jb 0x4bb1a8
push ebx
jb 0x4bb1ce
imul esp, dword [ebx + 0x65], 0x6f430073
arpl word [ebp + 0x73], sp
add byte [ebx + 0x6f], al
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x4bb1cb
insb byte es:[edi], dx
popal
je 0x4bb1cf
outsd dx, dword [esi]
outsb dx, byte [esi]
push edx
insb byte es:[edi], dx
popal
js 0x4bb1cf
je 0x4bb1d9
outsd dx, dword [esi]
outsb dx, byte [esi]
jae 0x4bb1b5
inc ecx
je 0x4bb1ea
jb 0x4bb1e1
bound esi, qword [ebp + 0x74]
add byte gs:[edx + 0x75], dl
push edx
jne 0x4bb1ee
outsb dx, byte [esi]
je 0x4bb1eb
insd dword es:[edi], dx
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x4bb1ea
je 0x4bb1f4
imul esp, dword [edx + 0x69], 0x7974696c
inc ecx
bound ebp, qword [ecx + 0x6c]
imul esi, dword [ecx + edi*2 + 0x41], 0x69727474
je 0x4bb208
jb 0x4bb1ff
bound esi, qword [ebp + 0x74]
add byte gs:[ebp + 0x69], cl
add byte [ebp + 0x69], cl
dec ebp
imul esp, dword [ebx + 0x72], 0x666f736f
je 0x4bb1d3
arpl word [edx + 0x6f], si
jae 0x4bb211
je 0x4bb1d3
dec ebp
popal
jae 0x4bb211
push 0x432e7075
jne 0x4bb21b
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x4bb212
imul ebp, dword [esi + 0x65], 0x654e2e72
je 0x4bb200
outsb dx, byte [esi]
jb 0x4bb1e4
dec esi
dec esi
je 0x4bb200
pop eax
xor al, 0x30
add byte [ebx + 0x54], dl
inc ecx
push esp
push 0x64616572
inc ecx
je 0x4bb23e
jb 0x4bb235
imul esp, dword [edx + 0x75], 0x4d006574
imul esp, dword [ebx + 0x72], 0x666f736f
bound esi, qword [ebp + 0x74]
je 0x4bb235
add byte gs:[ebp + 0x69], cl
add byte [ebp + 0x69], cl
arpl word [edx + 0x6f], si
jae 0x4bb247
je 0x4bb209
je 0x4bb209
dec ebp
popal
jae 0x4bb247
jne 0x4bb251
inc ebp
jbe 0x4bb246
popal
insb byte es:[edi], dx
jne 0x4bb249
je 0x4bb259
jb 0x4bb1ec
add byte [ebx + 0x61], dl
push ebx
popal
push sp
push 0x64616572
xor al, byte [eax]
popal
xor al, byte fs:[eax]
inc ecx
inc ebp
js 0x4bb261
jo 0x4bb275
jo 0x4bb275
je 0x4bb26b
imul ebp, dword [edi + 0x6e], 0x646e6148
outsd dx, dword [esi]
outsb dx, byte [esi]
dec eax
popal
outsb dx, byte [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
jb 0x4bb20c
push ebx
jns 0x4bb282
je 0x4bb276
insd dword es:[edi], dx
push esp
push 0x64616572
imul ebp, dword [esi + 0x67], 0x72615000
popal
add byte [bx + si + 0x61], dl
jb 0x4bb282
insd dword es:[edi], dx
je 0x4bb28a
jb 0x4bb290
jp 0x4bb28e
push esp
push 0x64616572
push ebx
je 0x4bb294
jb 0x4bb2a9
add byte [ebx + 0x72], al
popal
je 0x4bb2a1
push esp
push 0x64616572
push ebx
jb 0x4bb2a5
popal
push ebx
je 0x4bb2a6
jb 0x4bb2bb
je 0x4bb248
add byte [ecx + 0x6e], cl
dec ecx
outsb dx, byte [esi]
jbe 0x4bb2bb
imul esp, dword [ebp], 0x4d
imul esp, dword [ebx + 0x72], 0x666f736f
je 0x4bb287
arpl word [edx + 0x6f], si
jae 0x4bb2c5
je 0x4bb287
dec ebp
popal
jae 0x4bb2c5
jne 0x4bb2cf
push esp
jb 0x4bb2c4
arpl word [ecx + 0x6e], bp
add byte [si + 0x72], dl
popal
arpl word [ecx + 0x6e], bp
push ebx
jb 0x4bb2e9
imul esp, dword [ebx + 0x65], 0x736e4900
je 0x4bb2dd
add byte gs:[ecx + 0x6e], cl
add byte [ecx + 0x6e], cl
jae 0x4bb2ef
popal
outsb dx, byte [esi]
arpl word [ebp], sp
inc ebp
jbe 0x4bb2e4
popal
insb byte es:[edi], dx
jne 0x4bb2e7
je 0x4bb2f7
outsd dx, dword [esi]
jb 0x4bb2de
jb 0x4bb2ed
arpl word [ecx + 0x6e], bp
outsb dx, byte [esi]
add byte [di + 0x69], cl
add byte [ebp + 0x69], cl
arpl word [edx + 0x6f], si
jb 0x4bb305
jae 0x4bb307
je 0x4bb2c9
dec ebp
popal
jae 0x4bb307
jne 0x4bb311
inc ebp
outsb dx, byte [esi]
imul ebp, dword [bp + 0x65], 0x746e492e
imul ebp, dword [esi + 0x65], 0x746e492e
outsb dx, byte [esi]
dec ecx
dec ecx
outsb dx, byte [esi]
je 0x4bb312
jb 0x4bb315
jb 0x4bb315
popal
arpl word [ebp + 0x2e], sp
push esp
jb 0x4bb317
dec ecx
push esp
jb 0x4bb33d
add byte gs:[ebx + 0x65], dl
jb 0x4bb345
imul esp, dword [ebx + 0x65], 0x72745300
popal
insb byte es:[edi], dx
add byte [ebp + 0x62], al
jne 0x4bb355
inc esp
bound esi, qword gs:[ebp + 0x67]
jb fcn.004bb2f2
jb fcn.004bb2f2
push 0x74656700
pop edi
dec eax
popal
jae 0x4bb357
popal
insb byte es:[edi], dx
jne 0x4bb36a
add byte [edi + 0x65], ah
je 0x4bb369
je 0x4bb369
dec ecx
outsb dx, byte [esi]
jbe 0x4bb36f
jb 0x4bb379
popal
outsb dx, byte [esi]
je 0x4bb357
jne 0x4bb382
insb byte es:[edi], dx
je 0x4bb38d
jne 0x4bb38b
jb 0x4bb37f
add byte gs:[ecx + 0x6e], cl
add byte [ecx + 0x6e], cl
je 0x4bb352
xor al, byte [eax]
dec ecx
inc esi
je 0x4bb3b4
je 0x4bb3d1
insd dword es:[edi], dx
jae 0x4bb3d1
jo 0x4bb3e9
inc ebx
insb byte es:[edi], dx
imul esp, dword [ebp + 0x6e], 0x72745374
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
push ebx