Function at 0x6941a1a0
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x30
mov esi, esp
mov ebx, dword [ebp + 0x14]
mov eax, dword [0x69459ec0]
test eax, eax
jne 0x6941bba5
movzx eax, byte [0x6944b980]
xor al, 0x71
mov byte [0x6944bb90], al
movzx eax, byte [0x6944b981]
xor al, 0x3b
mov byte [0x6944bb91], al
movzx eax, byte [0x6944b982]
xor al, 0x23
mov byte [0x6944bb92], al
movzx eax, byte [0x6944b983]
mov ecx, eax
add cl, al
and cl, 0x96
sub al, cl
add al, 0x4b
mov byte [0x6944bb93], al
movzx eax, byte [0x6944b984]
xor al, 1
mov byte [0x6944bb94], al
movzx eax, byte [0x6944b985]
mov ecx, eax
not cl
or cl, 0x9b
or al, 0x64
and al, cl
mov byte [0x6944bb95], al
movzx eax, byte [0x6944b986]
xor al, 0x11
mov byte [0x6944bb96], al
movzx eax, byte [0x6944b987]
xor al, 0xd
mov byte [0x6944bb97], al
movzx eax, byte [0x6944b988]
mov ecx, eax
add cl, al
and cl, 0x54
sub al, cl
add al, 0x2a
mov byte [0x6944bb98], al
movzx eax, byte [0x6944b989]
xor al, 0xe2
mov byte [0x6944bb99], al
movzx eax, byte [0x6944b98a]
mov ecx, eax
add cl, al
and cl, 0xe4
sub al, cl
add al, 0xf2
mov byte [0x6944bb9a], al
movzx eax, byte [0x6944b98b]
mov ecx, eax
add cl, al
and cl, 0x44
sub al, cl
add al, 0xa2
mov byte [0x6944bb9b], al
movzx eax, byte [0x6944b98c]
xor al, 0xbf
mov byte [0x6944bb9c], al
movd xmm0, dword [0x6944b98d]
movdqa xmm1, xmm0
paddb xmm1, xmm0
pand xmm1, xmmword [0x694358f0]
psubb xmm0, xmm1
paddb xmm0, xmmword [0x69435900]
movd dword [0x6944bb9d], xmm0
movups xmm0, xmmword [0x6944b991]
xorps xmm0, xmmword [0x69435910]
movups xmmword [0x6944bba1], xmm0
movzx eax, byte [0x6944b9a1]
xor al, 0xde
mov byte [0x6944bbb1], al
movzx eax, byte [0x6944b9a2]
xor al, 0x77
mov byte [0x6944bbb2], al
movzx eax, byte [0x6944b9a3]
mov ecx, eax
add cl, al
and cl, 0x7e
sub al, cl
add al, 0x3f
mov byte [0x6944bbb3], al
mov eax, 0xf972f00e
xor eax, dword [0x6944b9a4]
mov dword [0x6944bbb4], eax
movzx eax, byte [0x6944b9a8]
xor al, 0x95
mov byte [0x6944bbb8], al
movzx eax, byte [0x6944b9a9]
mov ecx, eax
add cl, al
and cl, 0x2e
sub al, cl
add al, 0x97
movsd xmm0, qword [0x6944b9aa]
xorps xmm0, xmmword [0x69435920]
mov byte [0x6944bbb9], al
movlps qword [0x6944bbba], xmm0
movzx eax, byte [0x6944b9b2]
xor al, 0x62
mov byte [0x6944bbc2], al
movzx eax, byte [0x6944b9b3]
xor al, 0x52
mov byte [0x6944bbc3], al
movzx eax, byte [0x6944b9b4]
mov ecx, eax
add cl, al
and cl, 0x68
sub al, cl
add al, 0x34
mov byte [0x6944bbc4], al
movzx eax, byte [0x6944b9b5]
xor al, 5
mov byte [0x6944bbc5], al
movzx eax, byte [0x6944b9b6]
mov ecx, eax
add cl, al
and cl, 0x42
sub al, cl
add al, 0xa1
mov byte [0x6944bbc6], al
mov eax, 0x751f2624
xor eax, dword [0x6944b9b7]
mov dword [0x6944bbc7], eax
movzx eax, byte [0x6944b9bb]
xor al, 0x8f
mov byte [0x6944bbcb], al
movzx eax, byte [str.TSHidSHio_4]
mov ecx, eax
not cl
or cl, 0x20
or al, 0xdf
and al, cl
mov byte [0x6944bbcc], al
movzx eax, byte [0x6944b9bd]
xor al, 0x42
mov byte [0x6944bbcd], al
movzx eax, byte [0x6944b9be]
add al, 0x80
mov byte [0x6944bbce], al
movzx eax, byte [0x6944b9bf]
mov ecx, eax
add cl, al
and cl, 0x56
sub al, cl
add al, 0x2b
mov byte [0x6944bbcf], al
movzx eax, byte [0x6944b9c0]
mov ecx, eax
add cl, al
and cl, 0x24
sub al, cl
add al, 0x12
mov byte [0x6944bbd0], al
movq xmm0, qword [0x6944b9c1]
movdqa xmmword [esi + 0x10], xmm0
movzx eax, byte [esi + 0x11]
add al, al
not al
movzx eax, al
movd xmm1, eax
psllw xmm1, 8
movdqa xmm2, xmmword [0x69435930]
pxor xmm2, xmm0
paddb xmm1, xmm0
movdqa xmm0, xmmword [0x69433e20]
pand xmm2, xmm0
pandn xmm0, xmm1
por xmm0, xmm2
movq qword [0x6944bbd1], xmm0
movzx eax, byte [0x6944b9c9]
xor al, 0x6b
mov byte [0x6944bbd9], al
movzx eax, byte [0x6944b9ca]
xor al, 0xac
mov byte [0x6944bbda], al
movzx eax, byte [0x6944b9cb]
mov ecx, eax
not cl
or cl, 0x66
or al, 0x99
and al, cl
mov byte [0x6944bbdb], al
movzx eax, byte [0x6944b9cc]
mov ecx, eax
add cl, al
and cl, 0x2c
sub al, cl
add al, 0x96
mov byte [0x6944bbdc], al
movzx eax, byte [0x6944b9cd]
xor al, 0x2e
mov byte [0x6944bbdd], al
movzx eax, byte [0x6944b9ce]
xor al, 0xb4
mov byte [0x6944bbde], al
movzx eax, byte [str.qdSHidSHiG.]
mov ecx, eax
not cl
or al, 0xfa
or cl, 5
and cl, al
not cl
mov byte [0x6944bbdf], cl
movaps xmm0, xmmword [0x6944b9d0]
xorps xmm0, xmmword [0x69435940]
movss dword [0x6944bbe0], xmm0
movzx eax, byte [0x6944b9d4]
mov ecx, eax
add cl, al
and cl, 0xea
sub al, cl
add al, 0xf5
mov byte [0x6944bbe4], al
movzx eax, byte [0x6944b9d5]
xor al, 0xf5
mov byte [0x6944bbe5], al
movzx eax, byte [0x6944b9d6]
mov ecx, eax
not cl
or al, 0xd4
or cl, 0x2b
and cl, al
not cl
mov byte [0x6944bbe6], cl
mov eax, 0x4b28389b
xor eax, dword [0x6944b9d7]
mov dword [0x6944bbe7], eax
movzx eax, byte [0x6944b9db]
xor al, 0x8c
mov byte [0x6944bbeb], al
movzx eax, byte [0x6944b9dc]
xor al, 0x8d
mov byte [0x6944bbec], al
movzx eax, byte [str.SHidSHi]
xor al, 0x4a
mov byte [0x6944bbed], al
movzx eax, byte [0x6944b9de]
mov ecx, eax
add cl, al
and cl, 0xa8
sub al, cl
add al, 0x54
mov byte [0x6944bbee], al
mov eax, 0xb2baa4e1
xor eax, dword [0x6944b9df]
mov dword [0x6944bbef], eax
movzx eax, byte [0x6944b9e3]
xor al, 0xa2
mov byte [0x6944bbf3], al
movzx eax, byte [0x6944b9e4]
mov ecx, eax
add cl, al
and cl, 6
sub al, cl
add al, 3
mov byte [0x6944bbf4], al
mov eax, 0xecdc9fd8
xor eax, dword [0x6944b9e5]
mov dword [0x6944bbf5], eax
movzx eax, byte [0x6944b9e9]
xor al, 0xd
mov byte [0x6944bbf9], al
movzx eax, byte [0x6944b9ea]
xor al, 0x44
mov byte [0x6944bbfa], al
movzx eax, byte [str._j_t]
mov ecx, eax
not cl
or cl, 0x64
or al, 0x9b
and al, cl
mov byte [0x6944bbfb], al
movzx eax, byte [0x6944b9ec]
mov ecx, eax
not cl
or al, 0xd1
or cl, 0x2e
and cl, al
not cl
mov byte [0x6944bbfc], cl
movzx eax, byte [0x6944b9ed]
mov ecx, eax
add cl, al
and cl, 0x7c
sub al, cl
add al, 0x3e
mov byte [0x6944bbfd], al
movzx eax, byte [0x6944b9ee]
mov ecx, eax
not cl
or al, 0x54
or cl, 0xab
and cl, al
not cl
mov byte [0x6944bbfe], cl
mov eax, 0xd2f094a
xor eax, dword [0x6944b9ef]
mov dword [0x6944bbff], eax
movzx eax, byte [0x6944b9f3]
mov ecx, eax
add cl, al
and cl, 0xb0
sub al, cl
add al, 0x58
mov byte [0x6944bc03], al
movzx eax, byte [0x6944b9f4]
mov ecx, eax
not cl
or al, 0x55
or cl, 0xaa
and cl, al
not cl
mov byte [0x6944bc04], cl
movzx eax, byte [0x6944b9f5]
xor al, 0x48
mov byte [0x6944bc05], al
movzx eax, byte [0x6944b9f6]
mov ecx, eax
add cl, al
and cl, 0x4e
sub al, cl
add al, 0x27
movsd xmm0, qword [0x6944b9f7]
xorps xmm0, xmmword [0x69435950]
mov byte [0x6944bc06], al
movlps qword [0x6944bc07], xmm0
movzx eax, byte [0x6944b9ff]
mov ecx, eax
add cl, al
and cl, 0xa2
sub al, cl
add al, 0xd1
mov byte [0x6944bc0f], al
movsd xmm0, qword [0x6944ba00]
xorps xmm0, xmmword [0x69435960]
movlps qword [0x6944bc10], xmm0
movzx eax, byte [0x6944ba08]
xor al, 0x86
mov byte [str.__Hi__Hi_b], al
movzx eax, byte [0x6944ba09]
xor al, 0xa5
mov byte [0x6944bc19], al
movzx eax, byte [0x6944ba0a]
mov ecx, eax
add cl, al
and cl, 0x84
sub al, cl
add al, 0x42
mov byte [0x6944bc1a], al
movzx eax, byte [0x6944ba0b]
mov ecx, eax
not cl
or cl, 0xdd
or al, 0x22
and al, cl
mov byte [0x6944bc1b], al
movzx eax, byte [0x6944ba0c]
xor al, 0x26
mov byte [0x6944bc1c], al
movzx eax, byte [0x6944ba0d]
xor al, 0x54
mov byte [0x6944bc1d], al
movzx eax, byte [0x6944ba0e]
xor al, 0xf
mov byte [0x6944bc1e], al
movzx eax, byte [0x6944ba0f]
mov ecx, eax
add cl, al
and cl, 0xb0
sub al, cl
add al, 0x58
mov byte [0x6944bc1f], al
movzx eax, byte [0x6944ba10]
mov ecx, eax
not cl
or al, 0x8a
or cl, 0x75
and cl, al
not cl
mov byte [0x6944bc20], cl
movzx eax, byte [0x6944ba11]
xor al, 0x5f
mov byte [0x6944bc21], al
movzx eax, byte [0x6944ba12]
mov ecx, eax
add cl, al
and cl, 0xc6
sub al, cl
add al, 0xe3
mov byte [0x6944bc22], al
movzx eax, byte [0x6944ba13]
mov ecx, eax
add cl, al
and cl, 0xb6
sub al, cl
add al, 0x5b
mov ecx, 0xa37affea
xor ecx, dword [0x6944ba14]
mov byte [0x6944bc23], al
mov dword [0x6944bc24], ecx
movzx eax, byte [0x6944ba18]
xor al, 0x4f
mov byte [0x6944bc28], al
movzx eax, byte [0x6944ba19]
xor al, 0xdf
mov byte [0x6944bc29], al
movzx eax, byte [0x6944ba1a]
mov ecx, eax
add cl, al
and cl, 6
sub al, cl
add al, 0x83
mov byte [0x6944bc2a], al
mov eax, 0x4fb0b8d0
xor eax, dword [0x6944ba1b]
mov dword [0x6944bc2b], eax
movzx eax, byte [0x6944ba1f]
mov ecx, eax
add cl, al
and cl, 0xa2
sub al, cl
add al, 0x51
mov byte [0x6944bc2f], al
movzx eax, byte [0x6944ba20]
xor al, 0xd9
mov byte [0x6944bc30], al
movzx eax, byte [str.SHi_a]
xor al, 0x9f
mov byte [0x6944bc31], al
movzx eax, byte [0x6944ba22]
mov ecx, eax
add cl, al
and cl, 0xc8
sub al, cl
add al, 0x64
mov byte [0x6944bc32], al
movzx eax, byte [0x6944ba23]
xor al, 0x4e
mov byte [0x6944bc33], al
movzx eax, byte [0x6944ba24]
xor al, 5
mov byte [0x6944bc34], al
movzx eax, byte [0x6944ba25]
mov ecx, eax
add cl, al
and cl, 0x4c
sub al, cl
add al, 0xa6
mov byte [0x6944bc35], al
mov eax, 0xf9429385
xor eax, dword [0x6944ba26]
mov dword [0x6944bc36], eax
movzx eax, byte [0x6944ba2a]
xor al, 0x94
mov byte [0x6944bc3a], al
movzx eax, byte [0x6944ba2b]
xor al, 0xc
mov byte [0x6944bc3b], al
movzx eax, byte [0x6944ba2c]
mov ecx, eax
add cl, al
and cl, 0x52
sub al, cl
add al, 0x29
mov byte [0x6944bc3c], al
movzx eax, byte [str.SHi]
mov ecx, eax
add cl, al
and cl, 0x5e
sub al, cl
add al, 0x2f
mov byte [0x6944bc3d], al
mov eax, 0x721599d1
xor eax, dword [0x6944ba2e]
mov dword [0x6944bc3e], eax
movzx eax, byte [0x6944ba32]
xor al, 0xeb
mov byte [0x6944bc42], al
movzx eax, byte [0x6944ba33]
mov ecx, eax
add cl, al
and cl, 0x7c
sub al, cl
add al, 0xbe
mov byte [0x6944bc43], al
movzx eax, byte [0x6944ba34]
mov ecx, eax
add cl, al
and cl, 0x98
sub al, cl
add al, 0xcc
mov byte [0x6944bc44], al
movups xmm0, xmmword [0x6944ba35]
xorps xmm0, xmmword [0x69435970]
movups xmmword [0x6944bc45], xmm0
movups xmm0, xmmword [0x6944ba45]
xorps xmm0, xmmword [0x69435980]
movups xmmword [0x6944bc55], xmm0
movzx eax, byte [0x6944ba55]
xor al, 0x55
mov byte [str.dHiDe], al
movzx eax, byte [0x6944ba56]
xor al, 0xce
mov byte [0x6944bc66], al
movzx eax, byte [0x6944ba57]
xor al, 0x2f
mov byte [0x6944bc67], al
movzx eax, byte [0x6944ba58]
mov ecx, eax
add cl, al
and cl, 2
sub al, cl
add al, 0x81
mov byte [0x6944bc68], al
movzx eax, byte [0x6944ba59]
xor al, 0x7f
mov byte [0x6944bc69], al
movzx eax, byte [0x6944ba5a]
xor al, 0x9f
mov byte [0x6944bc6a], al
movzx eax, byte [0x6944ba5b]
xor al, 0xa7
mov byte [0x6944bc6b], al
movzx eax, byte [str._THi_THi]
mov ecx, eax
not cl
or cl, 0x94
or al, 0x6b
and al, cl
mov byte [0x6944bc6c], al
movups xmm0, xmmword [0x6944ba5d]
xorps xmm0, xmmword [0x69435990]
movups xmmword [0x6944bc6d], xmm0
movzx eax, byte [0x6944ba6d]
mov ecx, eax
add cl, al
and cl, 0xec
sub al, cl
add al, 0x76
mov byte [str.fz5_eHi], al
movzx eax, byte [0x6944ba6e]
mov ecx, 0x197f5c4f
xor ecx, dword [0x6944ba6f]
mov byte [0x6944bc7e], al
mov dword [0x6944bc7f], ecx
movzx eax, byte [0x6944ba73]
mov ecx, eax
add cl, al
and cl, 0x4a
sub al, cl
add al, 0xa5
mov byte [0x6944bc83], al
movzx eax, byte [0x6944ba74]
xor al, 0x86
mov byte [0x6944bc84], al
movzx eax, byte [0x6944ba75]
mov ecx, eax
not cl
or al, 0xef
or cl, 0x10
and cl, al
not cl
mov byte [str.eHiM], cl
mov eax, 0xd68ed053
xor eax, dword [0x6944ba76]
mov dword [0x6944bc86], eax
movzx eax, byte [0x6944ba7a]
mov ecx, eax
add cl, al
and cl, 0xf6
sub al, cl
add al, 0x7b
mov byte [0x6944bc8a], al
movups xmm0, xmmword [0x6944ba7b]
xorps xmm0, xmmword [0x694359a0]
movups xmmword [0x6944bc8b], xmm0
movzx eax, byte [0x6944ba8b]
xor al, 9
mov byte [0x6944bc9b], al
movzx eax, byte [0x6944ba8c]
xor al, 0x7e
mov byte [0x6944bc9c], al
movzx eax, byte [0x6944ba8d]
mov ecx, eax
add cl, al
and cl, 0xfa
sub al, cl
add al, 0xfd
mov byte [0x6944bc9d], al
mov eax, 0xa6b9f5e4
xor eax, dword [0x6944ba8e]
mov dword [0x6944bc9e], eax
movzx eax, byte [0x6944ba92]
xor al, 0xba
mov byte [0x6944bca2], al
movzx eax, byte [str.GxN]
xor al, 0x21
mov byte [0x6944bca3], al
movzx eax, byte [0x6944ba94]
mov ecx, eax
add cl, al
and cl, 0x3a
sub al, cl
add al, 0x9d
mov byte [0x6944bca4], al
mov eax, 0x859f88d1
xor eax, dword [0x6944ba95]
mov dword [0x6944bca5], eax
movzx eax, byte [0x6944ba99]
xor al, 0x94
mov byte [0x6944bca9], al
movzx eax, byte [0x6944ba9a]
xor al, 0xcc
mov byte [0x6944bcaa], al
movzx eax, byte [0x6944ba9b]
xor al, 0x22
mov byte [str.deHiDeHi], al
movzx eax, byte [str.TRHiTRHi]
mov ecx, eax
add cl, al
and cl, 0x1e
sub al, cl
add al, 0x8f
mov byte [0x6944bcac], al
movsd xmm0, qword [0x6944ba9d]
xorps xmm0, xmmword [0x694359b0]
movlps qword [0x6944bcad], xmm0
movzx eax, byte [str._ts_bTRHifRHi_]
mov ecx, eax
add cl, al
and cl, 0xd0
sub al, cl
add al, 0x68
mov byte [0x6944bcb5], al
movsd xmm0, qword [0x6944baa6]
xorps xmm0, xmmword [0x694359c0]
movlps qword [0x6944bcb6], xmm0
movzx eax, byte [0x6944baae]
mov ecx, eax
add cl, al
and cl, 0x48
sub al, cl
add al, 0xa4
mov byte [0x6944bcbe], al
mov eax, 0x53409667
xor eax, dword [0x6944baaf]
mov dword [str.LdeHideHi6], eax
movzx eax, byte [0x6944bab3]
mov ecx, eax
add cl, al
and cl, 0x64
sub al, cl
add al, 0x32
mov ecx, 0x22466454
xor ecx, dword [0x6944bab4]
mov byte [0x6944bcc3], al
mov dword [0x6944bcc4], ecx
movzx eax, byte [0x6944bab8]
xor al, 0xd
mov byte [0x6944bcc8], al
movzx eax, byte [0x6944bab9]
mov ecx, eax
add cl, al
and cl, 0x64
sub al, cl
add al, 0xb2
mov byte [0x6944bcc9], al
movzx eax, byte [0x6944baba]
xor al, 0xb1
mov byte [0x6944bcca], al
movzx eax, byte [0x6944babb]
xor al, 0xbc
mov byte [str.LyeHideHi], al
movzx eax, byte [0x6944babc]
mov ecx, eax
add cl, al
and cl, 0xc6
sub al, cl
add al, 0xe3
mov byte [0x6944bccc], al
mov eax, 0x4cbff20d
xor eax, dword [0x6944babd]
mov dword [0x6944bccd], eax
movzx eax, byte [0x6944bac1]
mov ecx, eax
add cl, al
and cl, 0xe8
sub al, cl
add al, 0xf4
mov byte [0x6944bcd1], al
movzx eax, byte [0x6944bac2]
xor al, 0x58
mov byte [0x6944bcd2], al
movzx eax, byte [0x6944bac3]
xor al, 0x41
mov byte [0x6944bcd3], al
movzx eax, byte [0x6944bac4]
mov ecx, eax
add cl, al
and cl, 0x14
sub al, cl
add al, 0x8a
mov byte [0x6944bcd4], al
movzx eax, byte [0x6944bac5]
xor al, 0xea
mov byte [0x6944bcd5], al
movzx eax, byte [0x6944bac6]
mov ecx, eax
add cl, al
and cl, 0xa0
sub al, cl
add al, 0x50
mov byte [0x6944bcd6], al
movsd xmm0, qword [0x6944bac7]
xorps xmm0, xmmword [0x694359d0]
movlps qword [str.d_rc], xmm0
movzx eax, byte [0x6944bacf]
xor al, 2
mov byte [0x6944bcdf], al
movzx eax, byte [0x6944bad0]
xor al, 0x88
mov byte [0x6944bce0], al
movzx eax, byte [0x6944bad1]
xor al, 0xb1
mov byte [0x6944bce1], al
movzx eax, byte [0x6944bad2]
mov ecx, eax
not cl
or cl, 0x5c
or al, 0xa3
and al, cl
mov byte [0x6944bce2], al
movzx eax, byte [0x6944bad3]
mov ecx, eax
add cl, al
and cl, 0xa2
sub al, cl
add al, 0xd1
mov byte [0x6944bce3], al
movzx eax, byte [0x6944bad4]
mov ecx, eax
add cl, al
and cl, 0x30
sub al, cl
add al, 0x18
mov byte [0x6944bce4], al
mov eax, 0xca4c1d08
xor eax, dword [0x6944bad5]
mov dword [0x6944bce5], eax
movzx eax, byte [0x6944bad9]
mov byte [0x6944bce9], al
movzx eax, byte [0x6944bada]
xor al, 0x81
mov byte [0x6944bcea], al
movzx eax, byte [0x6944badb]
xor al, 0x1a
mov byte [0x6944bceb], al
movzx eax, byte [0x6944badc]
mov ecx, eax
add cl, al
and cl, 0xb2
sub al, cl
add al, 0xd9
mov byte [0x6944bcec], al
movzx eax, byte [0x6944badd]
xor al, 0x9f
mov byte [0x6944bced], al
movzx eax, byte [0x6944bade]
xor al, 0x94
mov byte [0x6944bcee], al
movzx eax, byte [0x6944badf]
xor al, 0x51
mov byte [0x6944bcef], al
movzx eax, byte [0x6944bae0]
mov ecx, eax
add cl, al
and cl, 0x80
add cl, al
add cl, 0x40
mov byte [0x6944bcf0], cl
movzx eax, byte [0x6944bae1]
mov ecx, eax
add cl, al
and cl, 0x90
sub al, cl
add al, 0x48
mov byte [0x6944bcf1], al
movzx eax, byte [0x6944bae2]
mov ecx, eax
not cl
or al, 0xf5
or cl, 0xa
and cl, al
not cl
mov byte [0x6944bcf2], cl
movzx eax, byte [0x6944bae3]
mov ecx, eax
add cl, al
and cl, 0x10
sub al, cl
add al, 8
mov byte [0x6944bcf3], al
movzx eax, byte [0x6944bae4]
xor al, 0xaa
mov byte [0x6944bcf4], al
movzx eax, byte [0x6944bae5]
xor al, 0x25
mov byte [0x6944bcf5], al
movzx eax, byte [0x6944bae6]
xor al, 0x42
mov byte [0x6944bcf6], al
movzx eax, byte [0x6944bae7]
mov ecx, eax
not cl
or al, 0x1d
or cl, 0xe2
and cl, al
not cl
mov byte [0x6944bcf7], cl
movzx eax, byte [str.DHiDHi]
xor al, 0x69
mov byte [0x6944bcf8], al
movzx eax, byte [0x6944bae9]
xor al, 0x23
mov byte [0x6944bcf9], al
movzx eax, byte [0x6944baea]
mov ecx, eax
add cl, al
and cl, 0xee
sub al, cl
add al, 0xf7
mov byte [0x6944bcfa], al
movzx eax, byte [0x6944baeb]
mov ecx, eax
add cl, al
and cl, 0xec
sub al, cl
add al, 0x76
mov byte [0x6944bcfb], al
mov eax, 0xb0a7db03
xor eax, dword [0x6944baec]
mov dword [0x6944bcfc], eax
movzx eax, byte [0x6944baf0]
xor al, 0x60
mov byte [0x6944bd00], al
movzx eax, byte [0x6944baf1]
mov ecx, eax
add cl, al
and cl, 0x52
sub al, cl
add al, 0xa9
mov byte [0x6944bd01], al
movsd xmm0, qword [0x6944baf2]
xorps xmm0, xmmword [0x694359e0]
movlps qword [0x6944bd02], xmm0
movzx eax, byte [0x6944bafa]
xor al, 0xa5
mov byte [0x6944bd0a], al
movzx eax, byte [0x6944bafb]
xor al, 0xa3
mov byte [0x6944bd0b], al
movzx eax, byte [0x6944bafc]
mov ecx, eax
add cl, al
and cl, 0x22
sub al, cl
add al, 0x91
mov byte [0x6944bd0c], al
movzx eax, byte [0x6944bafd]
xor al, 0xbf
mov byte [0x6944bd0d], al
movzx eax, byte [0x6944bafe]
xor al, 0xe9
mov byte [0x6944bd0e], al
movzx eax, byte [0x6944baff]
mov ecx, eax
add cl, al
and cl, 0x5a
sub al, cl
add al, 0xad
mov byte [0x6944bd0f], al
movzx eax, byte [0x6944bb00]
mov ecx, eax
not cl
or cl, 0x43
or al, 0xbc
and al, cl
mov byte [0x6944bd10], al
movzx eax, byte [0x6944bb01]
xor al, 0xd0
mov byte [0x6944bd11], al
movzx eax, byte [0x6944bb02]
xor al, 0xba
mov byte [0x6944bd12], al
movzx eax, byte [0x6944bb03]
mov ecx, eax
add cl, al
and cl, 0x8a
sub al, cl
add al, 0xc5
mov byte [0x6944bd13], al
mov eax, 0xd3c4c726
xor eax, dword [0x6944bb04]
mov dword [0x6944bd14], eax
movzx eax, byte [0x6944bb08]
xor al, 0x3f
mov byte [0x6944bd18], al
movzx eax, byte [0x6944bb09]
mov ecx, eax
add cl, al
and cl, 0x1c
sub al, cl
add al, 0xe
mov byte [0x6944bd19], al
movzx eax, byte [0x6944bb0a]
xor al, 0xf5
mov byte [0x6944bd1a], al
movzx eax, byte [0x6944bb0b]
xor al, 0x88
mov byte [0x6944bd1b], al
movzx eax, byte [0x6944bb0c]
mov ecx, eax
not cl
or al, 0xef
or cl, 0x10
and cl, al
not cl
mov byte [0x6944bd1c], cl
movzx eax, byte [0x6944bb0d]
xor al, 0xe
mov byte [0x6944bd1d], al
movzx eax, byte [0x6944bb0e]
xor al, 0x7e
mov byte [0x6944bd1e], al
movzx eax, byte [0x6944bb0f]
xor al, 0xbb
mov byte [0x6944bd1f], al
movzx eax, byte [str.dHidHi]
mov ecx, eax
add cl, al
and cl, 0xbc
sub al, cl
add al, 0xde
mov byte [str.U3yB], al
movsd xmm0, qword [0x6944bb11]
xorps xmm0, xmmword [0x694359f0]
movlps qword [0x6944bd21], xmm0
movzx eax, byte [0x6944bb19]
xor al, 0x53
mov byte [0x6944bd29], al
movzx eax, byte [0x6944bb1a]
mov ecx, eax
add cl, al
and cl, 0xe8
sub al, cl
add al, 0x74
mov byte [0x6944bd2a], al
movzx eax, byte [0x6944bb1b]
mov ecx, eax
add cl, al
and cl, 0xfa
sub al, cl
add al, 0x7d
mov byte [0x6944bd2b], al
movups xmm0, xmmword [str.dHiyHi]
xorps xmm0, xmmword [0x69435a00]
movups xmmword [0x6944bd2c], xmm0
mov eax, 0x400197f2
xor eax, dword [0x6944bb2c]
mov dword [0x6944bd3c], eax
movzx eax, byte [0x6944bb30]
mov ecx, eax
add cl, al
and cl, 0x80
add cl, al
add cl, 0x40
mov byte [0x6944bd40], cl
movsd xmm0, qword [0x6944bb31]
xorps xmm0, xmmword [0x69435a10]
movlps qword [0x6944bd41], xmm0
movzx eax, byte [0x6944bb39]
xor al, 0x6c
mov byte [0x6944bd49], al
movzx eax, byte [0x6944bb3a]
mov ecx, eax
add cl, al
and cl, 2
sub al, cl
inc al
mov byte [0x6944bd4a], al
movzx eax, byte [0x6944bb3b]
xor al, 0xaf
mov byte [0x6944bd4b], al
movzx eax, byte [0x6944bb3c]
mov ecx, eax
not cl
or cl, 0x92
or al, 0x6d
and al, cl
mov byte [0x6944bd4c], al
movzx eax, byte [0x6944bb3d]
xor al, 0x91
mov byte [0x6944bd4d], al
movzx eax, byte [0x6944bb3e]
mov ecx, eax
add cl, al
and cl, 0xf0
sub al, cl
add al, 0x78
mov byte [0x6944bd4e], al
movzx eax, byte [str._r__Hi]
mov ecx, eax
not cl
or cl, 0x74
or al, 0x8b
and al, cl
mov byte [0x6944bd4f], al
movzx eax, byte [0x6944bb40]
mov ecx, eax
add cl, al
and cl, 0x56
sub al, cl
add al, 0xab
mov byte [0x6944bd50], al
movzx eax, byte [0x6944bb41]
xor al, 0xd9
mov byte [0x6944bd51], al
movzx eax, byte [0x6944bb42]
xor al, 0xb8
mov byte [0x6944bd52], al
movzx eax, byte [0x6944bb43]
xor al, 0xcc
mov byte [0x6944bd53], al
movzx eax, byte [0x6944bb44]
mov ecx, eax
add cl, al
and cl, 0x24
sub al, cl
add al, 0x92
mov byte [0x6944bd54], al
movzx eax, byte [0x6944bb45]
xor al, 0x8d
mov byte [0x6944bd55], al
movzx eax, byte [0x6944bb46]
mov ecx, eax
add cl, al
and cl, 0x74
sub al, cl
add al, 0x3a
mov byte [0x6944bd56], al
movzx eax, byte [0x6944bb47]
xor al, 0xf3
mov byte [0x6944bd57], al
movzx eax, byte [0x6944bb48]
mov ecx, eax
add cl, al
and cl, 0x9e
sub al, cl
add al, 0xcf
mov byte [0x6944bd58], al
mov eax, 0x18d2ff96
xor eax, dword [0x6944bb49]
mov dword [0x6944bd59], eax
movzx eax, byte [0x6944bb4d]
xor al, 0x2e
mov byte [0x6944bd5d], al
movzx eax, byte [0x6944bb4e]
xor al, 0xf3
mov byte [0x6944bd5e], al
movzx eax, byte [0x6944bb4f]
xor al, 0xe5
mov byte [0x6944bd5f], al
movzx eax, byte [0x6944bb50]
mov ecx, eax
add cl, al
and cl, 0xe2
sub al, cl
add al, 0xf1
mov byte [0x6944bd60], al
movsd xmm0, qword [0x6944bb51]
xorps xmm0, xmmword [0x69435a20]
movlps qword [0x6944bd61], xmm0
movzx eax, byte [0x6944bb59]
mov ecx, eax
add cl, al
and cl, 0x3c
sub al, cl
add al, 0x9e
mov ecx, 0x2adee0fd
xor ecx, dword [0x6944bb5a]
mov byte [0x6944bd69], al
mov dword [0x6944bd6a], ecx
movzx eax, byte [0x6944bb5e]
mov ecx, eax
add cl, al
and cl, 6
sub al, cl
add al, 0x83
mov byte [0x6944bd6e], al
movzx eax, byte [str.i:_Hi__Hi_FSN]
xor al, 0xf
mov byte [0x6944bd6f], al
movzx eax, byte [0x6944bb60]
xor al, 0xb4
mov byte [0x6944bd70], al
movzx eax, byte [0x6944bb61]
add al, 0x80
mov byte [0x6944bd71], al
movzx eax, byte [0x6944bb62]
mov ecx, eax
add cl, al
and cl, 0xec
sub al, cl
add al, 0x76
mov byte [0x6944bd72], al
mov eax, 0x28ed7430
xor eax, dword [0x6944bb63]
mov dword [0x6944bd73], eax
movzx eax, byte [0x6944bb67]
mov ecx, eax
add cl, al
and cl, 0xc
sub al, cl
add al, 0x86
mov byte [0x6944bd77], al
mov eax, 0x1bd0fe4
xor eax, dword [0x6944bb68]
mov dword [0x6944bd78], eax
movzx eax, byte [0x6944bb6c]
mov ecx, eax
not cl
or al, 0xe9
or cl, 0x16
and cl, al
not cl
mov byte [0x6944bd7c], cl
movsd xmm0, qword [0x6944bb6d]
xorps xmm0, xmmword [0x69435a30]
movlps qword [str.__r], xmm0
movzx eax, byte [0x6944bb75]
xor al, 0x70
mov byte [0x6944bd85], al
movzx eax, byte [0x6944bb76]
xor al, 0xe7
mov byte [str.ds__], al
movzx eax, byte [0x6944bb77]
mov ecx, eax
add cl, al
and cl, 0xb4
sub al, cl
add al, 0x5a
mov byte [0x6944bd87], al
mov eax, 0x66e5ff6f
xor eax, dword [0x6944bb78]
mov dword [0x6944bd88], eax
movzx eax, byte [0x6944bb7c]
xor al, 9
mov byte [0x6944bd8c], al
movzx eax, byte [0x6944bb7d]
mov ecx, eax
add cl, al
and cl, 0x60
sub al, cl
add al, 0xb0
mov byte [0x6944bd8d], al
movzx eax, byte [0x6944bb7e]
xor al, 0xfb
mov byte [0x6944bd8e], al
movzx eax, byte [0x6944bb7f]
xor al, 0x79
mov byte [0x6944bd8f], al
movzx eax, byte [0x6944bb80]
xor al, 0xf7
mov byte [0x6944bd90], al
movsd xmm0, qword [0x6944b7e0]
xorps xmm0, xmmword [0x69435a40]
movlps qword [0x6944b8b0], xmm0
movzx eax, byte [0x6944b7e8]
xor al, 0x1c
mov byte [str.ZXHicXHi], al
movzx eax, byte [0x6944b7e9]
mov ecx, eax
add cl, al
and cl, 0xfc
sub al, cl
add al, 0x7e
mov byte [0x6944b8b9], al
movzx eax, byte [0x6944b7ea]
xor al, 0x65
mov byte [0x6944b8ba], al
movzx eax, byte [0x6944b7eb]
xor al, 0xd8
mov byte [0x6944b8bb], al
movzx eax, byte [0x6944b7ec]
xor al, 0xa1
mov byte [0x6944b8bc], al
movzx eax, byte [0x6944b7ed]
mov ecx, eax
add cl, al
and cl, 0xee
sub al, cl
add al, 0xf7
mov byte [0x6944b8bd], al
movzx eax, byte [0x6944b7ee]
mov ecx, eax
add cl, al
sub al, cl
add al, 0x7f
mov byte [0x6944b8be], al
mov eax, 0x1a6bf0fe
xor eax, dword [0x6944b7ef]
mov dword [0x6944b8bf], eax
movzx eax, byte [0x6944b7f3]
xor al, 0xb1
mov byte [0x6944b8c3], al
movzx eax, byte [0x6944b7f4]
xor al, 0xf0
mov byte [0x6944b8c4], al
movzx eax, byte [str.VHizt]
mov ecx, eax
add cl, al
and cl, 0xb8
sub al, cl
add al, 0x5c
mov byte [str.XHiZXHia], al
movzx eax, byte [0x6944b7f6]
xor al, 0x79
mov byte [0x6944b8c6], al
movzx eax, byte [0x6944b7f7]
mov ecx, eax
add cl, al
and cl, 0xe6
sub al, cl
add al, 0xf3
mov byte [0x6944b8c7], al
movups xmm0, xmmword [0x6944b7f8]
xorps xmm0, xmmword [0x69435a50]
movups xmmword [0x6944b8c8], xmm0
movzx eax, byte [0x6944b808]
xor al, 0x5b
mov byte [0x6944b8d8], al
movzx eax, byte [0x6944b809]
xor al, 0xa2
mov byte [0x6944b8d9], al
movzx eax, byte [0x6944b80a]
xor al, 0xeb
mov byte [0x6944b8da], al
movzx eax, byte [0x6944b80b]
mov ecx, eax
not cl
or cl, 0x79
or al, 0x86
and al, cl
mov byte [0x6944b8db], al
movzx eax, byte [0x6944b80c]
xor al, 0x2b
mov byte [0x6944b8dc], al
movzx eax, byte [0x6944b80d]
xor al, 0xa9
mov byte [0x6944b8dd], al
movzx eax, byte [0x6944b80e]
mov ecx, eax
add cl, al
and cl, 0x6e
sub al, cl
add al, 0x37
mov byte [0x6944b8de], al
movzx eax, byte [0x6944b80f]
xor al, 0x4d
mov byte [0x6944b8df], al
movzx eax, byte [str._XHiMWHi]
xor al, 0x89
mov byte [0x6944b8e0], al
movzx eax, byte [0x6944b811]
xor al, 0xa6
mov byte [0x6944b8e1], al
movzx eax, byte [0x6944b812]
mov ecx, eax
add cl, al
and cl, 0x96
sub al, cl
add al, 0x4b
mov byte [0x6944b8e2], al
movzx eax, byte [0x6944b813]
xor al, 7
mov byte [0x6944b8e3], al
movzx eax, byte [0x6944b814]
xor al, 0xaf
mov byte [0x6944b8e4], al
movzx eax, byte [0x6944b815]
mov ecx, eax
add cl, al
and cl, 0x2e
sub al, cl
add al, 0x17
mov byte [0x6944b8e5], al
movzx eax, byte [0x6944b816]
xor al, 0xa
mov byte [0x6944b8e6], al
movzx eax, byte [0x6944b817]
xor al, 0xfc
mov byte [0x6944b8e7], al
movzx eax, byte [0x6944b818]
mov ecx, eax
not cl
or al, 0xe4
or cl, 0x1b
and cl, al
not cl
mov byte [0x6944b8e8], cl
movzx eax, byte [0x6944b819]
xor al, 0x17
mov byte [0x6944b8e9], al
movzx eax, byte [0x6944b81a]
mov ecx, eax
add cl, al
and cl, 0xcc
sub al, cl
add al, 0x66
mov byte [0x6944b8ea], al
movzx eax, byte [0x6944b81b]
mov ecx, eax
add cl, al
and cl, 0x2c
sub al, cl
add al, 0x16
mov byte [0x6944b8eb], al
movzx eax, byte [0x6944b81c]
xor al, 0xb3
mov byte [0x6944b8ec], al
movzx eax, byte [0x6944b81d]
xor al, 0x11
mov byte [0x6944b8ed], al
movzx eax, byte [0x6944b81e]
xor al, 0x5e
mov byte [0x6944b8ee], al
movzx eax, byte [0x6944b81f]
mov ecx, eax
not cl
or cl, 0xed
or al, 0x12
and al, cl
mov byte [0x6944b8ef], al
movaps xmm0, xmmword [0x6944b820]
xorps xmm0, xmmword [0x69435a60]
movss dword [0x6944b8f0], xmm0
movzx eax, byte [0x6944b824]
xor al, 0x15
mov byte [0x6944b8f4], al
movzx eax, byte [0x6944b825]
xor al, 0x46
mov byte [0x6944b8f5], al
movzx eax, byte [0x6944b826]
mov ecx, eax
add cl, al
and cl, 0x5c
sub al, cl
add al, 0xae
mov byte [0x6944b8f6], al
mov eax, 0x665c8f3a
xor eax, dword [0x6944b827]
mov dword [0x6944b8f7], eax
movzx eax, byte [0x6944b82b]
xor al, 0x98
mov byte [0x6944b8fb], al
movzx eax, byte [str.tWHitWHi]
mov ecx, eax
add cl, al
and cl, 0x94
sub al, cl
add al, 0x4a
mov byte [0x6944b8fc], al
movzx eax, byte [0x6944b82d]
xor al, 0xd
mov byte [0x6944b8fd], al
movzx eax, byte [0x6944b82e]
xor al, 0xe3
mov byte [0x6944b8fe], al
movzx eax, byte [0x6944b82f]
mov ecx, eax
add cl, al
and cl, 0x1a
sub al, cl
add al, 0xd
mov byte [0x6944b8ff], al
movaps xmm0, xmmword [0x6944b830]
xorps xmm0, xmmword [0x69435a70]
movss dword [0x6944b900], xmm0
movzx eax, byte [0x6944b834]
xor al, 0x78
mov byte [0x6944b904], al
movzx eax, byte [0x6944b835]
xor al, 0xa4
mov byte [0x6944b905], al
movzx eax, byte [0x6944b836]
xor al, 0xd5
mov byte [0x6944b906], al
movzx eax, byte [0x6944b837]
mov ecx, eax
add cl, al
and cl, 0xc8
sub al, cl
add al, 0x64
mov byte [0x6944b907], al
movzx eax, byte [0x6944b838]
xor al, 0xcb
mov byte [0x6944b908], al
movzx eax, byte [str.WHitWHi]
mov ecx, eax
add cl, al
and cl, 0xdc
sub al, cl
add al, 0xee
mov byte [0x6944b909], al
movzx eax, byte [0x6944b83a]
xor al, 7
mov byte [0x6944b90a], al
movzx eax, byte [0x6944b83b]
mov ecx, eax
add cl, al
and cl, 0xe4
sub al, cl
add al, 0x72
mov byte [0x6944b90b], al
mov eax, 0x7a4b9fc2
xor eax, dword [0x6944b83c]
mov dword [0x6944b90c], eax
movzx eax, byte [0x6944b840]
mov ecx, eax
add cl, al
and cl, 0xd8
sub al, cl
add al, 0xec
mov byte [0x6944b910], al
movsd xmm0, qword [0x6944b841]
xorps xmm0, xmmword [0x69435a80]
movlps qword [0x6944b911], xmm0
mov eax, 0x119a0153
xor eax, dword [0x6944b849]
mov dword [0x6944b919], eax
movzx eax, byte [0x6944b84d]
xor al, 0x42
mov byte [0x6944b91d], al
movzx eax, byte [0x6944b84e]
mov ecx, eax
add cl, al
and cl, 0x2e
sub al, cl
add al, 0x17
mov byte [0x6944b91e], al
mov eax, 0xe87adffe
xor eax, dword [0x6944b84f]
mov dword [0x6944b91f], eax
movzx eax, byte [0x6944b853]
xor al, 0xbf
mov byte [0x6944b923], al
movzx eax, byte [0x6944b854]
xor al, 0xee
mov byte [0x6944b924], al
movzx eax, byte [0x6944b855]
mov ecx, eax
add cl, al
and cl, 0xc4
sub al, cl
add al, 0x62
mov byte [0x6944b925], al
movzx eax, byte [0x6944b856]
xor al, 0xc4
mov byte [0x6944b926], al
movzx eax, byte [0x6944b857]
mov ecx, eax
add cl, al
and cl, 0x16
sub al, cl
add al, 0x8b
mov byte [0x6944b927], al
movzx eax, byte [0x6944b858]
mov ecx, eax
add cl, al
and cl, 0x7e
sub al, cl
add al, 0xbf
mov byte [0x6944b928], al
movzx eax, byte [0x6944b859]
mov ecx, eax
add cl, al
and cl, 0x88
sub al, cl
add al, 0x44
mov ecx, 0xbebe2c64
xor ecx, dword [0x6944b85a]
mov byte [0x6944b929], al
mov dword [0x6944b92a], ecx
movzx eax, byte [0x6944b85e]
mov ecx, eax
add cl, al
and cl, 0xbc
sub al, cl
add al, 0x5e
mov byte [0x6944b92e], al
movzx eax, byte [0x6944b85f]
xor al, 6
mov byte [0x6944b92f], al
movzx eax, byte [0x6944b860]
xor al, 0x3c
mov byte [0x6944b930], al
movzx eax, byte [0x6944b861]
xor al, 0x3c
mov byte [0x6944b931], al
movzx eax, byte [0x6944b862]
mov ecx, eax
add cl, al
and cl, 0x1e
sub al, cl
add al, 0xf
mov byte [0x6944b932], al
movzx eax, byte [0x6944b863]
xor al, 0x2a
mov byte [0x6944b933], al
movzx eax, byte [0x6944b864]
mov ecx, eax
add cl, al
and cl, 0x8c
sub al, cl
add al, 0x46
mov byte [0x6944b934], al
mov eax, 0x285d657f
xor eax, dword [0x6944b865]
mov dword [0x6944b935], eax
movzx eax, byte [0x6944b869]
xor al, 0xf7
mov byte [0x6944b939], al
movzx eax, byte [0x6944b86a]
mov ecx, eax
not cl
or cl, 0x5a
or al, 0xa5
and al, cl
mov byte [0x6944b93a], al
movups xmm0, xmmword [0x6944b86b]
xorps xmm0, xmmword [0x69435a90]
movups xmmword [0x6944b93b], xmm0
mov eax, 0xdee35f24
xor eax, dword [0x6944b87b]
mov dword [0x6944b94b], eax
movzx eax, byte [0x6944b87f]
mov ecx, eax
add cl, al
and cl, 0x36
sub al, cl
add al, 0x9b
mov byte [0x6944b94f], al
movzx eax, byte [0x6944b880]
xor al, 0xac
mov byte [0x6944b950], al
movzx eax, byte [0x6944b881]
xor al, 0x61
mov byte [0x6944b951], al
movzx eax, byte [0x6944b882]
mov ecx, eax
not cl
or cl, 0xeb
or al, 0x14
and al, cl
mov byte [0x6944b952], al
movsd xmm0, qword [0x6944b883]
xorps xmm0, xmmword [0x69435aa0]
movlps qword [0x6944b953], xmm0
movzx eax, byte [0x6944b88b]
xor al, 0xb9
mov byte [0x6944b95b], al
movzx eax, byte [0x6944b88c]
xor al, 0xee
mov byte [0x6944b95c], al
movzx eax, byte [0x6944b88d]
mov ecx, eax
add cl, al
and cl, 0x64
sub al, cl
add al, 0xb2
mov byte [0x6944b95d], al
movzx eax, byte [0x6944b88e]
mov ecx, eax
add cl, al
and cl, 0x64
sub al, cl
add al, 0xb2
mov byte [0x6944b95e], al
mov eax, 0xc4bb429c
xor eax, dword [0x6944b88f]
mov dword [0x6944b95f], eax
movzx eax, byte [0x6944b893]
mov ecx, eax
not cl
or cl, 0xe4
or al, 0x1b
and al, cl
mov byte [0x6944b963], al
movsd xmm0, qword [0x6944b894]
xorps xmm0, xmmword [0x69435ab0]
movlps qword [0x6944b964], xmm0
mov eax, 0x6a62b6ed
xor eax, dword [0x6944b89c]
mov dword [0x6944b96c], eax
movzx eax, byte [0x6944b8a0]
mov ecx, eax
add cl, al
and cl, 0xe8
sub al, cl
add al, 0x74
mov byte [0x6944b970], al
mov eax, 0xd588cdd8
xor eax, dword [0x6944b8a1]
mov dword [0x6944b971], eax
movzx eax, byte [str.WHi9v_]
xor al, 0x17
mov byte [0x6944b975], al
movzx eax, byte [0x6944b8a6]
mov ecx, eax
add cl, al
and cl, 0x72
sub al, cl
add al, 0x39
mov byte [0x6944b976], al
movzx eax, byte [0x6944b8a7]
xor al, 0x3c
mov byte [0x6944b977], al
movzx eax, byte [0x6944b8a8]
mov ecx, eax
not cl
or al, 0x77
or cl, 0x88
and cl, al
not cl
mov byte [0x6944b978], cl
mov eax, dword [ebp + 0xc]
mov dword [0x69459ec0], 1
push eax
mov ecx, esp
cmp ebx, 0x24
ja 0x6941bd33
cmp ebx, 1
je 0x6941bd33
mov dword [esi + 0xc], ecx
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
lea edi, [eax + edx]
dec edi
mov byte [eax + edx - 1], 0
test ecx, ecx
je 0x6941bc61
cmp ebx, 0xa
je 0x6941bc72
cmp ebx, 0x10
jne 0x6941bc40
cmp ecx, 0x100
jb 0x6941bcd1
mov eax, ecx
nop dword [eax]
movzx edx, cl
add edx, edx
movzx ebx, byte [edx + 0x6944bb91]
mov byte [edi - 1], bl
movzx edx, byte [edx + 0x6944bb90]
mov byte [edi - 2], dl
add edi, 0xfffffffe
shr eax, 8
cmp ecx, 0xffff
mov ecx, eax
ja 0x6941bc00
cmp eax, 0xf
ja 0x6941bcdc
movzx eax, byte [eax + 0x694364e5]
jmp 0x6941bcc2
mov eax, ecx
xor edx, edx
div ebx
movzx edx, byte [edx + 0x694364e5]
mov byte [edi - 1], dl
dec edi
cmp ecx, ebx
mov ecx, eax
jae 0x6941bc40
mov ecx, dword [esi + 0xc]
mov dword [ecx], edi
jmp 0x6941bd31
lea eax, [edi - 1]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov byte [edi - 1], 0x30
jmp 0x6941bd31
cmp ecx, 0x64
jb 0x6941bd0a
nop dword [eax + eax]
mov eax, ecx
mov edx, 0x51eb851f
mul edx
shr edx, 5
imul eax, edx, 0x64
mov ebx, ecx
sub ebx, eax
movzx eax, byte [ebx + ebx + str.XHiT]
mov byte [edi - 1], al
movzx eax, byte [ebx + ebx + 0x6944b8b0]
mov byte [edi - 2], al
add edi, 0xfffffffe
cmp ecx, 0x270f
mov ecx, edx
ja 0x6941bc80
cmp edx, 9
ja 0x6941bd11
movzx eax, byte [edx + 0x694364e5]
lea ecx, [edi - 1]
mov edx, dword [esi + 0xc]
mov dword [edx], ecx
mov ecx, edx
mov byte [edi - 1], al
jmp 0x6941bd31
mov eax, ecx
cmp eax, 0xf
jbe 0x6941bc32
mov ecx, eax
and ecx, 0xfffffd
mov edx, eax
and edx, 2
or eax, 2
imul eax, edx
xor edx, 2
imul edx, ecx
movzx ecx, byte [edx + eax + 0x6944bb91]
mov byte [edi - 1], cl
movzx eax, byte [edx + eax + 0x6944bb90]
jmp 0x6941bd24
mov edx, ecx
cmp edx, 9
jbe 0x6941bcbb
movzx eax, byte [edx + edx + str.XHiT]
mov byte [edi - 1], al
movzx eax, byte [edx + edx + 0x6944b8b0]
lea ecx, [edi - 2]
mov edx, dword [esi + 0xc]
mov dword [edx], ecx
mov ecx, edx
mov byte [edi - 2], al
mov eax, dword [ecx]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret