Function at 0x4342f0
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 8
mov esi, dword [ebp + 0x14]
mov eax, dword [0x4595f4]
test eax, eax
jne 0x435f9e
movzx eax, byte [0x4524f0]
xor al, 0x59
mov byte [0x452700], al
movzx eax, byte [0x4524f1]
xor al, 0x96
mov byte [0x452701], al
movzx eax, byte [0x4524f2]
mov ecx, eax
add cl, al
and cl, 0x58
sub al, cl
add al, 0x2c
mov byte [0x452702], al
movzx eax, byte [0x4524f3]
mov ecx, eax
not cl
or cl, 0x84
or al, 0x7b
and al, cl
mov byte [0x452703], al
movzx eax, byte [0x4524f4]
xor al, 0x3f
mov byte [0x452704], al
movzx eax, byte [0x4524f5]
xor al, 0xd3
mov byte [0x452705], al
movzx eax, byte [str.0:WJC_]
mov byte [0x452706], al
movzx eax, byte [0x4524f7]
mov ecx, eax
add cl, al
and cl, 0x12
sub al, cl
add al, 9
mov byte [0x452707], al
mov eax, 0x75737e67
xor eax, dword [0x4524f8]
mov dword [0x452708], eax
movzx eax, byte [0x4524fc]
xor al, 0xdf
mov byte [0x45270c], al
movzx eax, byte [0x4524fd]
xor al, 0x41
mov byte [0x45270d], al
movzx eax, byte [0x4524fe]
xor al, 0x17
mov byte [0x45270e], al
movzx eax, byte [0x4524ff]
mov ecx, eax
not cl
or cl, 0xc3
or al, 0x3c
and al, cl
mov byte [0x45270f], al
movsd xmm0, qword [0x452500]
xorps xmm0, xmmword [0x446420]
movlps qword [0x452710], xmm0
movzx eax, byte [0x452508]
xor al, 0x3a
mov byte [0x452718], al
movzx eax, byte [0x452509]
mov ecx, eax
not cl
or al, 7
or cl, 0xf8
and cl, al
not cl
mov byte [0x452719], cl
movzx eax, byte [0x45250a]
xor al, 0x57
mov byte [0x45271a], al
movzx eax, byte [0x45250b]
mov ecx, eax
not cl
or cl, 0xbc
or al, 0x43
and al, cl
mov byte [str.3xH], al
movzx eax, byte [0x45250c]
xor al, 0x2f
mov byte [0x45271c], al
movzx eax, byte [0x45250d]
mov ecx, eax
not cl
or cl, 0x3b
or al, 0xc4
and al, cl
mov ecx, 0xacd6dd5b
xor ecx, dword [0x45250e]
mov byte [0x45271d], al
mov dword [0x45271e], ecx
movzx eax, byte [0x452512]
mov ecx, eax
not cl
or al, 0x91
or cl, 0x6e
and cl, al
not cl
mov eax, 0xcf850ebc
xor eax, dword [0x452513]
mov byte [0x452722], cl
mov dword [0x452723], eax
movzx eax, byte [0x452517]
xor al, 0x87
mov byte [0x452727], al
movzx eax, byte [0x452518]
xor al, 0x2b
mov byte [0x452728], al
movzx eax, byte [0x452519]
mov ecx, eax
add cl, al
and cl, 2
sub al, cl
add al, 0x81
mov byte [0x452729], al
movzx eax, byte [0x45251a]
mov ecx, eax
add cl, al
and cl, 0x24
sub al, cl
add al, 0x12
mov byte [0x45272a], al
movzx eax, byte [0x45251b]
xor al, 0xa6
mov byte [0x45272b], al
movzx eax, byte [0x45251c]
xor al, 0x6a
mov byte [0x45272c], al
movzx eax, byte [0x45251d]
mov ecx, eax
not cl
or cl, 0xc1
or al, 0x3e
and al, cl
mov byte [0x45272d], al
movzx eax, byte [0x45251e]
xor al, 0xf0
mov byte [0x45272e], al
movzx eax, byte [0x45251f]
mov ecx, eax
not cl
or al, 0x57
or cl, 0xa8
and cl, al
not cl
movaps xmm0, xmmword [0x452520]
xorps xmm0, xmmword [0x446430]
mov byte [0x45272f], cl
movaps xmmword [0x452730], xmm0
movzx eax, byte [0x452530]
xor al, 0x90
mov byte [0x452740], al
movzx eax, byte [0x452531]
mov ecx, eax
not cl
or al, 1
or cl, 0xfe
and cl, al
not cl
mov byte [0x452741], cl
movzx eax, byte [0x452532]
xor al, 0xd7
mov byte [0x452742], al
movzx eax, byte [0x452533]
xor al, 0xb2
mov byte [0x452743], al
movzx eax, byte [0x452534]
mov ecx, eax
add cl, al
and cl, 0x74
sub al, cl
add al, 0x3a
mov byte [0x452744], al
movzx eax, byte [0x452535]
mov ecx, eax
add cl, al
and cl, 0x4e
sub al, cl
add al, 0xa7
mov byte [0x452745], al
movzx eax, byte [0x452536]
mov ecx, eax
add cl, al
and cl, 0xe8
sub al, cl
add al, 0x74
mov byte [0x452746], al
mov eax, 0xba3dd4a9
xor eax, dword [0x452537]
mov dword [0x452747], eax
movzx eax, byte [0x45253b]
xor al, 0xd7
mov byte [0x45274b], al
movzx eax, byte [0x45253c]
xor al, 0xae
mov byte [0x45274c], al
movzx eax, byte [0x45253d]
mov ecx, eax
add cl, al
and cl, 0xa
sub al, cl
add al, 5
mov byte [0x45274d], al
mov eax, 0xbb83a40d
xor eax, dword [0x45253e]
mov dword [0x45274e], eax
movzx eax, byte [0x452542]
xor al, 0xc
mov byte [0x452752], al
movzx eax, byte [0x452543]
xor al, 0x9f
mov byte [0x452753], al
movzx eax, byte [0x452544]
xor al, 0xe0
mov byte [0x452754], al
movzx eax, byte [0x452545]
mov ecx, eax
not cl
or al, 0xda
or cl, 0x25
and cl, al
not cl
mov byte [0x452755], cl
movzx eax, byte [0x452546]
xor al, 0xd4
mov byte [0x452756], al
movzx eax, byte [0x452547]
mov ecx, eax
add cl, al
and cl, 0x40
sub al, cl
add al, 0x20
mov byte [0x452757], al
movsd xmm0, qword [0x452548]
xorps xmm0, xmmword [0x446440]
movlps qword [str.UE], xmm0
movzx eax, byte [0x452550]
xor al, 0x5f
mov byte [0x452760], al
movzx eax, byte [0x452551]
mov ecx, eax
add cl, al
and cl, 0x86
sub al, cl
add al, 0x43
mov byte [0x452761], al
movzx eax, byte [0x452552]
xor al, 0x85
mov byte [0x452762], al
movzx eax, byte [0x452553]
mov ecx, eax
add cl, al
and cl, 0x64
sub al, cl
add al, 0x32
mov byte [0x452763], al
movzx eax, byte [0x452554]
mov ecx, eax
add cl, al
and cl, 0xf6
sub al, cl
add al, 0x7b
mov byte [0x452764], al
movzx eax, byte [0x452555]
xor al, 5
mov byte [0x452765], al
movzx eax, byte [0x452556]
mov ecx, eax
add cl, al
and cl, 0xaa
sub al, cl
add al, 0xd5
mov byte [0x452766], al
movzx eax, byte [0x452557]
mov ecx, eax
not cl
or al, 0x8f
or cl, 0x70
and cl, al
not cl
mov byte [0x452767], cl
movzx eax, byte [0x452558]
mov ecx, eax
add cl, al
and cl, 0xde
sub al, cl
add al, 0xef
mov byte [0x452768], al
movzx eax, byte [0x452559]
xor al, 0x46
mov byte [0x452769], al
movzx eax, byte [0x45255a]
mov ecx, eax
add cl, al
and cl, 0x4c
sub al, cl
add al, 0xa6
mov byte [0x45276a], al
movzx eax, byte [0x45255b]
xor al, 0x8d
mov byte [0x45276b], al
movzx eax, byte [0x45255c]
xor al, 0xd4
mov byte [0x45276c], al
movzx eax, byte [str._W_q]
xor al, 0x1d
mov byte [0x45276d], al
movzx eax, byte [0x45255e]
mov ecx, eax
add cl, al
and cl, 0xde
sub al, cl
add al, 0x6f
mov byte [0x45276e], al
movzx eax, byte [0x45255f]
xor al, 8
mov byte [0x45276f], al
movzx eax, byte [0x452560]
xor al, 0x64
mov byte [0x452770], al
movzx eax, byte [0x452561]
xor al, 6
mov byte [str.DG_P], al
movzx eax, byte [0x452562]
mov ecx, eax
add cl, al
and cl, 0x84
sub al, cl
add al, 0x42
mov byte [0x452772], al
movzx eax, byte [0x452563]
mov ecx, eax
add cl, al
and cl, 0x50
sub al, cl
add al, 0x28
mov byte [0x452773], al
mov eax, 0xb0a460d6
xor eax, dword [0x452564]
mov dword [0x452774], eax
movzx eax, byte [0x452568]
xor al, 0xcf
mov byte [0x452778], al
movzx eax, byte [0x452569]
xor al, 0xc6
mov byte [0x452779], al
movzx eax, byte [0x45256a]
mov ecx, eax
add cl, al
and cl, 0x10
sub al, cl
add al, 8
mov byte [0x45277a], al
movzx eax, byte [0x45256b]
mov ecx, eax
not cl
or al, 0x73
or cl, 0x8c
and cl, al
not cl
mov byte [0x45277b], cl
movzx eax, byte [0x45256c]
xor al, 0x31
mov byte [0x45277c], al
movzx eax, byte [0x45256d]
xor al, 0x57
mov byte [0x45277d], al
movzx eax, byte [0x45256e]
mov ecx, eax
not cl
or al, 0x65
or cl, 0x9a
and cl, al
not cl
mov byte [0x45277e], cl
movzx eax, byte [str._z_w]
mov ecx, eax
add cl, al
and cl, 0x26
sub al, cl
add al, 0x93
mov byte [0x45277f], al
movzx eax, byte [0x452570]
add al, 0x80
mov byte [0x452780], al
movzx eax, byte [0x452571]
xor al, 0x19
mov byte [0x452781], al
movzx eax, byte [0x452572]
mov ecx, eax
add cl, al
and cl, 0x9c
sub al, cl
add al, 0x4e
mov byte [0x452782], al
movzx eax, byte [0x452573]
mov ecx, eax
add cl, al
and cl, 0x2c
sub al, cl
add al, 0x16
mov byte [0x452783], al
movzx eax, byte [0x452574]
xor al, 0x6b
mov byte [0x452784], al
movzx eax, byte [0x452575]
xor al, 0x45
mov byte [0x452785], al
movzx eax, byte [0x452576]
mov ecx, eax
add cl, al
and cl, 4
sub al, cl
add al, 0x82
mov byte [0x452786], al
movzx eax, byte [0x452577]
mov ecx, eax
add cl, al
and cl, 0xd8
sub al, cl
add al, 0xec
mov byte [0x452787], al
movzx eax, byte [str.r4_Is]
xor al, 0x46
mov byte [str.s8__o], al
movzx eax, byte [0x452579]
xor al, 0xe3
mov byte [0x452789], al
movzx eax, byte [0x45257a]
xor al, 0xa2
mov byte [0x45278a], al
movzx eax, byte [0x45257b]
mov ecx, eax
add cl, al
and cl, 2
sub al, cl
inc al
mov byte [0x45278b], al
movzx eax, byte [0x45257c]
mov ecx, eax
not cl
or cl, 0x96
or al, 0x69
and al, cl
mov byte [0x45278c], al
movzx eax, byte [0x45257d]
xor al, 0x7f
mov byte [0x45278d], al
movzx eax, byte [0x45257e]
mov ecx, eax
add cl, al
and cl, 0x8e
sub al, cl
add al, 0x47
mov byte [0x45278e], al
movzx eax, byte [0x45257f]
xor al, 0xc0
mov byte [0x45278f], al
movzx eax, byte [0x452580]
mov ecx, eax
add cl, al
and cl, 0xc8
sub al, cl
add al, 0xe4
mov byte [0x452790], al
movzx eax, byte [0x452581]
mov ecx, eax
add cl, al
and cl, 0x34
sub al, cl
add al, 0x9a
mov byte [0x452791], al
movzx eax, byte [0x452582]
xor al, 0x20
mov byte [0x452792], al
movzx eax, byte [0x452583]
xor al, 0xbd
mov byte [0x452793], al
movzx eax, byte [0x452584]
xor al, 0x5c
mov byte [0x452794], al
movzx eax, byte [0x452585]
mov ecx, eax
add cl, al
and cl, 0xde
sub al, cl
add al, 0xef
mov byte [0x452795], al
mov eax, 0x1fd55ab1
xor eax, dword [0x452586]
mov dword [0x452796], eax
movzx eax, byte [0x45258a]
xor al, 0x6f
mov byte [0x45279a], al
movzx eax, byte [0x45258b]
xor al, 0x99
mov byte [0x45279b], al
movzx eax, byte [0x45258c]
xor al, 0x64
mov byte [0x45279c], al
movzx eax, byte [0x45258d]
mov ecx, eax
add cl, al
and cl, 0xe4
sub al, cl
add al, 0x72
mov byte [0x45279d], al
movzx eax, byte [0x45258e]
xor al, 0x67
mov byte [0x45279e], al
movzx eax, byte [0x45258f]
xor al, 0xfb
mov byte [0x45279f], al
movzx eax, byte [0x452590]
xor al, 0xc5
mov byte [0x4527a0], al
movzx eax, byte [0x452591]
mov ecx, eax
add cl, al
and cl, 0x2c
sub al, cl
add al, 0x16
mov byte [0x4527a1], al
movzx eax, byte [0x452592]
xor al, 0xa5
mov byte [0x4527a2], al
movzx eax, byte [0x452593]
xor al, 0x27
mov byte [0x4527a3], al
movzx eax, byte [0x452594]
mov ecx, eax
add cl, al
and cl, 0x54
sub al, cl
add al, 0x2a
mov ecx, 0xcdce8fc1
xor ecx, dword [0x452595]
mov byte [0x4527a4], al
mov dword [0x4527a5], ecx
movzx eax, byte [0x452599]
xor al, 0xf9
mov byte [0x4527a9], al
movzx eax, byte [0x45259a]
xor al, 0x20
mov byte [0x4527aa], al
movzx eax, byte [0x45259b]
mov ecx, eax
add cl, al
and cl, 0xca
sub al, cl
add al, 0x65
mov byte [0x4527ab], al
movsd xmm0, qword [0x45259c]
xorps xmm0, xmmword [0x446450]
movlps qword [0x4527ac], xmm0
movzx eax, byte [0x4525a4]
mov ecx, eax
add cl, al
and cl, 0x4c
sub al, cl
add al, 0xa6
movsd xmm0, qword [str._O3]
xorps xmm0, xmmword [0x446460]
mov byte [0x4527b4], al
mov eax, 0xb113e6db
xor eax, dword [0x4525ad]
movlps qword [0x4527b5], xmm0
mov dword [0x4527bd], eax
movzx eax, byte [0x4525b1]
xor al, 0x29
mov byte [0x4527c1], al
movzx eax, byte [0x4525b2]
not al
mov byte [0x4527c2], al
movzx eax, byte [0x4525b3]
xor al, 0x3e
mov byte [0x4527c3], al
movzx eax, byte [0x4525b4]
mov ecx, eax
add cl, al
and cl, 0xf4
sub al, cl
add al, 0xfa
mov ecx, 0x5af93e96
xor ecx, dword [0x4525b5]
mov byte [str.__iK], al
mov dword [0x4527c5], ecx
movzx eax, byte [0x4525b9]
xor al, 0x29
mov byte [0x4527c9], al
movzx eax, byte [0x4525ba]
mov ecx, eax
not cl
or al, 0x55
or cl, 0xaa
and cl, al
not cl
mov byte [0x4527ca], cl
movzx eax, byte [str._Pz]
mov ecx, eax
not cl
or al, 0xaa
or cl, 0x55
and cl, al
not cl
mov byte [0x4527cb], cl
mov eax, 0xb44c4d66
xor eax, dword [0x4525bc]
mov dword [0x4527cc], eax
movzx eax, byte [0x4525c0]
mov ecx, eax
add cl, al
and cl, 0x56
sub al, cl
add al, 0x2b
mov byte [0x4527d0], al
movzx eax, byte [0x4525c1]
mov ecx, eax
add cl, al
and cl, 0x6e
sub al, cl
add al, 0x37
mov byte [0x4527d1], al
movzx eax, byte [0x4525c2]
xor al, 0x29
mov byte [0x4527d2], al
movzx eax, byte [0x4525c3]
xor al, 0xa4
mov byte [0x4527d3], al
movzx eax, byte [0x4525c4]
mov ecx, eax
add cl, al
and cl, 0xa6
sub al, cl
add al, 0x53
mov byte [0x4527d4], al
movzx eax, byte [0x4525c5]
xor al, 0x49
mov byte [0x4527d5], al
movzx eax, byte [0x4525c6]
mov ecx, eax
add cl, al
and cl, 0x4c
sub al, cl
add al, 0x26
movsd xmm0, qword [0x4525c7]
xorps xmm0, xmmword [0x446470]
mov byte [0x4527d6], al
movlps qword [0x4527d7], xmm0
movzx eax, byte [0x4525cf]
xor al, 0x2d
mov byte [0x4527df], al
movzx eax, byte [0x4525d0]
add al, 0x80
mov byte [0x4527e0], al
movzx eax, byte [0x4525d1]
mov ecx, eax
add cl, al
and cl, 0xd2
sub al, cl
add al, 0x69
mov byte [0x4527e1], al
movzx eax, byte [0x4525d2]
xor al, 0x9f
mov byte [0x4527e2], al
movzx eax, byte [0x4525d3]
mov ecx, eax
add cl, al
and cl, 0xca
sub al, cl
add al, 0x65
mov byte [0x4527e3], al
movsd xmm0, qword [0x4525d4]
xorps xmm0, xmmword [0x446480]
movlps qword [0x4527e4], xmm0
mov eax, 0xe28a559f
xor eax, dword [0x4525dc]
mov dword [0x4527ec], eax
movzx eax, byte [0x4525e0]
mov ecx, eax
not cl
or al, 0x22
or cl, 0xdd
and cl, al
not cl
mov byte [0x4527f0], cl
mov eax, 0x583b9da8
xor eax, dword [0x4525e1]
mov dword [0x4527f1], eax
movzx eax, byte [0x4525e5]
xor al, 0xb8
mov byte [0x4527f5], al
movzx eax, byte [0x4525e6]
mov ecx, eax
add cl, al
and cl, 0xba
sub al, cl
add al, 0x5d
mov byte [0x4527f6], al
movzx eax, byte [0x4525e7]
mov ecx, eax
not cl
or al, 0xdf
or cl, 0x20
and cl, al
not cl
mov byte [0x4527f7], cl
movzx eax, byte [0x4525e8]
mov ecx, eax
add cl, al
and cl, 0x4c
sub al, cl
add al, 0x26
mov byte [0x4527f8], al
movzx eax, byte [0x4525e9]
xor al, 0xf7
mov byte [0x4527f9], al
movzx eax, byte [0x4525ea]
xor al, 0x98
mov byte [0x4527fa], al
movzx eax, byte [0x4525eb]
mov ecx, eax
add cl, al
and cl, 0x64
sub al, cl
add al, 0x32
mov byte [0x4527fb], al
movzx eax, byte [0x4525ec]
mov ecx, eax
not cl
or al, 0xbc
or cl, 0x43
and cl, al
not cl
mov byte [0x4527fc], cl
movzx eax, byte [0x4525ed]
xor al, 0x72
mov byte [0x4527fd], al
movzx eax, byte [0x4525ee]
mov ecx, eax
add cl, al
and cl, 0x18
sub al, cl
add al, 0x8c
mov byte [0x4527fe], al
movups xmm0, xmmword [0x4525ef]
xorps xmm0, xmmword [0x446490]
movups xmmword [0x4527ff], xmm0
movzx eax, byte [0x4525ff]
xor al, 0xb9
mov byte [0x45280f], al
movzx eax, byte [0x452600]
xor al, 0x99
mov byte [0x452810], al
movzx eax, byte [0x452601]
xor al, 0xc0
mov byte [0x452811], al
movzx eax, byte [0x452602]
mov ecx, eax
add cl, al
and cl, 0x64
sub al, cl
add al, 0x32
mov byte [0x452812], al
movzx eax, byte [0x452603]
xor al, 0x46
mov byte [0x452813], al
movzx eax, byte [0x452604]
xor al, 0xb3
mov byte [0x452814], al
movzx eax, byte [0x452605]
mov ecx, eax
not cl
or al, 0xb0
or cl, 0x4f
and cl, al
not cl
mov byte [0x452815], cl
movzx eax, byte [0x452606]
mov ecx, eax
add cl, al
and cl, 0x14
sub al, cl
add al, 0x8a
mov ecx, 0x2e9416d1
xor ecx, dword [0x452607]
mov byte [0x452816], al
mov dword [str.je], ecx
movzx eax, byte [0x45260b]
xor al, 0xd1
mov byte [0x45281b], al
movzx eax, byte [0x45260c]
add al, 0x80
mov byte [0x45281c], al
movzx eax, byte [0x45260d]
xor al, 0xd4
mov byte [0x45281d], al
movzx eax, byte [0x45260e]
mov ecx, eax
add cl, al
and cl, 0x98
sub al, cl
add al, 0xcc
mov byte [0x45281e], al
movzx eax, byte [0x45260f]
xor al, 0x9f
mov byte [0x45281f], al
movzx eax, byte [0x452610]
xor al, 0x3d
mov byte [0x452820], al
movzx eax, byte [0x452611]
mov ecx, eax
add cl, al
and cl, 0xd2
sub al, cl
add al, 0x69
mov byte [0x452821], al
movzx eax, byte [0x452612]
xor al, 0xb0
mov byte [0x452822], al
movzx eax, byte [0x452613]
xor al, 0x84
mov byte [0x452823], al
movzx eax, byte [0x452614]
mov ecx, eax
add cl, al
and cl, 0xc4
sub al, cl
add al, 0x62
mov byte [0x452824], al
movzx eax, byte [0x452615]
xor al, 0xd3
mov byte [0x452825], al
movzx eax, byte [0x452616]
mov ecx, eax
not cl
or al, 0xb5
or cl, 0x4a
and cl, al
not cl
mov byte [0x452826], cl
movsd xmm0, qword [0x452617]
xorps xmm0, xmmword [0x4464a0]
movlps qword [0x452827], xmm0
movzx eax, byte [0x45261f]
mov ecx, eax
add cl, al
and cl, 0x4c
sub al, cl
add al, 0x26
movsd xmm0, qword [0x452620]
xorps xmm0, xmmword [0x4464b0]
mov byte [0x45282f], al
movlps qword [0x452830], xmm0
movzx eax, byte [0x452628]
mov ecx, eax
add cl, al
and cl, 0x70
sub al, cl
add al, 0x38
mov byte [0x452838], al
movzx eax, byte [0x452629]
mov ecx, eax
add cl, al
and cl, 0xec
sub al, cl
add al, 0x76
mov byte [0x452839], al
movzx eax, byte [0x45262a]
xor al, 0x24
mov byte [0x45283a], al
movzx eax, byte [0x45262b]
xor al, 0x5e
mov byte [0x45283b], al
movzx eax, byte [0x45262c]
mov ecx, eax
add cl, al
and cl, 0xd4
sub al, cl
add al, 0xea
mov byte [0x45283c], al
movzx eax, byte [0x45262d]
mov ecx, eax
add cl, al
and cl, 0x40
sub al, cl
add al, 0x20
mov byte [0x45283d], al
movsd xmm0, qword [0x45262e]
xorps xmm0, xmmword [0x4464c0]
movlps qword [0x45283e], xmm0
movzx eax, byte [0x452636]
xor al, 0xb7
mov byte [0x452846], al
movzx eax, byte [0x452637]
mov ecx, eax
not cl
or al, 0x57
or cl, 0xa8
and cl, al
not cl
mov byte [0x452847], cl
movzx eax, byte [0x452638]
mov ecx, eax
add cl, al
and cl, 0x9e
sub al, cl
add al, 0xcf
movsd xmm0, qword [0x452639]
xorps xmm0, xmmword [0x4464d0]
mov byte [0x452848], al
mov eax, 0xcc5e214f
xor eax, dword [0x452641]
movlps qword [0x452849], xmm0
mov dword [0x452851], eax
movzx eax, byte [0x452645]
xor al, 0xd3
mov byte [0x452855], al
movzx eax, byte [0x452646]
mov ecx, eax
add cl, al
and cl, 0xda
sub al, cl
add al, 0x6d
mov byte [0x452856], al
movzx eax, byte [0x452647]
mov ecx, eax
not cl
or al, 0xfc
or cl, 3
and cl, al
not cl
mov byte [0x452857], cl
movzx eax, byte [0x452648]
xor al, 5
mov byte [0x452858], al
movzx eax, byte [0x452649]
xor al, 0xb7
mov byte [0x452859], al
movzx eax, byte [0x45264a]
xor al, 0xe7
mov byte [0x45285a], al
movzx eax, byte [0x45264b]
mov ecx, eax
not cl
or cl, 0xd4
or al, 0x2b
and al, cl
mov byte [0x45285b], al
movzx eax, byte [0x45264c]
xor al, 0x35
mov byte [0x45285c], al
movzx eax, byte [0x45264d]
mov ecx, eax
add cl, al
and cl, 0x42
sub al, cl
add al, 0x21
mov byte [0x45285d], al
movzx eax, byte [0x45264e]
xor al, 0xed
mov byte [0x45285e], al
movzx eax, byte [0x45264f]
xor al, 0x2d
mov byte [0x45285f], al
movzx eax, byte [0x452650]
xor al, 0x4f
mov byte [0x452860], al
movzx eax, byte [0x452651]
mov ecx, eax
add cl, al
and cl, 0x18
sub al, cl
add al, 0x8c
mov byte [0x452861], al
movzx eax, byte [0x452652]
xor al, 0xf2
mov byte [0x452862], al
movzx eax, byte [0x452653]
xor al, 0x67
mov byte [0x452863], al
movzx eax, byte [0x452654]
mov ecx, eax
add cl, al
and cl, 0x46
sub al, cl
add al, 0xa3
mov byte [0x452864], al
movups xmm0, xmmword [0x452655]
xorps xmm0, xmmword [0x4464e0]
movups xmmword [0x452865], xmm0
movzx eax, byte [str.mnHX_f]
mov ecx, eax
add cl, al
and cl, 0x58
sub al, cl
add al, 0x2c
mov byte [0x452875], al
movzx eax, byte [0x452666]
mov ecx, eax
add cl, al
and cl, 0x58
sub al, cl
add al, 0x2c
mov byte [0x452876], al
movsd xmm0, qword [0x452667]
xorps xmm0, xmmword [0x4464f0]
movlps qword [0x452877], xmm0
movzx eax, byte [0x45266f]
xor al, 0xc8
mov byte [0x45287f], al
movzx eax, byte [str._O_H]
xor al, 0x23
mov byte [0x452880], al
movzx eax, byte [0x452671]
mov ecx, eax
add cl, al
sub al, cl
add al, 0x7f
mov byte [0x452881], al
mov eax, 0x6696791c
xor eax, dword [0x452672]
mov dword [0x452882], eax
movzx eax, byte [0x452676]
xor al, 0x2a
mov byte [0x452886], al
movzx eax, byte [0x452677]
xor al, 0xfb
mov byte [0x452887], al
movzx eax, byte [0x452678]
xor al, 0x1f
mov byte [0x452888], al
movzx eax, byte [0x452679]
mov ecx, eax
not cl
or al, 0xe9
or cl, 0x16
and cl, al
not cl
mov byte [0x452889], cl
movzx eax, byte [0x45267a]
xor al, 0xa
mov byte [0x45288a], al
movzx eax, byte [0x45267b]
xor al, 0xaa
mov byte [0x45288b], al
movzx eax, byte [str.zN]
xor al, 0x3e
mov byte [0x45288c], al
movzx eax, byte [0x45267d]
mov ecx, eax
add cl, al
and cl, 0x98
sub al, cl
add al, 0x4c
mov byte [0x45288d], al
movzx eax, byte [0x45267e]
mov ecx, eax
add cl, al
and cl, 0x1a
sub al, cl
add al, 0xd
mov byte [str.iG], al
movzx eax, byte [0x45267f]
mov ecx, eax
add cl, al
and cl, 0x96
sub al, cl
add al, 0x4b
mov byte [0x45288f], al
movzx eax, byte [0x452680]
xor al, 0x45
mov byte [0x452890], al
movzx eax, byte [0x452681]
xor al, 0x96
mov byte [0x452891], al
movzx eax, byte [0x452682]
mov ecx, eax
not cl
or cl, 0x2f
or al, 0xd0
movd xmm0, dword [0x452683]
movdqa xmm1, xmm0
paddb xmm1, xmm0
pand xmm1, xmmword [str.__X]
and al, cl
psubb xmm0, xmm1
paddb xmm0, xmmword [0x446510]
mov byte [0x452892], al
movd dword [0x452893], xmm0
movzx eax, byte [0x452687]
xor al, 0x2f
mov byte [0x452897], al
movzx eax, byte [0x452688]
mov ecx, eax
add cl, al
and cl, 0x2c
sub al, cl
add al, 0x96
mov byte [0x452898], al
movsd xmm0, qword [0x452689]
xorps xmm0, xmmword [0x446520]
movlps qword [0x452899], xmm0
movzx eax, byte [0x452691]
xor al, 0xf8
mov byte [0x4528a1], al
movzx eax, byte [0x452692]
xor al, 0xc4
mov byte [0x4528a2], al
movzx eax, byte [0x452693]
xor al, 0x49
mov byte [0x4528a3], al
movzx eax, byte [0x452694]
mov ecx, eax
add cl, al
and cl, 0x7a
sub al, cl
add al, 0x3d
mov byte [0x4528a4], al
movzx eax, byte [0x452695]
xor al, 0xa7
mov byte [0x4528a5], al
movzx eax, byte [0x452696]
mov ecx, eax
add cl, al
and cl, 0xa6
sub al, cl
add al, 0x53
mov byte [0x4528a6], al
movzx eax, byte [0x452697]
xor al, 0x2f
mov byte [0x4528a7], al
movzx eax, byte [0x452698]
mov ecx, eax
add cl, al
and cl, 0xb4
sub al, cl
add al, 0xda
mov byte [0x4528a8], al
movzx eax, byte [0x452699]
xor al, 0xc4
mov byte [0x4528a9], al
movzx eax, byte [0x45269a]
xor al, 0x54
mov byte [0x4528aa], al
movzx eax, byte [0x45269b]
xor al, 0xe1
mov byte [0x4528ab], al
movzx eax, byte [0x45269c]
mov ecx, eax
not cl
or cl, 0x52
or al, 0xad
and al, cl
mov byte [0x4528ac], al
movzx eax, byte [0x45269d]
xor al, 0xa1
mov byte [0x4528ad], al
movzx eax, byte [0x45269e]
xor al, 0x2d
mov byte [0x4528ae], al
movzx eax, byte [0x45269f]
xor al, 1
mov byte [0x4528af], al
movzx eax, byte [0x4526a0]
mov ecx, eax
add cl, al
and cl, 0x90
sub al, cl
add al, 0xc8
mov byte [0x4528b0], al
movzx eax, byte [0x4526a1]
xor al, 0xc3
mov byte [0x4528b1], al
movzx eax, byte [str.Vb_P]
mov ecx, eax
add cl, al
and cl, 0x24
sub al, cl
add al, 0x12
mov byte [0x4528b2], al
movzx eax, byte [0x4526a3]
xor al, 0x5b
mov byte [0x4528b3], al
movzx eax, byte [0x4526a4]
xor al, 0x78
mov byte [0x4528b4], al
movzx eax, byte [0x4526a5]
mov ecx, eax
not cl
or al, 0xee
or cl, 0x11
and cl, al
not cl
mov byte [0x4528b5], cl
mov eax, 0xd4143dd9
xor eax, dword [0x4526a6]
mov dword [0x4528b6], eax
movzx eax, byte [0x4526aa]
mov ecx, eax
add cl, al
and cl, 0x6a
sub al, cl
add al, 0xb5
mov byte [0x4528ba], al
movzx eax, byte [0x4526ab]
xor al, 4
mov byte [0x4528bb], al
movzx eax, byte [0x4526ac]
xor al, 0x4f
mov byte [0x4528bc], al
movzx eax, byte [0x4526ad]
xor al, 0xb6
mov byte [0x4528bd], al
movzx eax, byte [0x4526ae]
mov ecx, eax
add cl, al
and cl, 0x7a
sub al, cl
add al, 0xbd
mov byte [0x4528be], al
movzx eax, byte [0x4526af]
xor al, 0x1f
mov byte [0x4528bf], al
movzx eax, byte [0x4526b0]
mov ecx, eax
add cl, al
and cl, 0xce
sub al, cl
add al, 0xe7
mov byte [0x4528c0], al
movzx eax, byte [0x4526b1]
xor al, 0x44
mov byte [0x4528c1], al
movzx eax, byte [0x4526b2]
mov ecx, eax
add cl, al
and cl, 0x4e
sub al, cl
add al, 0x27
mov byte [0x4528c2], al
mov eax, 0x2abdcda3
xor eax, dword [0x4526b3]
mov dword [str.FE0_n], eax
movzx eax, byte [0x4526b7]
xor al, 0x88
mov byte [0x4528c7], al
movzx eax, byte [0x4526b8]
xor al, 0xa9
mov byte [0x4528c8], al
movzx eax, byte [0x4526b9]
mov ecx, eax
add cl, al
and cl, 0x3c
sub al, cl
add al, 0x9e
mov byte [0x4528c9], al
mov eax, 0xdf82c27d
xor eax, dword [0x4526ba]
mov dword [0x4528ca], eax
movzx eax, byte [0x4526be]
xor al, 0xf8
mov byte [0x4528ce], al
movzx eax, byte [0x4526bf]
mov ecx, eax
not cl
or al, 0xf8
or cl, 7
and cl, al
not cl
mov byte [0x4528cf], cl
movzx eax, byte [0x4526c0]
xor al, 0x19
mov byte [0x4528d0], al
movzx eax, byte [0x4526c1]
xor al, 0x83
mov byte [0x4528d1], al
movzx eax, byte [0x4526c2]
mov ecx, eax
add cl, al
and cl, 0x52
sub al, cl
add al, 0x29
mov byte [0x4528d2], al
movzx eax, byte [0x4526c3]
xor al, 0xf2
mov byte [0x4528d3], al
movzx eax, byte [0x4526c4]
xor al, 0x6a
mov byte [0x4528d4], al
movzx eax, byte [0x4526c5]
mov ecx, eax
add cl, al
and cl, 0xbe
sub al, cl
add al, 0x5f
mov byte [0x4528d5], al
movzx eax, byte [0x4526c6]
mov ecx, eax
not cl
or al, 0xf8
or cl, 7
and cl, al
not cl
mov byte [0x4528d6], cl
movzx eax, byte [0x4526c7]
mov ecx, eax
add cl, al
and cl, 0xc6
sub al, cl
add al, 0x63
mov byte [0x4528d7], al
movzx eax, byte [0x4526c8]
xor al, 0x5d
mov byte [0x4528d8], al
movzx eax, byte [0x4526c9]
xor al, 0x2a
mov byte [0x4528d9], al
movzx eax, byte [0x4526ca]
mov ecx, eax
add cl, al
and cl, 0x46
sub al, cl
add al, 0xa3
mov byte [0x4528da], al
mov eax, 0x972ebc2c
xor eax, dword [0x4526cb]
mov dword [0x4528db], eax
movzx eax, byte [0x4526cf]
xor al, 0x44
mov byte [str.Xn_n5], al
movzx eax, byte [0x4526d0]
xor al, 0x67
mov byte [0x4528e0], al
movzx eax, byte [0x4526d1]
xor al, 0x1f
mov byte [0x4528e1], al
movzx eax, byte [0x4526d2]
mov ecx, eax
add cl, al
and cl, 0xf6
sub al, cl
add al, 0xfb
mov byte [0x4528e2], al
mov eax, 0x8969af3f
xor eax, dword [0x4526d3]
mov dword [0x4528e3], eax
movzx eax, byte [0x4526d7]
mov ecx, eax
add cl, al
and cl, 0x2a
sub al, cl
add al, 0x95
mov byte [0x4528e7], al
movzx eax, byte [0x4526d8]
mov ecx, eax
add cl, al
and cl, 0xde
sub al, cl
add al, 0x6f
mov byte [0x4528e8], al
movzx eax, byte [0x4526d9]
xor al, 0xe3
mov byte [0x4528e9], al
movzx eax, byte [0x4526da]
mov ecx, eax
add cl, al
and cl, 0x5c
sub al, cl
add al, 0xae
mov byte [0x4528ea], al
movzx eax, byte [str.bFiZ]
xor al, 0x57
mov byte [0x4528eb], al
movzx eax, byte [0x4526dc]
xor al, 0x8f
mov byte [0x4528ec], al
movzx eax, byte [0x4526dd]
xor al, 0x86
mov byte [0x4528ed], al
movzx eax, byte [0x4526de]
mov byte [0x4528ee], al
movzx eax, byte [0x4526df]
mov ecx, eax
not cl
or al, 0xc
or cl, 0xf3
and cl, al
not cl
mov byte [0x4528ef], cl
movaps xmm0, xmmword [0x4526e0]
xorps xmm0, xmmword [0x446530]
movss dword [0x4528f0], xmm0
movzx eax, byte [0x4526e4]
xor al, 0xf2
mov byte [0x4528f4], al
movzx eax, byte [0x4526e5]
xor al, 0xde
mov byte [0x4528f5], al
movzx eax, byte [0x4526e6]
mov ecx, eax
add cl, al
and cl, 0x9c
sub al, cl
add al, 0xce
mov byte [0x4528f6], al
mov eax, 0xb99a8cd5
xor eax, dword [0x4526e7]
mov dword [0x4528f7], eax
movzx eax, byte [0x4526eb]
xor al, 0xc4
mov byte [0x4528fb], al
movzx eax, byte [0x4526ec]
mov ecx, eax
add cl, al
and cl, 0x36
sub al, cl
add al, 0x1b
mov byte [0x4528fc], al
movzx eax, byte [0x4526ed]
xor al, 0xef
mov byte [0x4528fd], al
movzx eax, byte [0x4526ee]
mov ecx, eax
add cl, al
and cl, 0x90
sub al, cl
add al, 0x48
mov byte [0x4528fe], al
movzx eax, byte [0x4526ef]
xor al, 0xea
mov byte [0x4528ff], al
movzx eax, byte [0x4526f0]
xor al, 0x2c
mov byte [0x452900], al
movzx eax, byte [0x452350]
xor al, 0x60
mov byte [0x452420], al
movzx eax, byte [0x452351]
xor al, 0x17
mov byte [0x452421], al
movzx eax, byte [0x452352]
mov ecx, eax
add cl, al
and cl, 0x88
sub al, cl
add al, 0xc4
mov byte [0x452422], al
movzx eax, byte [0x452353]
mov ecx, eax
add cl, al
and cl, 0x3a
sub al, cl
add al, 0x9d
mov byte [0x452423], al
movsd xmm0, qword [0x452354]
xorps xmm0, xmmword [str.V_f0VL_i]
movlps qword [0x452424], xmm0
movzx eax, byte [0x45235c]
mov ecx, eax
add cl, al
and cl, 8
sub al, cl
add al, 4
mov byte [0x45242c], al
movzx eax, byte [0x45235d]
mov ecx, eax
add cl, al
and cl, 0x4c
sub al, cl
add al, 0x26
mov byte [0x45242d], al
movzx eax, byte [0x45235e]
xor al, 0x61
mov byte [0x45242e], al
movzx eax, byte [0x45235f]
xor al, 0x26
mov byte [0x45242f], al
movzx eax, byte [0x452360]
mov ecx, eax
add cl, al
and cl, 0xcc
sub al, cl
add al, 0x66
movups xmm0, xmmword [0x452361]
xorps xmm0, xmmword [0x446550]
mov byte [0x452430], al
movups xmmword [0x452431], xmm0
movzx eax, byte [0x452371]
mov ecx, eax
not cl
or al, 0xe8
or cl, 0x17
and cl, al
not cl
mov eax, 0xd2d387f9
xor eax, dword [0x452372]
mov byte [0x452441], cl
mov dword [0x452442], eax
movzx eax, byte [0x452376]
xor al, 0xc5
mov byte [0x452446], al
movzx eax, byte [0x452377]
mov ecx, eax
add cl, al
and cl, 0xfc
sub al, cl
add al, 0xfe
mov byte [0x452447], al
movzx eax, byte [0x452378]
xor al, 0x26
mov byte [0x452448], al
movzx eax, byte [0x452379]
xor al, 0x1b
mov byte [0x452449], al
movzx eax, byte [0x45237a]
xor al, 0x76
mov byte [0x45244a], al
movzx eax, byte [0x45237b]
mov ecx, eax
add cl, al
and cl, 0x76
sub al, cl
add al, 0x3b
mov byte [0x45244b], al
movzx eax, byte [0x45237c]
mov ecx, eax
add cl, al
and cl, 0x52
sub al, cl
add al, 0xa9
mov byte [0x45244c], al
mov eax, 0x534904e7
xor eax, dword [0x45237d]
mov dword [0x45244d], eax
movzx eax, byte [0x452381]
mov ecx, eax
add cl, al
and cl, 0x8a
sub al, cl
add al, 0xc5
movsd xmm0, qword [0x452382]
xorps xmm0, xmmword [0x446560]
mov byte [0x452451], al
movlps qword [0x452452], xmm0
movzx eax, byte [0x45238a]
xor al, 0x21
mov byte [0x45245a], al
movzx eax, byte [0x45238b]
xor al, 0x3e
mov byte [0x45245b], al
movzx eax, byte [0x45238c]
xor al, 0x20
mov byte [0x45245c], al
movzx eax, byte [0x45238d]
mov ecx, eax
add cl, al
and cl, 0xaa
sub al, cl
add al, 0x55
movups xmm0, xmmword [0x45238e]
xorps xmm0, xmmword [0x446570]
mov byte [0x45245d], al
mov eax, 0xe73e31c
xor eax, dword [0x45239e]
movups xmmword [0x45245e], xmm0
mov dword [0x45246e], eax
movzx eax, byte [0x4523a2]
xor al, 0x16
mov byte [0x452472], al
movzx eax, byte [0x4523a3]
xor al, 0x88
mov byte [0x452473], al
movzx eax, byte [0x4523a4]
mov ecx, eax
add cl, al
and cl, 0x24
sub al, cl
add al, 0x92
mov byte [0x452474], al
movzx eax, byte [0x4523a5]
mov ecx, eax
add cl, al
and cl, 0x82
sub al, cl
add al, 0x41
movsd xmm0, qword [0x4523a6]
xorps xmm0, xmmword [0x446580]
mov byte [0x452475], al
mov eax, 0x7d9197b
xor eax, dword [0x4523ae]
movlps qword [0x452476], xmm0
mov dword [0x45247e], eax
movzx eax, byte [0x4523b2]
xor al, 0xd3
mov byte [0x452482], al
movzx eax, byte [0x4523b3]
xor al, 0x4a
mov byte [0x452483], al
movzx eax, byte [0x4523b4]
mov ecx, eax
add cl, al
and cl, 0x26
sub al, cl
add al, 0x13
mov byte [0x452484], al
movzx eax, byte [0x4523b5]
mov ecx, eax
add cl, al
and cl, 0x9e
sub al, cl
add al, 0xcf
mov ecx, 0x4581f3aa
xor ecx, dword [0x4523b6]
mov byte [0x452485], al
mov dword [0x452486], ecx
movzx eax, byte [0x4523ba]
xor al, 0xde
mov byte [0x45248a], al
movzx eax, byte [0x4523bb]
mov ecx, eax
add cl, al
and cl, 0x58
sub al, cl
add al, 0x2c
mov byte [0x45248b], al
mov eax, 0x3504054f
xor eax, dword [0x4523bc]
mov dword [0x45248c], eax
movzx eax, byte [0x4523c0]
mov ecx, eax
add cl, al
and cl, 0x36
sub al, cl
add al, 0x9b
mov byte [0x452490], al
mov eax, 0x59ed24e7
xor eax, dword [0x4523c1]
mov dword [0x452491], eax
movzx eax, byte [0x4523c5]
xor al, 0x60
mov byte [0x452495], al
movzx eax, byte [0x4523c6]
xor al, 0xc1
mov byte [0x452496], al
movzx eax, byte [0x4523c7]
xor al, 0x67
mov byte [0x452497], al
movzx eax, byte [0x4523c8]
mov ecx, eax
not cl
or al, 0x64
or cl, 0x9b
and cl, al
not cl
mov byte [0x452498], cl
movzx eax, byte [0x4523c9]
xor al, 0xaa
mov byte [0x452499], al
movzx eax, byte [0x4523ca]
xor al, 0x87
mov byte [0x45249a], al
movzx eax, byte [0x4523cb]
mov ecx, eax
add cl, al
and cl, 0x8c
sub al, cl
add al, 0xc6
mov byte [0x45249b], al
movzx eax, byte [0x4523cc]
mov ecx, eax
add cl, al
and cl, 0xbc
sub al, cl
add al, 0x5e
mov byte [0x45249c], al
mov eax, 0x650cba55
xor eax, dword [0x4523cd]
mov dword [0x45249d], eax
movzx eax, byte [0x4523d1]
xor al, 0x89
mov byte [0x4524a1], al
movzx eax, byte [str._rh_f]
xor al, 0x15
mov byte [str.__M_], al
movzx eax, byte [0x4523d3]
xor al, 0x38
mov byte [0x4524a3], al
movzx eax, byte [0x4523d4]
mov ecx, eax
add cl, al
and cl, 0xbc
sub al, cl
add al, 0x5e
mov byte [0x4524a4], al
movups xmm0, xmmword [0x4523d5]
xorps xmm0, xmmword [0x446590]
movups xmmword [0x4524a5], xmm0
movzx eax, byte [0x4523e5]
mov ecx, eax
add cl, al
and cl, 0x30
sub al, cl
add al, 0x18
mov byte [0x4524b5], al
movzx eax, byte [0x4523e6]
xor al, 0xa8
mov byte [0x4524b6], al
movzx eax, byte [0x4523e7]
xor al, 0xb4
mov byte [0x4524b7], al
movzx eax, byte [0x4523e8]
xor al, 0x2b
mov byte [0x4524b8], al
movzx eax, byte [0x4523e9]
mov ecx, eax
add cl, al
and cl, 0x28
sub al, cl
add al, 0x14
mov byte [str.C_KMN], al
movsd xmm0, qword [0x4523ea]
xorps xmm0, xmmword [0x4465a0]
movlps qword [0x4524ba], xmm0
mov eax, 0x7649c241
xor eax, dword [0x4523f2]
mov dword [0x4524c2], eax
movzx eax, byte [0x4523f6]
xor al, 0x7a
mov byte [0x4524c6], al
movzx eax, byte [0x4523f7]
mov ecx, eax
add cl, al
and cl, 0xd2
sub al, cl
add al, 0x69
mov byte [0x4524c7], al
movsd xmm0, qword [0x4523f8]
xorps xmm0, xmmword [0x4465b0]
movlps qword [0x4524c8], xmm0
movaps xmm0, xmmword [0x452400]
xorps xmm0, xmmword [0x4465c0]
movss dword [0x4524d0], xmm0
movzx eax, byte [0x452404]
xor al, 0x18
mov byte [0x4524d4], al
movzx eax, byte [0x452405]
mov ecx, eax
add cl, al
and cl, 0xe0
sub al, cl
add al, 0x70
mov byte [0x4524d5], al
movzx eax, byte [0x452406]
xor al, 0x6d
mov byte [0x4524d6], al
movzx eax, byte [0x452407]
xor al, 0x9b
mov byte [0x4524d7], al
movzx eax, byte [0x452408]
xor al, 0xdd
mov byte [0x4524d8], al
movzx eax, byte [0x452409]
mov ecx, eax
add cl, al
and cl, 0x54
sub al, cl
add al, 0x2a
mov byte [0x4524d9], al
movzx eax, byte [0x45240a]
xor al, 0x1c
mov byte [0x4524da], al
movzx eax, byte [0x45240b]
mov ecx, eax
add cl, al
and cl, 0x7a
sub al, cl
add al, 0x3d
mov byte [0x4524db], al
mov eax, 0xbbc02e08
xor eax, dword [0x45240c]
mov dword [0x4524dc], eax
movzx eax, byte [0x452410]
mov ecx, eax
add cl, al
and cl, 0xf2
sub al, cl
add al, 0xf9
mov byte [0x4524e0], al
movzx eax, byte [0x452411]
mov ecx, eax
add cl, al
and cl, 0x1c
sub al, cl
add al, 0xe
mov byte [0x4524e1], al
movzx eax, byte [0x452412]
xor al, 0x61
mov byte [0x4524e2], al
movzx eax, byte [0x452413]
mov ecx, eax
add cl, al
and cl, 0x54
sub al, cl
add al, 0xaa
mov byte [str.g], al
movzx eax, byte [0x452414]
xor al, 0x9d
mov byte [0x4524e4], al
movzx eax, byte [0x452415]
mov ecx, eax
add cl, al
and cl, 0xfc
sub al, cl
add al, 0x7e
mov byte [0x4524e5], al
movzx eax, byte [0x452416]
xor al, 0x73
mov byte [0x4524e6], al
movzx eax, byte [0x452417]
xor al, 0xac
mov byte [0x4524e7], al
movzx eax, byte [0x452418]
mov ecx, eax
add cl, al
and cl, 0xe2
sub al, cl
add al, 0xf1
mov byte [0x4524e8], al
mov eax, dword [ebp + 0xc]
mov dword [0x4595f4], 1
push eax
mov ebx, esp
cmp esi, 0x24
ja 0x436162
cmp esi, 1
je 0x436162
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 0x43607e
cmp esi, 0xa
je 0x43608c
cmp esi, 0x10
jne 0x436060
mov dword [ebp - 0x10], ebx
cmp ecx, 0x100
jb 0x4360f3
mov edx, ecx
nop word cs:[eax + eax]
mov dword [ebp - 0x14], edx
mov edx, ecx
and edx, 0xfd
mov esi, ecx
and esi, 2
mov ebx, esi
xor ebx, 2
imul ebx, edx
or edx, 2
imul edx, esi
movzx eax, byte [edx + ebx + 0x452701]
mov byte [edi - 1], al
movzx eax, byte [edx + ebx + 0x452700]
mov edx, dword [ebp - 0x14]
mov byte [edi - 2], al
add edi, 0xfffffffe
shr edx, 8
cmp ecx, 0xffff
mov ecx, edx
ja 0x436000
cmp edx, 0xf
ja 0x4360fa
jmp 0x43612e
mov eax, ecx
xor edx, edx
div esi
movzx edx, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [edi - 1], dl
dec edi
cmp ecx, esi
mov ecx, eax
jae 0x436060
mov dword [ebx], edi
jmp 0x436160
lea eax, [edi - 1]
mov dword [ebx], eax
mov byte [edi - 1], 0x30
jmp 0x436160
mov dword [ebp - 0x10], ebx
cmp ecx, 0x64
jb 0x436127
nop dword [eax + eax]
mov eax, ecx
mov edx, 0x51eb851f
mul edx
shr edx, 5
imul esi, edx, 0x64
mov eax, ecx
sub eax, esi
mov ebx, eax
and ebx, 0x7d
mov esi, eax
and esi, 2
or eax, 2
imul eax, esi
xor esi, 2
imul esi, ebx
movzx ebx, byte [esi + eax + 0x452421]
mov byte [edi - 1], bl
movzx eax, byte [esi + eax + 0x452420]
mov byte [edi - 2], al
add edi, 0xfffffffe
cmp ecx, 0x270f
mov ecx, edx
ja 0x4360a0
cmp edx, 9
jbe 0x43612e
jmp 0x436142
mov edx, ecx
cmp edx, 0xf
jbe 0x43612e
mov eax, edx
and eax, 0xfffffd
mov ecx, edx
and ecx, 2
or edx, 2
imul edx, ecx
xor ecx, 2
imul ecx, eax
movzx eax, byte [ecx + edx + 0x452701]
mov byte [edi - 1], al
movzx eax, byte [ecx + edx + 0x452700]
jmp 0x436155
mov edx, ecx
cmp edx, 9
ja 0x436142
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
lea ecx, [edi - 1]
mov ebx, dword [ebp - 0x10]
mov dword [ebx], ecx
mov byte [edi - 1], al
jmp 0x436160
movzx eax, byte [edx + edx + 0x452421]
mov byte [edi - 1], al
movzx eax, byte [edx + edx + 0x452420]
lea ecx, [edi - 2]
mov ebx, dword [ebp - 0x10]
mov dword [ebx], ecx
mov byte [edi - 2], al
mov eax, dword [ebx]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret