Function at 0x10029200
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x28
push ebx
push esi
movzx eax, dx
mov esi, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], 0
cmp eax, 0x5e
ja case.0x1002922c.3
movzx eax, byte [eax + 0x10029f7c]
jmp dword [eax*4 + 0x10029e90]
mov cl, 0x51
mov byte [esp + 0x18], 0x3d
mov al, 0x7c
mov byte [esp + 0xe], 0x4e
mov dl, cl
mov bl, 0x1d
mov ah, 0x67
mov ch, 0x52
mov dh, 0x53
mov bh, 0x58
xor al, byte [esp + 0x18]
mov byte [esp + 0x19], al
mov al, byte [esp + 0x18]
xor cl, al
mov byte [esp + 0x22], 0
xor dl, al
mov byte [esp + 0x22], 0
xor bl, al
xor ah, al
xor ch, al
xor dh, al
xor bh, al
mov al, byte [esp + 0xe]
xor al, byte [esp + 0x18]
mov byte [esp + 0x21], al
mov byte [esp + 0x20], bh
mov byte [esp + 0x1f], dh
mov byte [esp + 0x1e], ch
mov byte [esp + 0x1a], cl
mov byte [esp + 0x1d], ah
mov ecx, esi
lea eax, [esp + 0x19]
mov byte [esp + 0x1c], bl
push eax
mov byte [esp + 0x1f], dl
call fcn.100053b0
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x10062d70]
xor ecx, ecx
movups xmmword [esp + 0x18], xmm0
mov byte [esp + 0x28], 0
mov al, byte [esp + 0x18]
xor byte [esp + ecx + 0x19], al
inc ecx
cmp ecx, 0xf
jb 0x100292c0
lea eax, [esp + 0x19]
mov byte [esp + 0x28], 0
push eax
mov ecx, esi
call fcn.100053b0
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [str.w2eW:]
xor ecx, ecx
movups xmmword [esp + 0x18], xmm0
mov byte [esp + 0x28], 0
nop word [eax + eax]
mov al, byte [esp + 0x18]
xor byte [esp + ecx + 0x19], al
inc ecx
cmp ecx, 0xf
jb 0x10029300
jmp 0x100292ce
movaps xmm0, xmmword [0x100634a0]
xor ecx, ecx
movups xmmword [esp + 0x18], xmm0
mov byte [esp + 0x28], 0
mov al, byte [esp + 0x18]
xor byte [esp + ecx + 0x19], al
inc ecx
cmp ecx, 0xf
jb 0x10029323
jmp 0x100292ce
movaps xmm0, xmmword [0x100630a0]
xor ecx, ecx
movups xmmword [esp + 0x18], xmm0
mov byte [esp + 0x28], 0
mov al, byte [esp + 0x18]
xor byte [esp + ecx + 0x19], al
inc ecx
cmp ecx, 0xf
jb 0x10029346
jmp 0x100292ce
movaps xmm0, xmmword [0x100635e0]
xor ecx, ecx
movups xmmword [esp + 0x18], xmm0
mov byte [esp + 0x28], 0
nop dword [eax]
mov al, byte [esp + 0x18]
xor byte [esp + ecx + 0x19], al
inc ecx
cmp ecx, 0xf
jb 0x10029370
jmp 0x100292ce
movaps xmm0, xmmword [0x100631e0]
xor ecx, ecx
movups xmmword [esp + 0x18], xmm0
mov byte [esp + 0x28], 0
mov al, byte [esp + 0x18]
xor byte [esp + ecx + 0x19], al
inc ecx
cmp ecx, 0xf
jb 0x10029396
jmp 0x100292ce
mov dh, 0x7d
mov al, 0x38
mov cl, 0xe
mov dl, 0x11
mov bl, 0x1c
mov ah, 0x13
mov ch, 9
xor al, dh
mov byte [esp + 0x1f], 0
xor ah, dh
mov byte [esp + 0x19], al
xor cl, dh
mov byte [esp + 0x1d], ah
xor ch, dh
mov byte [esp + 0x1a], cl
lea eax, [esp + 0x19]
mov byte [esp + 0x1e], ch
xor dl, dh
mov byte [esp + 0x18], dh
xor bl, dh
mov byte [esp + 0x1b], dl
push eax
mov ecx, esi
mov byte [esp + 0x20], bl
mov byte [esp + 0x23], 0
call fcn.100053b0
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dh, 9
mov al, 0x4c
mov cl, 0x7a
mov dl, 0x65
mov bl, 0x68
mov ah, 0x67
mov ch, 0x7d
jmp 0x100293b7
mov dh, 0x7b
mov al, 0x3e
mov cl, 8
mov dl, 0x17
mov bl, 0x1a
mov ah, 0x15
mov ch, 0xf
jmp 0x100293b7
mov dh, 1
mov al, 0x44
mov cl, 0x72
mov dl, 0x6d
mov bl, 0x60
mov ah, 0x6f
mov ch, 0x75
jmp 0x100293b7
mov dh, 0x3c
mov al, 0x79
mov cl, 0x4f
mov dl, 0x50
mov bl, 0x5d
mov ah, 0x52
mov ch, 0x48
jmp 0x100293b7
mov dh, 7
mov al, 0x42
mov cl, 0x74
mov dl, 0x6b
mov bl, 0x66
mov ah, 0x69
mov ch, 0x73
jmp 0x100293b7
mov byte [esp + 0x18], 0x34
mov al, 0x7b
mov cl, 0x58
mov byte [esp + 0xe], 0x47
mov dl, 0x50
mov bl, 0x14
mov ah, 0x7f
mov ch, 0x55
mov dh, 0x46
mov bh, 0x41
jmp 0x1002924d
mov bh, 0x5c
mov al, 0x11
mov cl, 0x33
mov dl, 0x2e
mov bl, 0x3d
mov ah, 0x38
mov dh, 0x32
mov ch, cl
xor al, bh
mov byte [esp + 0x20], 0
xor cl, bh
mov byte [esp + 0x18], bh
xor dl, bh
mov byte [esp + 0x19], al
xor bl, bh
mov byte [esp + 0x20], 0
xor ah, bh
xor ch, bh
xor dh, bh
jmp 0x10029281
mov bh, 0x60
mov al, 0x2d
mov cl, 0xf
mov dl, 0x12
mov bl, 1
mov ah, 4
mov dh, 0xe
jmp 0x10029480
mov bh, 0x7d
mov al, 0x30
mov cl, 0x12
mov dl, 0xf
mov bl, 0x1c
mov ah, 0x19
mov dh, 0x13
jmp 0x10029480
mov bh, 8
mov al, 0x45
mov cl, 0x67
mov dl, 0x7a
mov bl, 0x69
mov ah, 0x6c
mov dh, 0x66
jmp 0x10029480
mov bh, 0x7e
mov al, 0x33
mov cl, 0x11
mov dl, 0xc
mov bl, 0x1f
mov ah, 0x1a
mov dh, 0x10
jmp 0x10029480
mov byte [esp + 0x18], 0xa
mov al, 0x45
mov cl, 0x66
mov byte [esp + 0xe], 0x64
mov dl, 0x6e
mov bl, 0x2a
mov ah, 0x42
mov ch, 0x7f
mov dh, 0x67
mov bh, 0x6b
jmp 0x1002924d
mov cl, 8
mov dword [esp + 0x18], 0x6c644708
mov dword [esp + 0x1c], 0x7a674528
xor eax, eax
mov dword [esp + 0x20], 0x66676c69
mov byte [esp + 0x24], 0
xor byte [esp + eax + 0x19], cl
inc eax
cmp eax, 0xb
jae 0x10029537
mov cl, byte [esp + 0x18]
jmp 0x10029527
lea eax, [esp + 0x19]
mov byte [esp + 0x24], 0
push eax
mov ecx, esi
call fcn.100053b0
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ch, 0x4b
mov byte [esp + 0x1e], 0
mov al, 0xf
mov byte [esp + 0x18], ch
mov cl, 0x2e
mov byte [esp + 0x1e], 0
mov dl, 0x27
mov bl, 0x24
xor al, ch
mov ah, 0x38
xor cl, ch
mov byte [esp + 0x19], al
xor dl, ch
xor bl, ch
xor ah, ch
jmp 0x10029289
mov bh, 0x11
mov al, 0x53
mov cl, 0x78
mov dl, 0x77
mov bl, 0x63
mov ah, 0x7e
mov ch, 0x62
mov dh, 0x65
jmp 0x10029482
movaps xmm0, xmmword [0x10063750]
xor ecx, ecx
movups xmmword [esp + 0x18], xmm0
mov word [esp + 0x28], 0x5959
mov byte [esp + 0x2a], 0
nop dword [eax]
mov al, byte [esp + 0x18]
xor byte [esp + ecx + 0x19], al
inc ecx
cmp ecx, 0x11
jb 0x100295b0
lea eax, [esp + 0x19]
mov byte [esp + 0x2a], 0
push eax
mov ecx, esi
call fcn.100053b0
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esp + 0x18], 0x4b
mov al, 3
xor al, byte [esp + 0x18]
mov cl, 0x2e
xor cl, byte [esp + 0x18]
mov dl, 0x27
mov byte [esp + 0x19], al
mov bl, dl
mov byte [esp + 0xe], 0x38
mov ah, 0x6b
mov al, byte [esp + 0xe]
mov ch, 0xa
mov byte [esp + 0x1a], cl
mov dh, 0x29
mov cl, byte [esp + 0x18]
mov bh, 0x32
xor al, cl
mov byte [esp + 0xf], 0x38
mov byte [esp + 0x21], al
xor ch, cl
mov al, byte [esp + 0xf]
xor dh, cl
xor bh, cl
mov byte [esp + 0x23], 0
xor dl, cl
mov byte [esp + 0x1e], ch
xor bl, cl
mov byte [esp + 0x1f], dh
xor ah, cl
mov byte [esp + 0x20], bh
xor al, cl
mov byte [esp + 0x23], 0
mov byte [esp + 0x22], al
jmp 0x1002928d
mov cl, 0x3f
mov dword [esp + 0x18], 0x535a793f
mov dword [esp + 0x1c], 0x5054515e
xor eax, eax
mov dword [esp + 0x20], 0x5e731f4d
mov word [esp + 0x24], 0x4d56
mov byte [esp + 0x26], 0
nop dword [eax]
xor byte [esp + eax + 0x19], cl
inc eax
cmp eax, 0xd
jae 0x10029680
mov cl, byte [esp + 0x18]
jmp 0x10029670
lea eax, [esp + 0x19]
mov byte [esp + 0x26], 0
push eax
mov ecx, esi
call fcn.100053b0
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [str._hI_C__fnM_IAIBX]
xor ecx, ecx
movups xmmword [esp + 0x18], xmm0
mov al, byte [esp + 0x18]
xor byte [esp + ecx + 0x19], al
inc ecx
cmp ecx, 0xe
jb 0x100296a7
lea eax, [esp + 0x19]
mov byte [esp + 0x27], 0
push eax
mov ecx, esi
call fcn.100053b0
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x4e
mov dword [esp + 0x18], 0x3a2f0c4e
mov dword [esp + 0x1c], 0x6e2b223a
xor eax, eax
mov dword [esp + 0x20], 0x202b3c0f
mov word [esp + 0x24], 0x2f
xor byte [esp + eax + 0x19], cl
inc eax
cmp eax, 0xc
jae 0x10029701
mov cl, byte [esp + 0x18]
jmp 0x100296f1
lea eax, [esp + 0x19]
mov byte [esp + 0x25], 0
push eax
mov ecx, esi
call fcn.100053b0
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x10063440]
xor ecx, ecx
movups xmmword [esp + 0x18], xmm0
mov dword [esp + 0x28], 0x3e392f
mov al, byte [esp + 0x18]
xor byte [esp + ecx + 0x19], al
inc ecx
cmp ecx, 0x12
jb 0x10029730
lea eax, [esp + 0x19]
mov byte [esp + 0x2b], 0
push eax
mov ecx, esi
call fcn.100053b0
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x100638f0]
xor ecx, ecx
movups xmmword [esp + 0x18], xmm0
mov byte [esp + 0x28], 0
nop word [eax + eax]
mov al, byte [esp + 0x18]
xor byte [esp + ecx + 0x19], al
inc ecx
cmp ecx, 0xf
jb 0x10029770
lea eax, [esp + 0x19]
mov byte [esp + 0x28], 0
push eax
mov ecx, esi
call fcn.100053b0
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x36
mov dword [esp + 0x18], 0x54597136
mov dword [esp + 0x1c], 0x16585f5a
xor eax, eax
mov dword [esp + 0x20], 0x45534367
mov word [esp + 0x24], 0x42
nop word [eax + eax]
xor byte [esp + eax + 0x19], cl
inc eax
cmp eax, 0xc
jae 0x10029701
mov cl, byte [esp + 0x18]
jmp 0x100297c0
mov byte [esp + 0x18], 0x45
mov al, 6
xor al, byte [esp + 0x18]
mov cl, 0x24
xor cl, byte [esp + 0x18]
mov bl, 0x20
mov byte [esp + 0x19], al
mov bh, bl
mov byte [esp + 0xf], 0x36
mov dl, 0x35
mov al, byte [esp + 0xf]
mov ah, 0x65
mov byte [esp + 0x1a], cl
mov ch, 0x14
mov cl, byte [esp + 0x18]
mov dh, 0x30
xor al, cl
mov byte [esp + 0xe], 0x31
mov byte [esp + 0x21], al
xor ch, cl
mov al, byte [esp + 0xe]
xor dh, cl
xor bh, cl
mov byte [esp + 0x23], 0
xor dl, cl
mov byte [esp + 0x1e], ch
xor bl, cl
mov byte [esp + 0x1f], dh
xor ah, cl
mov byte [esp + 0x20], bh
xor al, cl
mov byte [esp + 0x23], 0
mov byte [esp + 0x22], al
jmp 0x1002928d
movaps xmm0, xmmword [0x10063a80]
xor ecx, ecx
movups xmmword [esp + 0x18], xmm0
mov word [esp + 0x28], 0x7d
mov al, byte [esp + 0x18]
xor byte [esp + ecx + 0x19], al
inc ecx
cmp ecx, 0x10
jb 0x10029857
lea eax, [esp + 0x19]
mov byte [esp + 0x29], 0
push eax
mov ecx, esi
call fcn.100053b0
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x64
mov dword [esp + 0x18], 0x14052a64
mov dword [esp + 0x1c], 0x4417010d
xor eax, eax
mov dword [esp + 0x20], 0x3160b23
mov word [esp + 0x24], 1
xor byte [esp + eax + 0x19], cl
inc eax
cmp eax, 0xc
jae 0x10029701
mov cl, byte [esp + 0x18]
jmp 0x100298a1
movaps xmm0, xmmword [0x10063ac0]
xor ecx, ecx
movups xmmword [esp + 0x18], xmm0
mov byte [esp + 0x28], 0
nop dword [eax + eax]
mov al, byte [esp + 0x18]
xor byte [esp + ecx + 0x19], al
inc ecx
cmp ecx, 0xf
jb 0x100298d0
lea eax, [esp + 0x19]
mov byte [esp + 0x28], 0
push eax
mov ecx, esi
call fcn.100053b0
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x10062cd0]
xor ecx, ecx
movups xmmword [esp + 0x18], xmm0
mov al, byte [esp + 0x18]
xor byte [esp + ecx + 0x19], al
inc ecx
cmp ecx, 0xe
jb 0x10029905
lea eax, [esp + 0x19]
mov byte [esp + 0x27], 0
push eax
mov ecx, esi
call fcn.100053b0
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x10062a80]
xor ecx, ecx
movups xmmword [esp + 0x18], xmm0
nop word [eax + eax]
mov al, byte [esp + 0x18]
xor byte [esp + ecx + 0x19], al
inc ecx
cmp ecx, 0xe
jb 0x10029940
lea eax, [esp + 0x19]
mov byte [esp + 0x27], 0
push eax
mov ecx, esi
call fcn.100053b0
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x1c
mov dword [esp + 0x18], 0x6e73511c
mov dword [esp + 0x1c], 0x7273787d
xor eax, eax
mov dword [esp + 0x20], 0x6e7d4b3c
mov byte [esp + 0x24], 0
xor byte [esp + eax + 0x19], cl
inc eax
cmp eax, 0xb
jae 0x10029537
mov cl, byte [esp + 0x18]
jmp 0x10029988
mov dh, 0x61
mov al, 0x2e
mov cl, 0x13
mov dl, 4
xor bl, bl
mov ah, 5
xor al, dh
mov byte [esp + 0x18], dh
mov ch, 0x12
mov byte [esp + 0x19], al
xor cl, dh
mov byte [esp + 0x1f], 0
xor dl, dh
xor bl, dh
xor ah, dh
xor ch, dh
jmp 0x10029285
mov byte [esp + 0x18], 0xb
mov al, 0x58
xor al, byte [esp + 0x18]
mov cl, 0x65
mov byte [esp + 0x19], al
mov dl, 0x64
mov al, byte [esp + 0x18]
mov bl, 0x7c
mov ah, 0x2b
mov byte [esp + 0x21], 0
mov ch, 0x5c
mov byte [esp + 0x21], 0
mov dh, 0x6a
mov bh, 0x79
xor cl, al
xor dl, al
xor bl, al
xor ah, al
xor ch, al
xor dh, al
xor bh, al
jmp 0x1002927d
mov cl, 0x11
mov dword [esp + 0x18], 0x7d7e5211
mov dword [esp + 0x1c], 0x31687f7e
xor eax, eax
mov dword [esp + 0x20], 0x747f7e4b
mov byte [esp + 0x24], 0
xor byte [esp + eax + 0x19], cl
inc eax
cmp eax, 0xb
jae 0x10029537
mov cl, byte [esp + 0x18]
jmp 0x10029a27
mov cl, 0x61
mov bh, 0x13
mov al, 0x52
mov dl, 0x77
mov bl, cl
mov ah, 0x76
mov ch, 0x72
mov dh, 0x7e
jmp 0x10029482
movaps xmm0, xmmword [0x10062e10]
xor ecx, ecx
movups xmmword [esp + 0x18], xmm0
mov word [esp + 0x28], 0x1b
mov al, byte [esp + 0x18]
xor byte [esp + ecx + 0x19], al
inc ecx
cmp ecx, 0x10
jb 0x10029a65
lea eax, [esp + 0x19]
mov byte [esp + 0x29], 0
push eax
mov ecx, esi
call fcn.100053b0
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x30
mov dword [esp + 0x18], 0x5f427b30
mov dword [esp + 0x1c], 0x104a5147
xor eax, eax
mov dword [esp + 0x20], 0x595d5f74
mov word [esp + 0x24], 0x5e5f
mov byte [esp + 0x26], 0
xor byte [esp + eax + 0x19], cl
inc eax
cmp eax, 0xd
jae 0x10029680
mov cl, byte [esp + 0x18]
jmp 0x10029ab4
mov cl, 0x7d
mov dword [esp + 0x18], 0x1413367d
mov dword [esp + 0x1c], 0x5d09151a
xor eax, eax
mov dword [esp + 0x20], 0x1c04122f
mov word [esp + 0x24], 0x1811
mov byte [esp + 0x26], 0
xor byte [esp + eax + 0x19], cl
inc eax
cmp eax, 0xd
jae 0x10029680
mov cl, byte [esp + 0x18]
jmp 0x10029af0
movaps xmm0, xmmword [0x10063390]
xor ecx, ecx
movups xmmword [esp + 0x18], xmm0
mov word [esp + 0x28], 0x3a
nop dword [eax]
mov al, byte [esp + 0x18]
xor byte [esp + ecx + 0x19], al
inc ecx
cmp ecx, 0x10
jb 0x10029b20
lea eax, [esp + 0x19]
mov byte [esp + 0x29], 0
push eax
mov ecx, esi
call fcn.100053b0
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x10063000]
xor ecx, ecx
movups xmmword [esp + 0x18], xmm0
mov dword [esp + 0x28], 0x1c133e52
mov word [esp + 0x2c], 0x16
mov al, byte [esp + 0x18]
xor byte [esp + ecx + 0x19], al
inc ecx
cmp ecx, 0x14
jb 0x10029b64
lea eax, [esp + 0x19]
mov byte [esp + 0x2d], 0
push eax
mov ecx, esi
call fcn.100053b0
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x75
mov dword [esp + 0x18], 0x1b1a3875
mov dword [esp + 0x1c], 0x7100106
xor eax, eax
mov dword [esp + 0x20], 0x1a012655
mov word [esp + 0x24], 0x101b
mov byte [esp + 0x26], 0
xor byte [esp + eax + 0x19], cl
inc eax
cmp eax, 0xd
jae 0x10029680
mov cl, byte [esp + 0x18]
jmp 0x10029bb3
mov cl, 0x5e
mov dword [esp + 0x18], 0x3031135e
mov dword [esp + 0x1c], 0x2c3b2a2d
xor eax, eax
mov dword [esp + 0x20], 0x312a0d7e
mov word [esp + 0x24], 0x3b30
mov byte [esp + 0x26], 0
nop
xor byte [esp + eax + 0x19], cl
inc eax
cmp eax, 0xd
jae 0x10029680
mov cl, byte [esp + 0x18]
jmp 0x10029bf0
mov cl, 0x63
mov dword [esp + 0x18], 0xd0c2e63
mov dword [esp + 0x1c], 0x11061710
xor eax, eax
mov dword [esp + 0x20], 0xc173043
mov word [esp + 0x24], 0x60d
mov byte [esp + 0x26], 0
nop dword [eax]
xor byte [esp + eax + 0x19], cl
inc eax
cmp eax, 0xd
jae 0x10029680
mov cl, byte [esp + 0x18]
jmp 0x10029c30
movaps xmm0, xmmword [0x10063a20]
xor ecx, ecx
movups xmmword [esp + 0x18], xmm0
mov dword [esp + 0x28], 0x233006
nop word [eax + eax]
mov al, byte [esp + 0x18]
xor byte [esp + ecx + 0x19], al
inc ecx
cmp ecx, 0x12
jb 0x10029c60
lea eax, [esp + 0x19]
mov byte [esp + 0x2b], 0
push eax
mov ecx, esi
call fcn.100053b0
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [str._nELB_riHCJXHBC]
xor ecx, ecx
movups xmmword [esp + 0x18], xmm0
mov al, byte [esp + 0x18]
xor byte [esp + ecx + 0x19], al
inc ecx
cmp ecx, 0xe
jb 0x10029c95
lea eax, [esp + 0x19]
mov byte [esp + 0x27], 0
push eax
mov ecx, esi
call fcn.100053b0
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x100638e0]
xor ecx, ecx
movups xmmword [esp + 0x18], xmm0
mov word [esp + 0x28], 0x57
mov al, byte [esp + 0x18]
xor byte [esp + ecx + 0x19], al
inc ecx
cmp ecx, 0x10
jb 0x10029cd1
lea eax, [esp + 0x19]
mov byte [esp + 0x29], 0
push eax
mov ecx, esi
call fcn.100053b0
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x100639e0]
xor ecx, ecx
movups xmmword [esp + 0x18], xmm0
mov byte [esp + 0x28], 0
nop dword [eax + eax]
mov al, byte [esp + 0x18]
xor byte [esp + ecx + 0x19], al
inc ecx
cmp ecx, 0xf
jb 0x10029d10
lea eax, [esp + 0x19]
mov byte [esp + 0x28], 0
push eax
mov ecx, esi
call fcn.100053b0
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov cl, 0x52
mov dword [esp + 0x18], 0x363e1d52
mov dword [esp + 0x1c], 0x203d1f72
xor eax, eax
mov dword [esp + 0x20], 0x3c3d3633
mov byte [esp + 0x24], 0
xor byte [esp + eax + 0x19], cl
inc eax
cmp eax, 0xb
jae 0x10029537
mov cl, byte [esp + 0x18]
jmp 0x10029d58
mov dh, 0x7c
mov byte [esp + 0x1f], 0
mov al, 0x2c
mov cl, 0xe
mov dl, 0x15
mov bl, 0xf
mov ah, 0x13
jmp 0x100299a8
mov cl, 0x19
mov dword [esp + 0x18], 0x706a5019
mov dword [esp + 0x1c], 0x76707575
xor eax, eax
mov dword [esp + 0x20], 0x78553977
mov word [esp + 0x24], 0x6b70
mov byte [esp + 0x26], 0
nop word [eax + eax]
xor byte [esp + eax + 0x19], cl
inc eax
cmp eax, 0xd
jae 0x10029680
mov cl, byte [esp + 0x18]
jmp 0x10029db0
mov cl, 0x5e
mov dword [esp + 0x18], 0x323b185e
mov dword [esp + 0x1c], 0x3135303f
xor eax, eax
mov dword [esp + 0x20], 0x3f127e2c
mov word [esp + 0x24], 0x2c37
mov byte [esp + 0x26], 0
nop dword [eax]
xor byte [esp + eax + 0x19], cl
inc eax
cmp eax, 0xd
jae 0x10029680
mov cl, byte [esp + 0x18]
jmp 0x10029df0
mov bh, 3
mov byte [esp + 0x20], 0
mov cl, 0x6d
mov byte [esp + 0x18], bh
mov bl, cl
mov byte [esp + 0x20], 0
mov dh, bl
mov dword [esi + 0x14], 0xf
mov al, 0x56
mov dword [esi + 0x10], 0
mov dl, 0x68
mov ah, 0x6c
mov ch, 0x74
xor al, bh
xor cl, bh
mov byte [esp + 0x19], al
xor dl, bh
mov byte [esp + 0x1a], cl
xor bl, bh
mov byte [esp + 0x1b], dl
xor ah, bh
mov byte [esp + 0x1c], bl
xor ch, bh
mov byte [esp + 0x1d], ah
xor dh, bh
mov byte [esp + 0x1e], ch
mov byte [esp + 0x1f], dh
mov byte [esi], 0
cmp byte [esp + 0x19], 0
jne 0x10029e68
xor ecx, ecx
jmp 0x10029e79
lea ecx, [esp + 0x19]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10029e70
sub ecx, edx
push ecx
lea eax, [esp + 0x1d]
mov ecx, esi
push eax
call fcn.100052b0
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret