Function at 0x793bc0
Capabilities:
Authenticate hmac
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x160
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x94], eax
mov eax, 0xd9
xor edx, edx
mov esi, 0xffffffff
jmp 0x793bfd
add eax, 0x8a
mov ecx, dword [ebp + 0xc]
mov cl, byte [ecx + edx]
mov edi, edx
and eax, 0xffffff25
add esi, 1
mov ch, pe_nt_image_headers32
jb 0x793bf0
nop dword [eax]
and eax, 0xffffff3e
mov ebx, eax
add ebx, 0xcd
test cl, ch
jne 0x793cb1
mov eax, ebx
xor eax, 0xd
shr ch, 1
jne 0x793c10
xor ebx, 0x97
xor bl, 0x4b
lea edx, [edi + 1]
cmp edx, dword [ebp + 0x10]
movzx eax, bl
jb 0x793be0
cmp eax, 2
je 0x79675a
movzx eax, al
cmp eax, 0x11
je 0x793c56
cmp eax, 0x7e
mov eax, dword [ebp + 8]
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x28], 0
jmp 0x796752
mov dword [esp + 0x84], edi
mov byte [esp + 0x80], ch
mov edi, 0xffffffff
pxor xmm0, xmm0
lea ecx, [esp + 0x134]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x158]
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x148]
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x144]
mov dword [esp + 0x58], ecx
mov byte [esp + 0x70], cl
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x90], eax
jmp 0x793da3
add ebx, 0x6e
mov cl, bl
add cl, 0xec
mov byte [esp + 0x70], cl
movzx eax, cl
xor eax, ebx
mov dl, al
add dl, 0xf5
add al, 0x20
mov dword [esp + 0x90], eax
mov dh, 0x18
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x94], ecx
movsd xmm1, qword [ecx + 0x10]
movsd qword [esp + 0x154], xmm1
movsd xmm1, qword [ecx]
movsd xmm2, qword [ecx + 8]
movsd qword [esp + 0x14c], xmm2
movsd qword [esp + 0x144], xmm1
movdqa xmmword [esp + 0x120], xmm0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 1
mov ecx, dword [esp + 0x158]
movups xmm1, xmmword [esp + 0x148]
mov esi, dword [esp + 0x144]
mov dword [esp + 0x9c], esi
movzx ebx, dl
mov dword [esp + 0x88], ecx
and ebx, 0xffffff3b
add edi, 1
jb 0x793d10
mov dword [esp + 0xa0], 0
mov dword [esp + 0x98], 4
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x8c], eax
mov dword [esp + 0xbc], 0
xor esi, esi
mov edi, dword [esp + 0x84]
jmp 0x794063
mov dword [esp + 0x98], 0x80000000
jmp 0x794063
mov dword [esp + 0x68], esi
mov byte [esp + 0x6c], dl
mov dword [esp + 0x84], edi
add bl, 0x89
movzx eax, bl
mov cl, bl
mov byte [esp + 0x64], cl
mov ecx, dword [esp + 0x98]
nop word cs:[eax + eax]
mov dword [esp + 0x98], ecx
and eax, 0xffffff80
mov ebx, eax
or ebx, 0x1d
mov edx, dword [esp + 0xa0]
movd xmm2, edx
add edx, edx
movd eax, xmm0
shr eax, 0x1f
mov esi, dword [esp + 0xbc]
lea ecx, [eax + esi*2]
add esi, esi
mov edi, ecx
and edi, 7
mov eax, edx
xor eax, 0xc9
and esi, 8
cmove eax, edx
test esi, esi
cmove edi, ecx
pshufd xmm3, xmm0, 0xf9
shufps xmm2, xmm3, 0x20
shufps xmm3, xmm2, 0x24
psrld xmm3, 0x1f
paddd xmm0, xmm0
movdqa xmm2, xmm0
por xmm2, xmm3
mov ecx, dword [esp + 0x98]
test dword [esp + 0x8c], ecx
mov esi, ecx
je 0x793f10
add ebx, 0x5c
mov ecx, dword [esp + 0x90]
movzx ecx, cl
mov edx, 0xffffffff
cmp ecx, 0x17
jne 0x793f30
mov ecx, ebx
xor ecx, 0xce
xor ebx, ecx
add bl, 0x49
mov edx, dword [esp + 0x88]
xor eax, edx
pxor xmm2, xmm1
xor edi, dword [esp + 0x9c]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xbc], edi
movdqa xmm0, xmm2
mov dword [esp + 0x90], ebx
mov ebx, ecx
jmp 0x793f97
mov dword [esp + 0xa0], eax
mov dword [esp + 0xbc], edi
movdqa xmm0, xmm2
jmp 0x793f97
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xbc], ecx
mov esi, dword [esp + 0x88]
mov ecx, dword [esp + 0x90]
jmp 0x793f7b
add bl, 4
mov ecx, esi
xor ecx, eax
mov dword [esp + 0xa0], ecx
movdqa xmm0, xmm1
pxor xmm0, xmm2
mov ecx, dword [esp + 0x9c]
xor ecx, edi
mov dword [esp + 0xbc], ecx
mov cl, bl
movzx ebx, bl
and ebx, 0xffffffb2
add edx, 1
jb 0x793f50
mov dword [esp + 0x90], ecx
xor ebx, 0xa5
mov esi, dword [esp + 0x98]
and ebx, 0xffffff55
lea eax, [ebx + 0x63]
shr esi, 1
mov ecx, esi
jne 0x793e40
movzx eax, byte [esp + 0x6c]
cmp eax, 0x10
jne 0x793fd0
add ebx, 0x2d
mov esi, dword [esp + 0x68]
inc esi
cmp esi, 6
je 0x7940ef
xor bl, 0x4b
mov dl, bl
jmp 0x793fe6
add ebx, 0x5e
mov dl, bl
add dl, 0x9d
mov esi, dword [esp + 0x68]
inc esi
cmp esi, 6
je 0x7940f6
mov al, dl
and al, 0xe6
movzx ebx, al
add ebx, 0x51
movzx ecx, byte [esp + 0x70]
cmp ecx, 0x63
mov edi, dword [esp + 0x84]
mov dh, byte [esp + 0x64]
je 0x7940b0
mov eax, 0xffffffff
cmp ecx, 0x78
jne 0x7940d0
mov dword [esp + 0x8c], ecx
mov cl, byte [esp + 0x70]
jmp 0x794046
xor bl, 0xc8
mov ecx, dword [esp + esi*4 + 0x144]
mov dword [esp + 0x8c], ecx
mov cl, bl
movzx ebx, bl
and ebx, 0xffffffcd
xor ebx, 0xea
add eax, 1
jb 0x794030
mov dword [esp + 0x98], 0x80000000
mov byte [esp + 0x70], cl
and ebx, 0xffffff01
add ebx, 0x79
movzx ecx, dh
mov eax, 0xffffffff
cmp ecx, 0x18
je 0x793e10
jmp 0x794085
mov dh, bl
movzx ebx, bl
and ebx, 0xffffff9d
add eax, 1
jb 0x794080
mov dword [esp + 0x68], esi
mov byte [esp + 0x64], dh
mov byte [esp + 0x6c], dl
mov dword [esp + 0x84], edi
xor ebx, 0x4e
mov eax, ebx
jmp 0x793e2b
mov al, bl
xor al, 0x29
mov byte [esp + 0x70], al
mov eax, dword [esp + esi*4 + 0x144]
mov dword [esp + 0x8c], eax
jmp 0x793e00
xor bl, 0x64
mov eax, dword [esp + esi*4 + 0x144]
mov dword [esp + 0x8c], eax
mov al, bl
mov byte [esp + 0x70], al
movzx ebx, bl
jmp 0x793e00
xor bl, 0x58
mov cl, bl
jmp 0x7940fb
xor dl, 0xa
mov cl, dl
mov edx, 0xffffffff
movsx eax, cl
cmp eax, 0x1f
jg 0x79417f
movzx eax, cl
cmp eax, 0x16
je 0x7941e9
cmp eax, 0x1a
jne 0x79418e
and dword [esp + 0xbc], 7
lea eax, [esp + 0xf0]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0xf4]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x104]
mov dword [esp + 0x70], eax
jmp 0x794175
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xf0], eax
movdqu xmmword [esp + 0xf4], xmm0
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x104], eax
add edx, 1
jb 0x794150
jmp 0x7942aa
movzx eax, cl
cmp eax, 0x20
je 0x79424c
cmp eax, 0x44
mov eax, dword [esp + 0xbc]
and eax, 7
mov dword [esp + 0xbc], eax
lea ecx, [esp + 0xf0]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0xf0], eax
lea eax, [esp + 0xf4]
mov dword [esp + 0x88], eax
movdqu xmmword [esp + 0xf4], xmm0
lea eax, [esp + 0x104]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x104], eax
jmp 0x7942aa
and dword [esp + 0xbc], 7
lea eax, [esp + 0xf0]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0xf4]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x104]
mov dword [esp + 0x70], eax
jmp 0x794245
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xf0], eax
movdqu xmmword [esp + 0xf4], xmm0
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x104], eax
add edx, 1
jb 0x794220
jmp 0x7942aa
and dword [esp + 0xbc], 7
lea eax, [esp + 0xf0]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0xf4]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x104]
mov dword [esp + 0x70], eax
jmp 0x7942a5
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xf0], eax
movdqu xmmword [esp + 0xf4], xmm0
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x104], eax
add edx, 1
jb 0x794280
pxor xmm1, xmm1
mov ecx, 4
xor edi, edi
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x98], eax
xor esi, esi
mov dword [esp + 0x90], 0
jmp 0x7942fa
mov ecx, dword [esp + ecx*4 + 0xf4]
mov dword [esp + 0x98], ecx
mov ecx, 0x80000000
mov dword [esp + 0x90], eax
mov ebx, 0xe3
nop
mov dword [esp + 0x9c], ecx
and ebx, 0xffffff7e
add ebx, 0x5d
movd xmm2, edi
add edi, edi
movd eax, xmm1
shr eax, 0x1f
lea ecx, [eax + esi*2]
add esi, esi
mov eax, ecx
and eax, 7
mov edx, edi
xor edx, 0xc9
and esi, 8
cmove edx, edi
test esi, esi
cmove eax, ecx
mov ecx, dword [esp + 0x9c]
pshufd xmm3, xmm1, 0xf9
shufps xmm2, xmm3, 0x20
shufps xmm3, xmm2, 0x24
psrld xmm3, 0x1f
paddd xmm1, xmm1
movdqa xmm2, xmm1
por xmm2, xmm3
test dword [esp + 0x98], ecx
je 0x7943c0
xor ebx, 0xf9
mov ecx, 0xffffffff
mov edi, edx
mov esi, eax
movdqa xmm1, xmm2
jmp 0x7943a0
add ebx, 0x99
mov edi, dword [esp + 0xa0]
xor edi, edx
movdqa xmm1, xmm0
pxor xmm1, xmm2
mov esi, dword [esp + 0xbc]
xor esi, eax
and ebx, 0xffffff22
add ecx, 1
jb 0x794380
xor ebx, 0x5b
mov ecx, dword [esp + 0x9c]
jmp 0x7943c8
mov edi, edx
mov esi, eax
movdqa xmm1, xmm2
and ebx, 0xffffff19
xor ebx, 0x7b
shr ecx, 1
jne 0x794300
mov ecx, dword [esp + 0x90]
lea eax, [ecx + 1]
cmp eax, 6
jne 0x7942e0
mov cl, bl
add cl, 0x1b
mov eax, 0xffffffff
movzx ecx, cl
cmp ecx, 0x53
je 0x79444a
cmp ecx, 0x7d
jne 0x79449e
and esi, 7
lea eax, [esp + 0x108]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x108], esi
lea eax, [esp + 0x10c]
mov dword [esp + 0x30], eax
movdqu xmmword [esp + 0x10c], xmm1
lea eax, [esp + 0x11c]
mov dword [esp + 0x2c], eax
xor edi, 1
mov dword [esp + 0x11c], edi
jmp 0x7944fb
and esi, 7
lea ecx, [esp + 0x108]
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 0x10c]
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0x11c]
mov dword [esp + 0x2c], ecx
xor edi, 1
jmp 0x794497
mov dword [esp + 0x108], esi
movdqu xmmword [esp + 0x10c], xmm1
mov dword [esp + 0x11c], edi
add eax, 1
jb 0x794480
jmp 0x7944fb
add ebx, 0x5f
and esi, 7
lea ecx, [esp + 0x108]
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 0x10c]
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0x11c]
mov dword [esp + 0x2c], ecx
xor edi, 1
jmp 0x7944f6
and ebx, 0xffffff6d
add ebx, 0x76
add bl, 0x9c
mov dword [esp + 0x108], esi
movdqu xmmword [esp + 0x10c], xmm1
mov dword [esp + 0x11c], edi
movzx ebx, bl
add eax, 1
jb 0x7944d0
mov eax, 0x41
mov ebx, 0x9b
xor eax, 0xa9
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x120]
mov dword [esp + 0x48], eax
jmp 0x79456f
mov eax, dword [esp + 0x94]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x120]
mov esi, eax
mov dword [esp + 0x48], esi
mov dword [esp + 0xc], esi
lea eax, [esp + 0x144]
mov edi, eax
mov dword [esp + 8], edi
lea eax, [esp + 0xf0]
mov dword [esp + 4], eax
lea eax, [esp + 0x108]
mov dword [esp], eax
call fcn.00796810
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.007978c0
mov ecx, dword [esp + 0x84]
shr byte [esp + 0x80], 1
je 0x794590
mov dl, byte [esp + 0x80]
jmp 0x79459c
inc ecx
mov dl, pe_nt_image_headers32
cmp ecx, dword [ebp + 0x10]
jae 0x794641
mov byte [esp + 0x80], dl
mov dword [esp + 0x84], ecx
mov esi, 0xffffffff
mov eax, dword [ebp + 0xc]
test byte [eax + ecx], dl
mov edi, dword [esp + 0xa0]
jne 0x794631
jmp 0x794520
xor edi, 0x11
mov eax, dword [esp + 0x94]
mov dword [esp + 0x10], eax
lea eax, [esp + 0xf0]
mov dword [esp + 0xbc], esi
mov esi, eax
mov dword [esp + 0xc], esi
lea eax, [esp + 0x108]
mov dword [esp + 8], eax
lea eax, [esp + 0x120]
mov dword [esp + 4], eax
lea eax, [esp + 0x144]
mov dword [esp], eax
call fcn.00796810
mov dword [esp + 4], esi
mov esi, dword [esp + 0xbc]
lea eax, [esp + 0x108]
mov dword [esp], eax
call fcn.007978c0
and edi, 0xffffff46
add esi, 1
jb 0x7945d0
jmp 0x79456f
mov eax, dword [esp + 0x70]
mov eax, dword [eax]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x88]
movdqu xmm0, xmmword [eax]
mov eax, dword [esp + 0x8c]
mov eax, dword [eax]
mov dword [esp + 0x70], eax
pxor xmm2, xmm2
mov eax, 4
mov dword [esp + 0xbc], 0
mov dword [esp + 0x88], 0
xor edx, edx
nop word [eax + eax]
mov edi, 0xffffffff
mov dword [esp + 0xa0], esi
mov esi, ebx
mov ebx, dword [esp + 0x88]
jmp 0x7946c6
xor esi, 0xa8
mov ecx, dword [esp + edx*4 + 0x144]
mov dword [esp + 0xa0], ecx
mov ecx, edx
and esi, 0xffffff82
add esi, 0xffffff95
add edi, 1
jb 0x7946b0
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0xbc]
nop
mov dword [esp + 0xbc], eax
and esi, 0xffffffaa
movd xmm1, ecx
add ecx, ecx
movd eax, xmm2
shr eax, 0x1f
lea eax, [eax + ebx*2]
add ebx, ebx
mov edi, eax
and edi, 7
mov edx, ecx
xor edx, 0xc9
and ebx, 8
cmove edx, ecx
mov ecx, edx
test ebx, ebx
mov ebx, edi
cmove ebx, eax
mov eax, dword [esp + 0xbc]
pshufd xmm3, xmm2, 0xf9
shufps xmm1, xmm3, 0x20
shufps xmm3, xmm1, 0x24
psrld xmm3, 0x1f
paddd xmm2, xmm2
por xmm2, xmm3
test dword [esp + 0xa0], eax
je 0x794760
xor esi, 0x67
xor ecx, dword [esp + 0x80]
pxor xmm2, xmm0
xor ebx, dword [esp + 0x70]
jmp 0x794763
xor esi, 0x68
and esi, 0xfffffff0
xor esi, 0x22
shr eax, 1
jne 0x7946e0
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x88], ebx
mov ebx, esi
xor ebx, 0xa0
mov ecx, dword [esp + 0x9c]
lea edx, [ecx + 1]
mov eax, 0x80000000
cmp edx, 6
jne 0x794690
mov edi, 0xffffffff
and dword [esp + 0x88], 7
lea ecx, [esp + 0x124]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov byte [esp + 0x90], al
jmp 0x79482c
add ebx, 0x66
mov byte [esp + 0x90], 0x2d
mov eax, ebx
xor eax, 0x2d
add al, 0x94
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x88]
mov dword [ecx], edx
mov edx, eax
mov ecx, dword [esp + 0x60]
movdqu xmmword [ecx], xmm2
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0xbc]
mov dword [ecx], eax
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
mov dword [esp + 0x9c], eax
movups xmm1, xmmword [esp + 0x124]
mov eax, dword [esp + 0x120]
mov dword [esp + 0xa0], eax
movzx esi, dl
and ebx, 0xffffffea
and esi, 0xffffffd3
lea ebx, [esi + ebx - 0x93]
add edi, 1
jb 0x7947d0
xor ecx, ecx
pxor xmm2, xmm2
mov esi, 4
mov dword [esp + 0xbc], 0
xor edi, edi
nop word cs:[eax + eax]
mov dword [esp + 0x98], esi
and ebx, 0xffffffac
add ebx, 0x7e
movzx esi, dl
mov eax, 0xffffffff
cmp esi, 0x6e
jne 0x7948d0
mov dword [esp + 0x84], esi
jmp 0x7948a9
mov edx, 0xfb
add dl, 0x1c
mov esi, dword [esp + edi*4 + 0x108]
mov dword [esp + 0x84], esi
movzx ebx, dl
add eax, 1
jb 0x794890
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], edx
and ebx, 0xffffff16
add ebx, 0x6b
mov eax, ebx
jmp 0x7948ed
mov al, bl
xor al, 0x90
mov dword [esp + 0x6c], eax
mov edx, dword [esp + edi*4 + 0x108]
mov dword [esp + 0x84], edx
mov dword [esp + 0x68], edi
movzx eax, al
mov edx, dword [esp + 0x98]
nop word cs:[eax + eax]
mov dword [esp + 0x98], edx
and ebx, 0xffffff00
movd xmm3, ecx
add ecx, ecx
movd edx, xmm2
shr edx, 0x1f
mov esi, dword [esp + 0xbc]
lea edx, [edx + esi*2]
mov dword [esp + 0x8c], edx
add esi, esi
and edx, 7
mov edi, ecx
xor edi, 0xc9
and esi, 8
cmove edi, ecx
test esi, esi
cmove edx, dword [esp + 0x8c]
pshufd xmm4, xmm2, 0xf9
shufps xmm3, xmm4, 0x20
shufps xmm4, xmm3, 0x24
psrld xmm4, 0x1f
paddd xmm2, xmm2
movdqa xmm3, xmm2
por xmm3, xmm4
mov ecx, dword [esp + 0x98]
test dword [esp + 0x84], ecx
mov esi, ecx
je 0x7949e0
and eax, 0xffffff00
or eax, 0xc2
mov esi, 0xffffffff
mov ecx, edi
mov dword [esp + 0xbc], edx
movdqa xmm2, xmm3
jmp 0x7949c9
and ebx, 0xffffffc1
add ebx, 0x3e
mov ecx, dword [esp + 0x9c]
xor ecx, edi
movdqa xmm2, xmm1
pxor xmm2, xmm3
mov eax, dword [esp + 0xa0]
xor eax, edx
mov dword [esp + 0xbc], eax
mov eax, ebx
add esi, 1
jb 0x7949a0
and eax, 0xffffff03
mov ebx, eax
mov esi, dword [esp + 0x98]
jmp 0x7949ed
mov ecx, edi
mov dword [esp + 0xbc], edx
movdqa xmm2, xmm3
and ebx, 0xfffffffd
xor ebx, 0x75
movzx eax, byte [esp + 0x90]
cmp eax, 0x17
jne 0x794a20
mov al, bl
add al, 0xa2
mov byte [esp + 0x90], al
shr esi, 1
movzx eax, al
jmp 0x794a31
add bl, 0xb8
shr esi, 1
movzx eax, bl
mov dl, bl
mov byte [esp + 0x90], dl
mov ebx, eax
mov edx, esi
jne 0x794900
mov al, byte [esp + 0x90]
and al, 0xc5
movzx ebx, al
xor ebx, 0xc7
mov edi, dword [esp + 0x68]
inc edi
mov esi, 0x80000000
cmp edi, 6
mov edx, dword [esp + 0x6c]
jne 0x794860
mov dl, al
xor dl, 0x10
mov byte [esp + 0x6c], dl
mov bl, al
xor bl, 0x16
mov byte [esp + 0x68], bl
xor al, 0x39
mov byte [esp + 0x9c], al
mov dl, al
sub dl, bl
add dl, 0xd
mov dword [esp + 0x90], edx
mov bh, dl
xor bh, al
sub bh, bl
xor bh, 0xe7
mov edx, dword [esp + 0xbc]
and edx, 7
mov dword [esp + 0xbc], edx
mov eax, dword [esp + 0x4c]
mov dword [eax], edx
mov eax, dword [esp + 0x30]
movdqu xmmword [eax], xmm2
mov eax, dword [esp + 0x2c]
mov dword [eax], ecx
mov al, bh
movzx ecx, bl
pxor xmm3, xmm3
mov edi, 4
xor esi, esi
xor ebx, ebx
mov dword [esp + 0x84], 0
jmp 0x794aec
mov edi, 0x80000000
mov al, byte [esp + 0x8c]
mov byte [esp + 0x8c], al
and ecx, 0xffffff82
lea edx, [ecx + 0x9e]
movzx eax, al
cmp eax, 0x10
jne 0x794b20
mov dword [esp + 0x98], edi
add dl, 0x70
mov al, dl
jmp 0x794b56
mov dword [esp + 0x98], edi
xor edx, ecx
xor edx, 0x99
mov ecx, 0xffffffff
mov al, byte [esp + 0x8c]
jmp 0x794b51
and edx, 0xffffffb9
add edx, 0xb3
add dl, 0x91
mov al, dl
movzx edx, dl
add ecx, 1
jb 0x794b40
mov byte [esp + 0x8c], al
mov dl, byte [esp + 0x9c]
nop word cs:[eax + eax]
mov byte [esp + 0x9c], dl
mov ecx, 0xa1
mov eax, dword [esp + 0x90]
movzx edx, al
cmp edx, 0x13
je 0x794ba0
cmp edx, 0x4b
jne 0x794c10
add cl, 0x72
jmp 0x794c13
mov eax, 0xa1
xor al, 0x97
mov dword [esp + 0x90], eax
movd xmm1, esi
add esi, esi
movd edx, xmm3
shr edx, 0x1f
lea edx, [edx + ebx*2]
add ebx, ebx
mov edi, esi
mov esi, edx
and esi, 7
mov eax, edi
xor eax, 0xc9
and ebx, 8
cmovne edi, eax
test ebx, ebx
cmove esi, edx
pshufd xmm2, xmm3, 0xf9
shufps xmm1, xmm2, 0x20
shufps xmm2, xmm1, 0x24
psrld xmm2, 0x1f
paddd xmm3, xmm3
por xmm3, xmm2
mov edx, dword [esp + 0x98]
test dword [esp + 0xa0], edx
mov ebx, esi
mov esi, edi
mov edi, edx
jmp 0x794c77
add cl, 0xaa
movd xmm1, esi
add esi, esi
movd eax, xmm3
shr eax, 0x1f
lea eax, [eax + ebx*2]
add ebx, ebx
mov edx, eax
and edx, 7
mov edi, ebx
mov ebx, esi
xor esi, 0xc9
and edi, 8
cmovne ebx, esi
mov esi, ebx
test edi, edi
pshufd xmm2, xmm3, 0xf9
shufps xmm1, xmm2, 0x20
shufps xmm2, xmm1, 0x24
psrld xmm2, 0x1f
paddd xmm3, xmm3
por xmm3, xmm2
cmove edx, eax
mov edi, dword [esp + 0x98]
test dword [esp + 0xa0], edi
mov al, cl
mov dword [esp + 0x90], eax
movzx ecx, cl
mov ebx, edx
mov al, byte [esp + 0x9c]
je 0x794c95
and ecx, 5
or ecx, 0x22
xor esi, dword [esp + 0x80]
pxor xmm3, xmm0
xor ebx, dword [esp + 0x70]
and ecx, 5
add ecx, 0x41
movzx edx, al
cmp edx, 0x3c
je 0x794cb0
cmp edx, 0x5e
jne 0x794cd0
mov dl, cl
add dl, 0xd4
jmp 0x794cb5
mov dl, cl
xor dl, 0x7e
shr edi, 1
mov dword [esp + 0x98], edi
jne 0x794b70
jmp 0x794ce7
mov dl, cl
xor dl, 0x1c
shr edi, 1
mov dword [esp + 0x98], edi
jne 0x794b70
movzx ecx, dl
and ecx, 0xe3
sub ecx, 0xffffff80
movzx eax, byte [esp + 0x68]
cmp eax, 0x13
jne 0x794d30
mov byte [esp + 0x9c], dl
mov al, cl
add al, 0xae
mov byte [esp + 0x68], al
movzx edx, al
add edx, ecx
xor dl, 0x5b
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, 6
je 0x794e46
movzx ecx, dl
jmp 0x794d57
mov al, cl
add al, 0x51
mov byte [esp + 0x68], al
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
cmp eax, 6
je 0x794e4a
mov byte [esp + 0x9c], dl
and ecx, 0xffffff54
xor ecx, 0x92
mov edi, 0xffffffff
mov al, byte [esp + 0x6c]
movzx edx, al
cmp edx, 0x15
je 0x794dd0
cmp edx, 0x3f
jne 0x794e20
mov dword [esp + 0xa0], eax
mov edx, dword [esp + 0x84]
mov al, byte [esp + 0x6c]
jmp 0x794db9
add ecx, 0x5e
add cl, 0xc6
mov eax, dword [esp + edx*4 + 0x120]
mov dword [esp + 0xa0], eax
mov al, cl
movzx ecx, cl
and ecx, 0xffffff5b
add edi, 1
jb 0x794da0
mov byte [esp + 0x6c], al
add ecx, 8
jmp 0x794ae0
mov dl, al
mov dword [esp + 0xa0], eax
mov al, dl
mov edx, dword [esp + 0x84]
jmp 0x794e06
add cl, 5
mov eax, dword [esp + edx*4 + 0x120]
mov dword [esp + 0xa0], eax
mov al, cl
movzx ecx, cl
and ecx, 0xffffff38
add edi, 1
jb 0x794df0
mov byte [esp + 0x6c], al
add ecx, 0x52
jmp 0x794ae0
add cl, 0x6d
mov eax, dword [esp + 0x84]
mov eax, dword [esp + eax*4 + 0x120]
mov dword [esp + 0xa0], eax
mov al, cl
mov byte [esp + 0x6c], al
movzx ecx, cl
jmp 0x794ae0
mov al, dl
jmp 0x794e56
mov al, byte [esp + 0x68]
movzx edx, al
add edx, ecx
add dl, 0x94
movdqa xmmword [esp + 0xa0], xmm3
and al, 0x85
movzx ecx, al
xor ecx, 0x16
movzx eax, dl
cmp eax, 0x69
jne 0x794f8d
mov edi, 0xffffffff
and ebx, 7
lea eax, [esp + 0xd8]
mov dword [esp + 0x50], eax
lea eax, [esp + 0xdc]
mov dword [esp + 0x20], eax
lea eax, [esp + 0xe8]
mov dword [esp + 0x28], eax
lea eax, [esp + 0xec]
mov dword [esp + 0x38], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0x3c], eax
mov byte [esp + 0x84], al
lea eax, [esp + 0xd4]
mov dword [esp + 0x34], eax
lea eax, [esp + 0xd0]
mov dword [esp + 0x24], eax
lea eax, [esp + 0xc4]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0x90], eax
mov eax, ecx
jmp 0x794f7f
and eax, 0xfffffffe
lea ecx, [eax - 0xa]
xor ecx, eax
mov al, cl
add al, 0x4d
mov byte [esp + 0x84], al
add cl, 0xfc
mov dword [esp + 0x98], ecx
mov dword [esp + 0xd8], ebx
movdqa xmm0, xmmword [esp + 0xa0]
movdqu xmmword [esp + 0xdc], xmm0
mov dword [esp + 0xec], esi
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
mov dword [esp + 0xc], 0x12
mov dword [esp + 8], 0
call fcn.00798040
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x9c], eax
movups xmm2, xmmword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x90], eax
movzx eax, cl
add edi, 1
jb 0x794ef0
jmp 0x795062
xor cl, 0x7e
mov al, cl
add al, 0xfe
mov byte [esp + 0x84], al
add cl, al
xor cl, 0xc6
and ebx, 7
mov edi, ecx
lea ecx, [esp + 0xd8]
mov dword [esp + 0x50], ecx
mov dword [esp + 0xd8], ebx
lea eax, [esp + 0xdc]
mov dword [esp + 0x20], eax
lea eax, [esp + 0xe8]
mov dword [esp + 0x28], eax
movdqa xmm0, xmmword [esp + 0xa0]
movdqu xmmword [esp + 0xdc], xmm0
mov dword [esp + 0xec], esi
lea eax, [esp + 0xec]
mov dword [esp + 0x38], eax
mov dword [esp + 4], ecx
lea eax, [esp + 0xc0]
mov dword [esp + 0x3c], eax
mov dword [esp], eax
mov dword [esp + 0xc], 0x12
mov dword [esp + 8], 0
call fcn.00798040
lea eax, [esp + 0xd4]
mov dword [esp + 0x34], eax
lea eax, [esp + 0xd0]
mov dword [esp + 0x24], eax
lea eax, [esp + 0xc4]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x9c], eax
movdqu xmm2, xmmword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x90], eax
mov eax, edi
mov cl, al
mov dword [esp + 0x98], ecx
pxor xmm0, xmm0
mov dword [esp + 0xa0], 4
xor ebx, ebx
xor ecx, ecx
mov dword [esp + 0x8c], 0
mov dl, byte [esp + 0x84]
jmp 0x7950a4
mov dword [esp + 0xa0], 0x80000000
mov dword [esp + 0x8c], edi
mov ebx, esi
mov eax, 0xffffffff
nop dword [eax]
mov esi, 0x69
add eax, 1
jb 0x7950b0
mov byte [esp + 0x84], dl
mov edx, dword [esp + 0x98]
nop dword [eax + eax]
and esi, 0xffffff0e
mov eax, esi
add eax, 0xcf
movzx esi, dl
cmp esi, 0x18
je 0x795170
cmp esi, 0x2a
jne 0x795180
mov dl, al
add dl, 0x41
mov dword [esp + 0x98], edx
movd xmm1, ebx
mov edx, ebx
add edx, edx
movd edi, xmm0
shr edi, 0x1f
lea edi, [edi + ecx*2]
add ecx, ecx
mov ebx, edi
and ebx, 7
mov esi, edx
xor esi, 0xc9
and ecx, 8
cmove esi, edx
test ecx, ecx
mov ecx, ebx
cmove ecx, edi
pshufd xmm3, xmm0, 0xf9
shufps xmm1, xmm3, 0x20
shufps xmm3, xmm1, 0x24
psrld xmm3, 0x1f
paddd xmm0, xmm0
por xmm0, xmm3
mov edi, dword [esp + 0xa0]
test dword [esp + 0x88], edi
je 0x7951fa
mov ebx, esi
mov edx, dword [esp + 0x98]
jmp 0x7951e1
xor al, 0xfd
jmp 0x795182
add al, 0x3f
movd xmm1, ebx
add ebx, ebx
movd esi, xmm0
shr esi, 0x1f
lea esi, [esi + ecx*2]
add ecx, ecx
mov edi, esi
and edi, 7
mov edx, ecx
mov ecx, ebx
xor ecx, 0xc9
and edx, 8
cmovne ebx, ecx
test edx, edx
pshufd xmm3, xmm0, 0xf9
shufps xmm1, xmm3, 0x20
shufps xmm3, xmm1, 0x24
psrld xmm3, 0x1f
paddd xmm0, xmm0
por xmm0, xmm3
cmove edi, esi
mov esi, dword [esp + 0xa0]
test dword [esp + 0x88], esi
mov dl, al
movzx eax, al
mov ecx, edi
mov edi, esi
je 0x795210
and eax, 0xffffff02
xor ebx, dword [esp + 0x9c]
pxor xmm0, xmm2
xor ecx, dword [esp + 0x90]
jmp 0x795210
mov edx, dword [esp + 0x98]
movzx eax, dl
mov ebx, esi
nop word cs:[eax + eax]
and eax, 0xffffffc1
lea esi, [eax + 0x98]
shr edi, 1
mov dword [esp + 0xa0], edi
jne 0x7950d0
mov dword [esp + 0x98], edx
mov dl, al
xor dl, 0x65
mov esi, dword [esp + 0x8c]
lea edi, [esi + 1]
cmp edi, 6
je 0x795322
mov esi, ebx
movzx eax, dl
xor eax, 0xcc
mov ebx, 0xffffffff
movzx edx, byte [esp + 0x84]
cmp edx, 0x3d
je 0x7952b0
cmp edx, 0x67
jne 0x7952f0
mov dword [esp + 0x88], edx
mov dl, byte [esp + 0x84]
jmp 0x79529c
xor al, 2
mov edx, dword [esp + 0x8c]
mov edx, dword [esp + edx*4 + 0x148]
mov dword [esp + 0x88], edx
mov dl, al
movzx eax, al
and eax, 0xffffff5d
add ebx, 1
jb 0x795280
jmp 0x795090
mov dword [esp + 0x88], edx
mov dl, byte [esp + 0x84]
jmp 0x7952dc
add al, 0x46
mov edx, dword [esp + 0x8c]
mov edx, dword [esp + edx*4 + 0x148]
mov dword [esp + 0x88], edx
mov dl, al
movzx eax, al
and eax, 0xffffff31
add ebx, 1
jb 0x7952c0
jmp 0x795090
add al, 0x94
mov edx, dword [esp + 0x8c]
mov edx, dword [esp + edx*4 + 0x148]
mov dword [esp + 0x88], edx
mov dword [esp + 0xa0], 0x80000000
mov dword [esp + 0x8c], edi
mov dl, al
mov ebx, esi
jmp 0x7950a4
mov dword [esp + 0x68], ecx
xor eax, 0x8a
movzx ecx, dl
cmp ecx, 0x35
je 0x7953a1
cmp ecx, 0x65
jne 0x7953e9
mov edx, 0xffffffff
and dword [esp + 0x68], 7
mov dword [esp + 0x84], ecx
mov dword [esp + 0xa0], ecx
mov edi, dword [esp + 0x68]
jmp 0x79538e
mov cl, al
add cl, 0x65
movzx esi, cl
add eax, esi
add al, 0x9d
mov cl, al
xor cl, 0x6c
mov dword [esp + 0x84], ecx
mov ecx, dword [ebp + 8]
mov dword [ecx], edi
movdqu xmmword [ecx + 4], xmm0
mov dword [ecx + 0x14], ebx
mov dword [esp + 0xa0], eax
mov eax, esi
and eax, 0xffffff10
add edx, 1
jb 0x795360
mov dword [esp + 0x64], ebx
jmp 0x795426
mov dl, al
add dl, 0xa8
movzx ecx, dl
sub ecx, eax
add cl, 0x5a
mov dword [esp + 0xa0], ecx
mov dh, cl
sub dh, dl
movzx edx, dh
add edx, eax
xor dl, 0x34
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x68]
and edx, 7
mov dword [esp + 0x68], edx
mov eax, dword [ebp + 8]
mov dword [eax], edx
movdqu xmmword [eax + 4], xmm0
mov dword [eax + 0x14], ebx
mov dword [esp + 0x64], ebx
movzx eax, cl
jmp 0x795426
mov cl, al
add cl, 0xab
movzx edx, cl
xor eax, edx
add al, 0x43
mov cl, al
xor cl, 0x6c
mov dword [esp + 0x84], ecx
mov esi, dword [esp + 0x68]
and esi, 7
mov dword [esp + 0x68], esi
mov ecx, dword [ebp + 8]
mov dword [ecx], esi
movdqu xmmword [ecx + 4], xmm0
mov dword [ecx + 0x14], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0xa0], eax
mov eax, edx
xorps xmm1, xmm1
mov dword [esp + 0x80], 4
mov dword [esp + 0x98], 0
mov edx, 0xe0
xor edx, 0x4d
mov dword [esp + 0x8c], edx
xor esi, esi
mov dword [esp + 0x88], 0
jmp 0x795477
and eax, 0xffffffcb
mov dword [esp + 0x80], 0x80000000
mov edx, ecx
mov dword [esp + 0x88], edx
and eax, 0xffffff88
add eax, 0x83
mov ebx, 0xffffffff
mov edx, dword [esp + 0x84]
movzx edi, dl
cmp edi, 0x2f
je 0x7954af
cmp edi, 0x43
je 0x7954cc
xor al, 0xc0
mov dl, al
jmp 0x7954d1
and eax, 0xffffff12
xor eax, 0x6f
xor al, 3
mov dl, al
movzx eax, al
add ebx, 1
jb 0x7954a0
jmp 0x7954d1
and eax, 0xffffff53
xor al, 0x2c
mov dl, al
movzx eax, al
add ebx, 1
jb 0x7954c0
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x98]
mov ecx, dword [esp + 0x80]
nop word cs:[eax + eax]
movd xmm3, edx
mov edi, edx
add edi, edi
movd edx, xmm1
shr edx, 0x1f
lea ebx, [edx + esi*2]
add esi, esi
mov edx, ebx
and edx, 7
mov eax, edi
xor eax, 0xc9
and esi, 8
cmove eax, edi
test esi, esi
mov esi, edx
cmove esi, ebx
pshufd xmm4, xmm1, 0xf9
shufps xmm3, xmm4, 0x20
shufps xmm4, xmm3, 0x24
psrld xmm4, 0x1f
paddd xmm1, xmm1
por xmm1, xmm4
test dword [esp + 0xbc], ecx
mov edi, ecx
je 0x795554
xor eax, dword [esp + 0x9c]
pxor xmm1, xmm2
xor esi, dword [esp + 0x90]
mov edx, eax
mov eax, dword [esp + 0xa0]
movzx eax, al
cmp eax, 0x33
jne 0x795590
mov ecx, dword [esp + 0x8c]
add cl, 0x86
mov dword [esp + 0xa0], ecx
shr edi, 1
mov ecx, edi
jne 0x7954f0
jmp 0x7955c0
mov ecx, dword [esp + 0x8c]
add cl, 0x55
mov dword [esp + 0xa0], ecx
shr edi, 1
mov ecx, edi
jne 0x7954f0
mov dword [esp + 0x98], edx
mov ebx, dword [esp + 0x8c]
jmp 0x7955d1
mov dword [esp + 0x98], edx
mov eax, dword [esp + 0xa0]
movzx ebx, al
and ebx, 0x61
mov al, bl
xor al, 0x74
mov edx, dword [esp + 0x88]
lea ecx, [edx + 1]
cmp ecx, 6
movzx eax, al
mov edx, 0xffffffff
je 0x79562b
mov edi, esi
mov dword [esp + 0xbc], esi
jmp 0x79561f
mov edi, esi
and ebx, 0xffffffbf
xor ebx, 0x40
mov eax, dword [esp + 0x88]
mov eax, dword [esp + eax*4 + 0x10c]
mov dword [esp + 0xbc], eax
mov eax, ebx
add edx, 1
mov esi, edi
jb 0x795600
jmp 0x795460
xor ebx, 0x8d
movzx eax, al
cmp eax, 0x43
jne 0x7956db
mov eax, dword [esp + 0x94]
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x64]
xor edx, ecx
mov dword [esp + 0x64], edx
mov ecx, dword [esp + 0x54]
mov dword [ecx], edx
movdqu xmm3, xmmword [eax + 4]
pxor xmm0, xmm3
mov ecx, dword [esp + 0x60]
movdqu xmmword [ecx], xmm0
mov edx, dword [eax]
mov dword [esp + 0x60], edx
mov edi, dword [esp + 0x68]
xor edi, edx
mov eax, dword [esp + 0x58]
mov dword [eax], edi
add bl, 0xb7
mov ecx, dword [esp + 0x98]
xor ecx, dword [esp + 0x5c]
mov dword [esp + 0x98], ecx
mov eax, dword [esp + 0x2c]
mov dword [eax], ecx
mov byte [esp + 0x8c], 0x76
mov byte [esp + 0x9c], 0x2e
pxor xmm1, xmm3
mov eax, dword [esp + 0x30]
movdqu xmmword [eax], xmm1
mov al, 0x31
mov dword [esp + 0x88], eax
and esi, 7
xor esi, edx
mov eax, dword [esp + 0x4c]
mov dword [eax], esi
mov al, bl
mov byte [esp + 0x70], al
mov al, 0x5c
mov ecx, 0x5c
jmp 0x79578f
add bl, 0xa9
mov al, bl
xor al, 0x36
mov byte [esp + 0x70], al
sub al, bl
mov byte [esp + 0x8c], al
mov eax, dword [esp + 0x94]
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x64]
xor edx, ecx
mov dword [esp + 0x64], edx
mov ecx, dword [esp + 0x54]
mov dword [ecx], edx
movdqu xmm3, xmmword [eax + 4]
pxor xmm0, xmm3
mov ecx, dword [esp + 0x60]
movdqu xmmword [ecx], xmm0
mov ebx, dword [eax]
mov dword [esp + 0x60], ebx
mov edi, dword [esp + 0x68]
xor edi, ebx
mov eax, dword [esp + 0x58]
mov dword [eax], edi
mov dh, byte [esp + 0x8c]
add dh, 0x68
mov byte [esp + 0x8c], dh
mov ecx, dword [esp + 0x98]
xor ecx, dword [esp + 0x5c]
mov dword [esp + 0x98], ecx
mov eax, dword [esp + 0x2c]
mov dword [eax], ecx
mov dl, dh
xor dl, 0x58
mov byte [esp + 0x9c], dl
pxor xmm1, xmm3
mov eax, dword [esp + 0x30]
movdqu xmmword [eax], xmm1
mov cl, dh
xor cl, 0x47
mov dword [esp + 0x88], ecx
and esi, 7
xor esi, ebx
mov eax, dword [esp + 0x4c]
mov dword [eax], esi
mov al, cl
add al, 0x2b
movzx ecx, dl
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], edi
pxor xmm2, xmm2
mov dword [esp + 0x90], 4
mov dword [esp + 0xbc], 0
mov dword [esp + 0x84], edi
mov dword [esp + 0xa0], 0
mov dword [esp + 0x80], 0
mov bl, byte [esp + 0x8c]
jmp 0x7957f6
mov dword [esp + 0x90], 0x80000000
mov dword [esp + 0x80], edi
mov eax, dword [esp + 0x58]
and ecx, 0xffffff00
or ecx, 0xbd
mov edi, 0xffffffff
mov edx, eax
movzx eax, dl
cmp eax, 5
je 0x795830
cmp eax, 0x5c
je 0x795860
cmp eax, 0x7f
jne 0x795880
add cl, 0x48
mov al, cl
jmp 0x7958a9
mov eax, edx
jmp 0x79584e
and ecx, 0xffffff1e
add cl, 0x40
mov al, cl
movzx ecx, cl
add edi, 1
jb 0x795840
jmp 0x7958a9
mov eax, edx
jmp 0x795877
mov eax, 0xf0
add al, 0x67
add edi, 1
jb 0x795870
jmp 0x7958a9
mov eax, edx
jmp 0x7958a4
and ecx, 0xffffff3d
add ecx, 0x8c
add cl, 0xb6
mov al, cl
movzx ecx, cl
add edi, 1
jb 0x795890
mov dword [esp + 0x58], eax
mov ecx, 0x42
nop word cs:[eax + eax]
mov eax, dword [esp + 0x88]
movzx eax, al
cmp eax, 0x21
je 0x7958f0
mov byte [esp + 0x8c], bl
cmp eax, 0x53
jne 0x795900
mov eax, 0xca
lea eax, [eax - 0x9d]
add al, 0xf4
jmp 0x795907
mov byte [esp + 0x8c], bl
mov eax, 0xca
xor al, 0xfb
jmp 0x795907
mov eax, 0xca
add al, 0x89
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xbc]
movd xmm4, eax
add eax, eax
movd edx, xmm2
shr edx, 0x1f
mov ebx, dword [esp + 0xa0]
lea edx, [edx + ebx*2]
add ebx, ebx
mov esi, edx
and esi, 7
mov edi, eax
xor edi, 0xc9
and ebx, 8
cmove edi, eax
mov dword [esp + 0xbc], edi
test ebx, ebx
cmove esi, edx
mov dword [esp + 0xa0], esi
pshufd xmm5, xmm2, 0xf9
shufps xmm4, xmm5, 0x20
shufps xmm5, xmm4, 0x24
psrld xmm5, 0x1f
paddd xmm2, xmm2
por xmm2, xmm5
mov edx, dword [esp + 0x90]
test dword [esp + 0x84], edx
je 0x795a50
mov eax, 0xca
lea ebx, [eax - 0xc1]
movzx eax, byte [esp + 0x9c]
cmp eax, 0x13
mov esi, dword [esp + 0x6c]
je 0x795a1f
cmp eax, 0x1c
je 0x795a24
mov edi, 0xffffffff
cmp eax, 0x30
je 0x7959f4
add bl, 0x25
jmp 0x795a27
and ebx, 0xffffffc6
add ebx, 0x5e
xor bl, 0x6e
mov eax, dword [esp + 0x98]
xor eax, dword [esp + 0xbc]
movdqa xmm4, xmm1
pxor xmm4, xmm2
mov edx, esi
xor edx, dword [esp + 0xa0]
mov cl, bl
mov byte [esp + 0x9c], cl
movzx ebx, bl
add edi, 1
jb 0x7959c0
mov dword [esp + 0xbc], eax
mov dword [esp + 0xa0], edx
movaps xmm2, xmm4
mov al, byte [esp + 0x8c]
mov ecx, 0x42
mov edx, dword [esp + 0x90]
jmp 0x795a57
add bl, 0x13
jmp 0x795a27
xor bl, 0x1a
mov eax, dword [esp + 0xbc]
xor eax, dword [esp + 0x98]
mov dword [esp + 0xbc], eax
pxor xmm2, xmm1
xor dword [esp + 0xa0], esi
mov al, bl
mov byte [esp + 0x9c], al
mov al, byte [esp + 0x8c]
movzx eax, al
cmp eax, 0x30
je 0x795a80
cmp eax, 0x65
jne 0x795aa0
shr edx, 1
mov dword [esp + 0x90], edx
mov bl, 0x30
jne 0x7958c0
jmp 0x795ac0
shr edx, 1
mov dword [esp + 0x90], edx
mov bl, 0x65
jne 0x7958c0
jmp 0x795ad0
shr edx, 1
mov dword [esp + 0x90], edx
mov bl, 0x76
jne 0x7958c0
mov bl, 0x76
jmp 0x795ad7
mov al, 0x30
movzx ecx, al
mov bl, 0x30
jmp 0x795ad7
mov al, 0x65
movzx ecx, al
mov bl, 0x65
mov eax, dword [esp + 0x80]
lea edi, [eax + 1]
cmp edi, 6
je 0x795b84
and ecx, 0x88
xor ecx, 0xe5
add ecx, 0xffffff3a
movzx edx, byte [esp + 0x70]
mov eax, 0xffffffff
cmp edx, 0x63
mov dword [esp + 0x84], edx
je 0x795b3e
jmp 0x795b71
mov edx, dword [esp + 0x80]
mov edx, dword [esp + edx*4 + 0x148]
mov dword [esp + 0x84], edx
mov dl, cl
mov byte [esp + 0x70], dl
movzx ecx, cl
and ecx, 0xfffffffc
add eax, 1
jb 0x795b20
xor ecx, 0x45
jmp 0x7957e0
add cl, 0x60
mov edx, dword [esp + 0x80]
mov edx, dword [esp + edx*4 + 0x148]
mov dword [esp + 0x84], edx
mov dl, cl
mov byte [esp + 0x70], dl
movzx ecx, cl
and ecx, 0xffffff83
add eax, 1
jb 0x795b50
xor ecx, 0xb1
jmp 0x7957e0
and bl, 0xa8
movzx ebx, bl
lea eax, [ebx - 4]
mov edx, dword [esp + 0xa0]
and edx, 7
mov dword [esp + 0xa0], edx
mov ecx, dword [esp + 0x50]
mov dword [ecx], edx
mov ecx, dword [esp + 0x20]
movdqu xmmword [ecx], xmm2
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0xbc]
mov dword [ecx], edx
pshufd xmm1, xmm3, 0xe7
movd dword [esp + 0x58], xmm1
pshufd xmm1, xmm3, 0x4e
movd dword [esp + 0x54], xmm1
pshufd xmm1, xmm3, 0xe5
movd dword [esp + 0x50], xmm1
movd dword [esp + 0x4c], xmm3
mov dword [esp + 0x84], 4
xor edx, edx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x98], 0
xor edi, edi
mov dword [esp + 0x90], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x6c], 0
jmp 0x795c4a
mov dword [esp + 0x84], 0x80000000
mov edx, ebx
mov dword [esp + 0x6c], edx
mov ebx, eax
mov edx, dword [esp + 0x8c]
mov esi, 0xffffffff
jmp 0x795c6a
and eax, 0xffffff02
add eax, 0x60
mov ebx, eax
add esi, 1
jb 0x795c60
mov dword [esp + 0x8c], edx
and ebx, 0xffffff2a
mov eax, ebx
mov esi, dword [esp + 0x90]
mov ecx, dword [esp + 0x84]
nop dword [eax]
mov edx, esi
and eax, 0xffffffd3
xor eax, 7
mov dword [esp + 0x84], eax
mov eax, edi
shld esi, eax, 1
mov dword [esp + 0x90], esi
mov edi, dword [esp + 0x98]
shld eax, edi, 1
mov dword [esp + 0x80], eax
mov esi, dword [esp + 0x8c]
shld edi, esi, 1
mov dword [esp + 0x98], edi
add esi, esi
mov eax, dword [esp + 0x9c]
mov ebx, eax
shr ebx, 0x1f
shld eax, edx, 1
mov dword [esp + 0x9c], eax
mov edi, dword [esp + 0x88]
lea ebx, [ebx + edi*2]
add edi, edi
mov eax, ebx
and eax, 7
mov edx, esi
xor edx, 0xc9
and edi, 8
cmove edx, esi
test edi, edi
mov esi, eax
cmove esi, ebx
test dword [esp + 0x70], ecx
je 0x795d80
mov eax, dword [esp + 0x84]
add eax, 0x6a
xor edx, dword [esp + 0x5c]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x98]
xor edx, dword [esp + 0x58]
mov dword [esp + 0x98], edx
mov edi, dword [esp + 0x80]
xor edi, dword [esp + 0x54]
mov edx, dword [esp + 0x90]
xor edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x9c]
xor ebx, dword [esp + 0x4c]
mov dword [esp + 0x9c], ebx
xor esi, dword [esp + 0x60]
mov dword [esp + 0x88], esi
mov esi, edx
jmp 0x795da3
mov dword [esp + 0x8c], edx
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x80]
mov eax, dword [esp + 0x84]
and eax, 0xffffff89
xor eax, 0xd
shr ecx, 1
jne 0x795c90
mov dword [esp + 0x90], esi
xor eax, 3
mov edx, dword [esp + 0x6c]
lea ebx, [edx + 1]
mov esi, 0xffffffff
cmp ebx, 6
je 0x795dfa
jmp 0x795de2
add eax, 6
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x6c]
mov edx, dword [edx + ecx*4 + 4]
mov dword [esp + 0x70], edx
and eax, 0xffffff4b
xor eax, 0xbe
add esi, 1
jb 0x795dd0
jmp 0x795c30
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x8c]
xor ecx, dword [edx + 0x2c]
mov esi, dword [esp + 0x34]
mov dword [esi], ecx
mov ebx, eax
mov eax, dword [esp + 0x98]
xor eax, dword [edx + 0x28]
mov esi, dword [esp + 0x24]
mov dword [esi], eax
movd xmm1, edi
movd xmm3, dword [esp + 0x9c]
movd xmm4, dword [esp + 0x90]
mov esi, dword [esp + 0x88]
and esi, 7
movd xmm5, esi
mov esi, dword [esp + 0xbc]
xor esi, ecx
punpckldq xmm3, xmm1
movdqu xmm1, xmmword [edx + 0x18]
punpckldq xmm5, xmm4
punpckldq xmm5, xmm3
pxor xmm5, xmm1
movdqu xmmword [esp + 0xc0], xmm5
mov ecx, dword [esp + 0x38]
mov dword [ecx], esi
mov esi, eax
mov eax, ebx
xor bl, 0x1d
movzx edx, bl
xor edx, eax
mov bh, dl
add bh, 0x56
mov byte [esp + 0x88], bh
add dl, 0xf
mov dword [esp + 0x9c], edx
pshufd xmm1, xmm2, 0xe7
movd ecx, xmm1
xor ecx, esi
mov al, dl
add al, bh
add al, 0xb1
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x28]
mov dword [eax], ecx
mov cl, bl
movd xmm1, dword [esp + 0xa0]
shufps xmm1, xmm2, 0
shufps xmm1, xmm2, 0x98
xorps xmm1, xmm5
movups xmmword [esp + 0xd8], xmm1
movd dword [esp + 0x98], xmm1
pxor xmm3, xmm3
mov dword [esp + 0xa0], 4
xor edx, edx
xor esi, esi
xor eax, eax
jmp 0x795f1e
xor bl, 0x54
mov ecx, dword [esp + eax*4 + 0xd8]
mov dword [esp + 0x98], ecx
mov dword [esp + 0xa0], 0x80000000
mov cl, bl
mov edi, 0xffffffff
nop word cs:[eax + eax]
mov ebx, 0xf
add edi, 1
jb 0x795f30
mov byte [esp + 0x90], cl
mov dword [esp + 0x8c], eax
mov edi, esi
nop word [eax + eax]
and ebx, 0xffffffc4
mov eax, dword [esp + 0xbc]
movzx eax, al
cmp eax, 0x38
jne 0x795fe0
mov al, bl
add al, 0x4c
mov dword [esp + 0xbc], eax
movd xmm1, edx
mov ecx, edx
add ecx, ecx
movd esi, xmm3
shr esi, 0x1f
lea esi, [esi + edi*2]
add edi, edi
mov edx, edi
mov edi, esi
and edi, 7
mov eax, ecx
xor eax, 0xc9
and edx, 8
cmove eax, ecx
test edx, edx
cmove edi, esi
pshufd xmm2, xmm3, 0xf9
shufps xmm1, xmm2, 0x20
shufps xmm2, xmm1, 0x24
psrld xmm2, 0x1f
paddd xmm3, xmm3
por xmm3, xmm2
mov ecx, dword [esp + 0xa0]
test dword [esp + 0x98], ecx
je 0x796059
mov edx, dword [esp + 0xbc]
movzx ebx, dl
mov edx, eax
jmp 0x796048
mov eax, ebx
xor eax, 0x20
add al, 0x14
mov dword [esp + 0xbc], eax
movd xmm1, edx
add edx, edx
mov ecx, edx
mov edx, edi
movd edi, xmm3
shr edi, 0x1f
lea eax, [edi + edx*2]
add edx, edx
mov edi, eax
and edi, 7
mov esi, ecx
xor esi, 0xc9
and edx, 8
cmovne ecx, esi
test edx, edx
mov edx, ecx
cmove edi, eax
pshufd xmm2, xmm3, 0xf9
shufps xmm1, xmm2, 0x20
shufps xmm2, xmm1, 0x24
psrld xmm2, 0x1f
paddd xmm3, xmm3
por xmm3, xmm2
mov ecx, dword [esp + 0xa0]
test dword [esp + 0x98], ecx
je 0x796060
and ebx, 0xffffffab
xor edx, dword [esp + 0x64]
pxor xmm3, xmm0
xor edi, dword [esp + 0x68]
jmp 0x796060
mov edx, eax
nop dword [eax + eax]
and ebx, 0xfffffffb
xor ebx, 0x9c
mov eax, dword [esp + 0x9c]
movzx eax, al
cmp eax, 0x17
jne 0x796090
add bl, 0x90
mov dword [esp + 0x9c], ebx
shr ecx, 1
mov dword [esp + 0xa0], ecx
jmp 0x7960a5
xor bl, 0x8b
shr ecx, 1
mov dword [esp + 0xa0], ecx
mov al, bl
mov dword [esp + 0x9c], eax
movzx ebx, bl
jne 0x795f50
mov esi, edi
mov eax, dword [esp + 0x9c]
and al, 0xc4
movzx ecx, al
xor ecx, 0xea
movzx edi, byte [esp + 0x88]
cmp edi, 0x1c
je 0x7960f0
cmp edi, 0x3c
mov eax, dword [esp + 0x8c]
jne 0x796110
inc eax
cmp eax, 6
je 0x7961d1
add cl, 0x4e
jmp 0x796120
mov eax, dword [esp + 0x8c]
inc eax
cmp eax, 6
je 0x7961d1
add cl, 0x85
jmp 0x796120
add ecx, 0xffffffe3
xor cl, 0xcd
inc eax
cmp eax, 6
je 0x7961d6
mov byte [esp + 0x88], cl
mov cl, byte [esp + 0x90]
mov ebx, 0x46
movzx ecx, cl
cmp ecx, 0x53
je 0x795f00
mov edi, 0xffffffff
cmp ecx, 0x68
mov dword [esp + 0x98], ecx
mov cl, byte [esp + 0x90]
je 0x796176
jmp 0x7961b6
xor bl, 0x49
mov ecx, dword [esp + eax*4 + 0xd8]
mov dword [esp + 0x98], ecx
mov cl, bl
movzx ebx, bl
and ebx, 0xffffffd1
add ebx, 0xffffffe1
add edi, 1
jb 0x796160
mov dword [esp + 0xa0], 0x80000000
jmp 0x795f1e
add bl, 0xd1
mov ecx, dword [esp + eax*4 + 0xd8]
mov dword [esp + 0x98], ecx
mov cl, bl
movzx ebx, bl
and ebx, 0xffffffea
add ebx, 0x40
add edi, 1
jb 0x7961a0
mov dword [esp + 0xa0], 0x80000000
jmp 0x795f1e
add cl, 0x30
jmp 0x7961d9
add cl, 2
movzx ebx, cl
add ebx, 0x11
movzx eax, cl
and esi, 7
cmp eax, 0x1e
jne 0x796224
mov dword [esp + 0xa0], esi
mov eax, dword [esp + 0x3c]
mov dword [eax], esi
mov eax, dword [esp + 0x1c]
movdqu xmmword [eax], xmm3
movdqa xmmword [esp + 0x70], xmm3
mov cl, bl
xor cl, 0x4b
mov byte [esp + 0x90], cl
mov eax, dword [esp + 0x34]
mov dword [eax], edx
mov dword [esp + 0x98], edx
mov bl, cl
dec bl
jmp 0x79625f
mov dword [esp + 0xa0], esi
mov eax, dword [esp + 0x3c]
mov dword [eax], esi
mov eax, dword [esp + 0x1c]
movdqu xmmword [eax], xmm3
movdqa xmmword [esp + 0x70], xmm3
mov eax, dword [esp + 0x34]
mov dword [eax], edx
mov dword [esp + 0x98], edx
add bl, 0x3d
mov al, bl
xor al, 8
mov byte [esp + 0x90], al
xor bl, al
add bl, 0x5b
mov eax, dword [esp + 0x94]
mov dword [esp + 8], eax
lea eax, [esp + 0xd8]
mov dword [esp + 4], eax
mov dword [esp + 0xc], 0
mov dword [esp], 0x2f
call fcn.00799710
pxor xmm0, xmm0
mov dword [esp + 0xbc], 4
xor esi, esi
xor edi, edi
xor ecx, ecx
movdqa xmm3, xmmword [esp + 0x70]
nop word cs:[eax + eax]
movzx eax, bl
cmp eax, 0x2f
je 0x796370
mov dword [esp + 0x84], edi
mov edx, 0xe4
mov edi, 0xffffffff
cmp eax, 0x63
mov dword [esp + 0x9c], eax
je 0x7962f6
jmp 0x796336
add dl, 0x17
mov eax, dword [esp + ecx*4 + 0xd8]
mov dword [esp + 0x9c], eax
mov bl, dl
movzx edx, dl
and edx, 0xffffff34
add edx, 0xfffffff4
add edi, 1
jb 0x7962e0
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], ebx
jmp 0x796352
add dl, 3
mov eax, dword [esp + ecx*4 + 0xd8]
mov dword [esp + 0x9c], eax
mov bl, dl
movzx edx, dl
and edx, 0xffffff78
add edi, 1
jb 0x796320
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], ebx
add edx, 0xffffffe9
mov edi, dword [esp + 0x84]
mov eax, dword [esp + 0xbc]
jmp 0x7963a0
mov eax, 0x47
xor al, 2
mov dword [esp + 0x8c], eax
mov edx, dword [esp + ecx*4 + 0xd8]
mov dword [esp + 0x9c], edx
mov dword [esp + 0x88], ecx
movzx edx, al
mov eax, dword [esp + 0xbc]
nop dword [eax]
mov dword [esp + 0xbc], eax
and edx, 0xffffffa2
movd xmm1, esi
mov eax, esi
add eax, eax
movd ecx, xmm0
shr ecx, 0x1f
lea ebx, [ecx + edi*2]
add edi, edi
mov ecx, ebx
and ecx, 7
mov esi, eax
xor esi, 0xc9
and edi, 8
cmove esi, eax
test edi, edi
mov edi, ecx
cmove edi, ebx
pshufd xmm2, xmm0, 0xf9
shufps xmm1, xmm2, 0x20
shufps xmm2, xmm1, 0x24
psrld xmm2, 0x1f
paddd xmm0, xmm0
por xmm0, xmm2
mov eax, dword [esp + 0xbc]
test dword [esp + 0x9c], eax
je 0x796420
add edx, 0x6c
xor esi, dword [esp + 0x98]
pxor xmm0, xmm3
mov ecx, dword [esp + 0xa0]
xor edi, ecx
jmp 0x796427
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0xa0], ecx
and edx, 0xffffff93
or edx, 4
shr eax, 1
jne 0x7963a0
mov eax, edi
add edx, 0xf
movzx edi, byte [esp + 0x90]
cmp edi, 0x64
je 0x796490
cmp edi, 0x6f
mov ebx, dword [esp + 0x8c]
jne 0x7964d0
mov cl, dl
add cl, 0x5f
mov byte [esp + 0x90], cl
mov ecx, dword [esp + 0x88]
inc ecx
cmp ecx, 6
mov dword [esp + 0xbc], 0x80000000
mov edi, eax
jne 0x7962b0
jmp 0x79650a
mov cl, dl
add cl, 0x5c
mov byte [esp + 0x90], cl
mov ecx, dword [esp + 0x88]
inc ecx
cmp ecx, 6
mov dword [esp + 0xbc], 0x80000000
mov edi, eax
mov ebx, dword [esp + 0x8c]
jne 0x7962b0
jmp 0x796522
mov cl, dl
add cl, 0x51
mov byte [esp + 0x90], cl
mov ecx, dword [esp + 0x88]
inc ecx
mov dword [esp + 0xbc], 0x80000000
cmp ecx, 6
mov edi, eax
jne 0x7962b0
mov eax, edi
mov dword [esp + 0x80], esi
mov cl, dl
add cl, 0x53
jmp 0x796533
mov eax, edi
mov dword [esp + 0x80], esi
mov cl, byte [esp + 0x90]
xor cl, 0x14
movzx edx, cl
jmp 0x796533
mov eax, edi
mov dword [esp + 0x80], esi
add dl, 0x53
mov cl, dl
movzx edx, dl
movzx edi, cl
cmp edi, 0x53
je 0x79662d
mov esi, 0xffffffff
cmp edi, 0x66
jne 0x7966a1
and edx, 0xffffff8a
add edx, 0x8a
and eax, 7
mov dword [esp + 0x84], eax
pshufd xmm1, xmm0, 0xe7
movd dword [esp + 0xbc], xmm1
pshufd xmm1, xmm0, 0x4e
movd dword [esp + 0xa0], xmm1
pshufd xmm1, xmm0, 0xe5
movd dword [esp + 0x9c], xmm1
movd dword [esp + 0x98], xmm0
jmp 0x79661f
mov ecx, dword [esp + 0x48]
mov dword [ecx], eax
mov ecx, dword [esp + 0x40]
movdqu xmmword [ecx], xmm0
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x80]
mov dword [ecx], eax
mov ebx, dword [esp + 0x94]
mov ecx, dword [ebx + 0x2c]
xor ecx, eax
mov edi, dword [ebp + 8]
mov dword [edi + 0x2c], ecx
mov ecx, dword [ebx + 0x28]
xor ecx, dword [esp + 0xbc]
mov dword [edi + 0x28], ecx
mov ecx, dword [ebx + 0x24]
xor ecx, dword [esp + 0xa0]
mov dword [edi + 0x24], ecx
mov ecx, dword [ebx + 0x20]
xor ecx, dword [esp + 0x9c]
mov dword [edi + 0x20], ecx
mov ecx, dword [ebx + 0x1c]
xor ecx, dword [esp + 0x98]
mov dword [edi + 0x1c], ecx
mov ecx, dword [ebx + 0x18]
mov eax, dword [esp + 0x84]
xor ecx, eax
mov dword [edi + 0x18], ecx
and edx, 0xffffff15
add edx, 0x3f
add dl, 0x23
movzx edx, dl
add esi, 1
jb 0x7965a0
jmp 0x796752
mov edi, eax
and edi, 7
mov ecx, dword [esp + 0x48]
mov dword [ecx], edi
mov ecx, dword [esp + 0x40]
movdqu xmmword [ecx], xmm0
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x80]
mov dword [ecx], eax
mov esi, dword [esp + 0x94]
xor eax, dword [esi + 0x2c]
mov ecx, dword [ebp + 8]
mov edx, ecx
mov dword [edx + 0x2c], eax
pshufd xmm1, xmm0, 0xe7
movd ecx, xmm1
xor ecx, dword [esi + 0x28]
mov dword [edx + 0x28], ecx
pshufd xmm1, xmm0, 0x4e
movd ecx, xmm1
xor ecx, dword [esi + 0x24]
mov dword [edx + 0x24], ecx
pshufd xmm1, xmm0, 0xe5
movd ecx, xmm1
xor ecx, dword [esi + 0x20]
mov dword [edx + 0x20], ecx
movd ecx, xmm0
xor ecx, dword [esi + 0x1c]
mov dword [edx + 0x1c], ecx
xor edi, dword [esi + 0x18]
mov dword [edx + 0x18], edi
jmp 0x796752
and eax, 7
pshufd xmm1, xmm0, 0xe7
movd dword [esp + 0xbc], xmm1
pshufd xmm1, xmm0, 0x4e
movd dword [esp + 0xa0], xmm1
pshufd xmm1, xmm0, 0xe5
movd dword [esp + 0x9c], xmm1
movd dword [esp + 0x98], xmm0
jmp 0x79674d
mov ecx, dword [esp + 0x48]
mov edx, eax
mov dword [ecx], edx
mov ecx, dword [esp + 0x40]
movdqu xmmword [ecx], xmm0
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x80]
mov dword [ecx], eax
mov ebx, dword [esp + 0x94]
mov ecx, dword [ebx + 0x2c]
xor ecx, eax
mov edi, dword [ebp + 8]
mov dword [edi + 0x2c], ecx
mov ecx, dword [ebx + 0x28]
xor ecx, dword [esp + 0xbc]
mov dword [edi + 0x28], ecx
mov ecx, dword [ebx + 0x24]
xor ecx, dword [esp + 0xa0]
mov dword [edi + 0x24], ecx
mov ecx, dword [ebx + 0x20]
xor ecx, dword [esp + 0x9c]
mov dword [edi + 0x20], ecx
mov ecx, dword [ebx + 0x1c]
xor ecx, dword [esp + 0x98]
mov dword [edi + 0x1c], ecx
mov ecx, dword [ebx + 0x18]
xor ecx, edx
mov eax, edx
mov dword [edi + 0x18], ecx
add esi, 1
jb 0x7966e0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
add eax, 0x4a
mov ecx, 0xffffffff
jmp 0x7967d1
and eax, 0xffffffb5
add eax, 0xd
xor al, 0xf
mov edx, dword [ebp + 8]
mov dword [edx + 4], 0
mov dword [edx], 0
mov dword [edx + 0xc], 0
mov dword [edx + 8], 0
mov dword [edx + 0x14], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x1c], 0
mov dword [edx + 0x18], 0
mov dword [edx + 0x24], 0
mov dword [edx + 0x20], 0
mov dword [edx + 0x2c], 0
mov dword [edx + 0x28], 0
movzx eax, al
add ecx, 1
jae 0x796752
jmp 0x796770