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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x2c
mov eax, dword [0x484ea8]
test eax, eax
mov eax, 0xaa6ec85a
mov ecx, 0x7b235869
cmove ecx, eax
mov dword [ebp - 0x38], ecx
mov eax, 0xc24b8c51
xor ecx, ecx
cmp eax, 0x1a7d33a
setl cl
mov ecx, dword [ecx*4 + 0x472f84]
mov edx, 0xa12cfe6a
xor edx, dword [0x472f8c]
add ecx, edx
inc ecx
jmp ecx
wait
push edi
inc edi
add byte [edx + 0x4759aa], ah
mov dword [0x4759ab], ecx
movzx eax, byte [0x47579f]
mov ecx, eax
not cl
or cl, 0x63
or al, 0x9c
and al, cl
mov byte [0x4759af], al
movzx eax, byte [0x4757a0]
xor al, 0x20
mov byte [0x4759b0], al
movzx eax, byte [0x4757a1]
mov ecx, eax
add cl, al
and cl, 0x8a
sub al, cl
add al, 0x45
mov byte [0x4759b1], al
movzx eax, byte [0x4757a2]
mov ecx, eax
add cl, al
and cl, 0xcc
sub al, cl
add al, 0x66
mov ecx, 0x79e068bc
xor ecx, dword [0x4757a3]
mov byte [0x4759b2], al
mov dword [0x4759b3], ecx
movzx eax, byte [0x4757a7]
xor al, 0x3c
mov byte [0x4759b7], al
movzx eax, byte [0x4757a8]
mov ecx, eax
add cl, al
and cl, 0x2c
sub al, cl
add al, 0x16
mov byte [0x4759b8], al
movzx eax, byte [0x4757a9]
xor al, 0x86
mov byte [0x4759b9], al
movzx eax, byte [0x4757aa]
xor al, 0x39
mov byte [0x4759ba], al
movzx eax, byte [0x4757ab]
mov ecx, eax
add cl, al
and cl, 2
sub al, cl
add al, 0x81
mov byte [0x4759bb], al
movzx eax, byte [0x4757ac]
mov ecx, eax
add cl, al
and cl, 0x28
sub al, cl
add al, 0x14
mov byte [0x4759bc], al
movzx eax, byte [0x4757ad]
mov ecx, eax
not cl
or al, 0x53
or cl, 0xac
and cl, al
not cl
mov byte [0x4759bd], cl
movzx eax, byte [0x4757ae]
mov ecx, eax
add cl, al
and cl, 0xaa
sub al, cl
add al, 0xd5
mov byte [0x4759be], al
mov eax, 0x25af0831
xor eax, dword [0x4757af]
mov dword [0x4759bf], eax
movzx eax, byte [0x4757b3]
xor al, 4
mov byte [0x4759c3], al
movzx eax, byte [0x4757b4]
xor al, 0x35
mov byte [0x4759c4], al
movzx eax, byte [0x4757b5]
xor al, 0xe7
mov byte [0x4759c5], al
movzx eax, byte [0x4757b6]
mov ecx, eax
add cl, al
and cl, 0x18
sub al, cl
add al, 0xc
mov byte [0x4759c6], al
mov eax, 0x6385e07d
xor eax, dword [0x4757b7]
mov dword [0x4759c7], eax
movzx eax, byte [0x4757bb]
xor al, 0x61
mov byte [0x4759cb], al
movzx eax, byte [0x4757bc]
mov ecx, eax
not cl
or cl, 0xfc
or al, 3
and al, cl
mov byte [0x4759cc], al
movsd xmm0, qword [0x4757bd]
xorps xmm0, xmmword [0x461650]
movlps qword [0x4759cd], xmm0
movzx eax, byte [0x4757c5]
mov ecx, eax
add cl, al
and cl, 0x64
sub al, cl
add al, 0x32
mov byte [0x4759d5], al
movsd xmm0, qword [0x4757c6]
xorps xmm0, xmmword [0x461660]
movlps qword [0x4759d6], xmm0
mov eax, 0x98bcafba
xor eax, dword [0x4757ce]
mov dword [0x4759de], eax
movzx eax, byte [0x4757d2]
xor al, 1
mov byte [0x4759e2], al
movzx eax, byte [0x4757d3]
mov ecx, eax
add cl, al
and cl, 0xba
sub al, cl
add al, 0x5d
mov byte [0x4759e3], al
movzx eax, byte [0x4757d4]
xor al, 0xdd
mov byte [0x4759e4], al
movzx eax, byte [0x4757d5]
xor al, 0xfc
mov byte [0x4759e5], al
movzx eax, byte [0x4757d6]
mov ecx, eax
add cl, al
and cl, 0xa6
sub al, cl
add al, 0x53
mov byte [0x4759e6], al
movsd xmm0, qword [0x4757d7]
xorps xmm0, xmmword [0x461670]
movlps qword [0x4759e7], xmm0
movzx eax, byte [0x4757df]
mov ecx, eax
not cl
or cl, 0xe1
or al, 0x1e
and al, cl
mov byte [0x4759ef], al
movzx eax, byte [0x4757e0]
mov ecx, eax
not cl
or al, 0xc2
or cl, 0x3d
and cl, al
not cl
mov byte [0x4759f0], cl
movzx eax, byte [0x4757e1]
xor al, 0x93
mov byte [0x4759f1], al
movzx eax, byte [0x4757e2]
xor al, 0xc2
mov byte [0x4759f2], al
movzx eax, byte [0x4757e3]
mov ecx, eax
not cl
or cl, 0x47
or al, 0xb8
and al, cl
mov byte [0x4759f3], al
movzx eax, byte [0x4757e4]
xor al, 0xc3
mov byte [0x4759f4], al
movzx eax, byte [0x4757e5]
mov ecx, eax
add cl, al
and cl, 0xe
sub al, cl
add al, 0x87
mov byte [0x4759f5], al
movzx eax, byte [0x4757e6]
mov ecx, eax
add cl, al
and cl, 0x28
sub al, cl
add al, 0x14
mov byte [0x4759f6], al
movsd xmm0, qword [0x4757e7]
xorps xmm0, xmmword [0x461680]
movlps qword [0x4759f7], xmm0
movzx eax, byte [0x4757ef]
xor al, 0xe4
mov byte [0x4759ff], al
movzx eax, byte [0x4757f0]
xor al, 0x72
mov byte [0x475a00], al
movzx eax, byte [0x4757f1]
xor al, 0xbc
mov byte [0x475a01], al
movzx eax, byte [0x4757f2]
mov ecx, eax
add cl, al
and cl, 0x3e
sub al, cl
add al, 0x1f
mov byte [0x475a02], al
movzx eax, byte [0x4757f3]
xor al, 0x46
mov byte [0x475a03], al
movzx eax, byte [0x4757f4]
mov ecx, eax
add cl, al
and cl, 0xd0
sub al, cl
add al, 0xe8
mov ecx, 0xbd921b10
xor ecx, dword [str.Q_I]
mov byte [0x475a04], al
mov dword [0x475a05], ecx
movzx eax, byte [0x4757f9]
xor al, 0x64
mov byte [0x475a09], al
movzx eax, byte [0x4757fa]
mov ecx, eax
add cl, al
sub al, cl
add al, 0x7f
mov byte [0x475a0a], al
movzx eax, byte [0x4757fb]
xor al, 0x5d
mov byte [0x475a0b], al
movzx eax, byte [0x4757fc]
mov ecx, eax
add cl, al
and cl, 0xda
sub al, cl
add al, 0xed
mov byte [0x475a0c], al
movzx eax, byte [0x4757fd]
xor al, 0x85
mov byte [0x475a0d], al
movzx eax, byte [0x4757fe]
xor al, 0xce
mov byte [0x475a0e], al
movzx eax, byte [0x4757ff]
mov ecx, eax
add cl, al
and cl, 8
sub al, cl
add al, 0x84
mov byte [0x475a0f], al
movzx eax, byte [0x475800]
xor al, 0xe4
mov byte [0x475a10], al
movzx eax, byte [0x475801]
xor al, 0xc9
mov byte [0x475a11], al
movzx eax, byte [0x475802]
mov ecx, eax
add cl, al
and cl, 0x2a
sub al, cl
add al, 0x95
mov byte [0x475a12], al
mov eax, 0x43501df3
xor eax, dword [0x475803]
mov dword [0x475a13], eax
movzx eax, byte [0x475807]
xor al, 0xcb
mov byte [0x475a17], al
movzx eax, byte [0x475808]
mov ecx, eax
add cl, al
and cl, 0xe2
sub al, cl
add al, 0x71
mov byte [0x475a18], al
movzx eax, byte [0x475809]
mov ecx, eax
add cl, al
and cl, 0x60
sub al, cl
add al, 0xb0
mov byte [0x475a19], al
mov eax, 0xa5deaf7
xor eax, dword [0x47580a]
mov dword [0x475a1a], eax
movzx eax, byte [0x47580e]
mov ecx, eax
add cl, al
and cl, 0x86
sub al, cl
add al, 0x43
mov byte [0x475a1e], al
movsd xmm0, qword [0x47580f]
xorps xmm0, xmmword [str.m_WD]
movlps qword [0x475a1f], xmm0
mov eax, 0xfaf5cbff
xor eax, dword [0x475817]
mov dword [0x475a27], eax
movzx eax, byte [0x47581b]
xor al, 0x2a
mov byte [0x475a2b], al
movzx eax, byte [0x47581c]
xor al, 0x5c
mov byte [0x475a2c], al
movzx eax, byte [0x47581d]
xor al, 0x11
mov byte [0x475a2d], al
movzx eax, byte [0x47581e]
mov ecx, eax
add cl, al
and cl, 0x36
sub al, cl
add al, 0x9b
mov byte [0x475a2e], al
movsd xmm0, qword [0x47581f]
xorps xmm0, xmmword [0x4616a0]
movlps qword [0x475a2f], xmm0
movzx eax, byte [0x475827]
mov ecx, eax
add cl, al
and cl, 0x14
sub al, cl
add al, 0xa
mov byte [0x475a37], al
movzx eax, byte [0x475828]
xor al, 0x7f
mov byte [0x475a38], al
movzx eax, byte [0x475829]
xor al, 0x51
mov byte [0x475a39], al
movzx eax, byte [0x47582a]
xor al, 0xd6
mov byte [0x475a3a], al
movzx eax, byte [0x47582b]
mov ecx, eax
add cl, al
and cl, 0x64
sub al, cl
add al, 0xb2
mov byte [0x475a3b], al
movzx eax, byte [0x47582c]
xor al, 0xa2
mov byte [0x475a3c], al
movzx eax, byte [0x47582d]
xor al, 0x14
mov byte [0x475a3d], al
movzx eax, byte [0x47582e]
xor al, 0x58
mov byte [0x475a3e], al
movzx eax, byte [0x47582f]
mov ecx, eax
add cl, al
and cl, 0x62
sub al, cl
add al, 0x31
movsd xmm0, qword [0x475830]
xorps xmm0, xmmword [0x4616b0]
mov byte [0x475a3f], al
mov eax, 0xc33b7bb1
xor eax, dword [0x475838]
movlps qword [0x475a40], xmm0
mov dword [0x475a48], eax
movzx eax, byte [0x47583c]
xor al, 0x7f
mov byte [0x475a4c], al
movzx eax, byte [0x47583d]
mov ecx, eax
not cl
or al, 0xa0
or cl, 0x5f
and cl, al
not cl
mov byte [0x475a4d], cl
movzx eax, byte [0x47583e]
xor al, 0xe8
mov byte [0x475a4e], al
movzx eax, byte [0x47583f]
xor al, 0x61
mov byte [0x475a4f], al
movzx eax, byte [0x475840]
mov ecx, eax
add cl, al
and cl, 0x42
sub al, cl
add al, 0x21
mov byte [0x475a50], al
movzx eax, byte [0x475841]
xor al, 0xcb
mov byte [0x475a51], al
movzx eax, byte [0x475842]
mov ecx, eax
add cl, al
and cl, 0x18
sub al, cl
add al, 0xc
mov byte [0x475a52], al
movzx eax, byte [0x475843]
xor al, 0x90
mov byte [0x475a53], al
movzx eax, byte [0x475844]
xor al, 0x88
mov byte [0x475a54], al
movzx eax, byte [0x475845]
xor al, 0x10
mov byte [0x475a55], al
movzx eax, byte [0x475846]
mov ecx, eax
add cl, al
and cl, 0xe0
sub al, cl
add al, 0xf0
mov byte [0x475a56], al
movzx eax, byte [0x475847]
xor al, 0x96
mov byte [0x475a57], al
movzx eax, byte [0x475848]
mov ecx, eax
add cl, al
and cl, 0x52
sub al, cl
add al, 0x29
mov byte [0x475a58], al
movzx eax, byte [0x475849]
xor al, 0x96
mov byte [0x475a59], al
movzx eax, byte [0x47584a]
xor al, 0xa9
mov byte [0x475a5a], al
movzx eax, byte [0x47584b]
xor al, 0x6a
mov byte [0x475a5b], al
movzx eax, byte [0x47584c]
mov ecx, eax
add cl, al
and cl, 0xea
sub al, cl
add al, 0x75
mov byte [0x475a5c], al
movzx eax, byte [0x47584d]
mov ecx, eax
not cl
or al, 0x69
or cl, 0x96
and cl, al
not cl
mov eax, 0xe036b96d
xor eax, dword [0x47584e]
mov byte [0x475a5d], cl
mov dword [0x475a5e], eax
movzx eax, byte [0x475852]
mov ecx, eax
not cl
or cl, 0x28
or al, 0xd7
and al, cl
mov byte [0x475a62], al
movzx eax, byte [0x475853]
xor al, 0x16
mov byte [0x475a63], al
movzx eax, byte [0x475854]
xor al, 0xaa
mov byte [0x475a64], al
movzx eax, byte [0x475855]
mov ecx, eax
add cl, al
and cl, 0x2e
sub al, cl
add al, 0x97
mov byte [0x475a65], al
movzx eax, byte [0x475856]
mov ecx, eax
add cl, al
and cl, 0x5c
sub al, cl
add al, 0x2e
mov byte [0x475a66], al
movzx eax, byte [0x475857]
mov ecx, eax
not cl
or cl, 0x5f
or al, 0xa0
and al, cl
mov byte [0x475a67], al
movzx eax, byte [0x475858]
mov ecx, eax
not cl
or cl, 0xa4
or al, 0x5b
and al, cl
mov byte [0x475a68], al
mov eax, 0x8588c555
xor eax, dword [0x475859]
mov dword [0x475a69], eax
movzx eax, byte [0x47585d]
mov ecx, eax
add cl, al
and cl, 0x7a
sub al, cl
add al, 0x3d
mov ecx, 0x65c7f463
xor ecx, dword [0x47585e]
mov byte [0x475a6d], al
mov dword [0x475a6e], ecx
movzx eax, byte [0x475862]
xor al, 0x5d
mov byte [0x475a72], al
movzx eax, byte [0x475863]
xor al, 0x7c
mov byte [0x475a73], al
movzx eax, byte [0x475864]
xor al, 0x6d
mov byte [0x475a74], al
movzx eax, byte [0x475865]
mov ecx, eax
add cl, al
and cl, 0x42
sub al, cl
add al, 0x21
mov byte [0x475a75], al
movzx eax, byte [0x475866]
xor al, 0xa9
mov byte [0x475a76], al
movzx eax, byte [0x475867]
xor al, 0xb8
mov byte [0x475a77], al
movzx eax, byte [0x475868]
mov ecx, eax
add cl, al
and cl, 0xc
sub al, cl
add al, 6
mov byte [0x475a78], al
movzx eax, byte [0x475869]
mov ecx, eax
add cl, al
and cl, 0xdc
sub al, cl
add al, 0x6e
mov byte [0x475a79], al
movzx eax, byte [0x47586a]
xor al, 0x27
mov byte [0x475a7a], al
movzx eax, byte [0x47586b]
xor al, 0x85
mov byte [0x475a7b], al
movzx eax, byte [0x47586c]
mov ecx, eax
not cl
or al, 0x5f
or cl, 0xa0
and cl, al
not cl
mov byte [0x475a7c], cl
movzx eax, byte [0x47586d]
xor al, 0x95
mov byte [0x475a7d], al
movzx eax, byte [0x47586e]
mov ecx, eax
add cl, al
and cl, 0x18
sub al, cl
add al, 0xc
mov byte [0x475a7e], al
movzx eax, byte [0x47586f]
xor al, 0x1f
mov byte [0x475a7f], al
movzx eax, byte [0x475870]
xor al, 0xb5
mov byte [0x475a80], al
movzx eax, byte [0x475871]
xor al, 0xc7
mov byte [0x475a81], al
movzx eax, byte [0x475872]
mov ecx, eax
add cl, al
and cl, 0x40
sub al, cl
add al, 0xa0
mov ecx, 0x7ce2a68e
xor ecx, dword [0x475873]
mov byte [0x475a82], al
mov dword [0x475a83], ecx
movzx eax, byte [0x475877]
xor al, 0xa8
mov byte [0x475a87], al
movzx eax, byte [0x475878]
xor al, 0x2c
mov byte [0x475a88], al
movzx eax, byte [0x475879]
xor al, 0x6b
mov byte [0x475a89], al
movzx eax, byte [0x47587a]
mov ecx, eax
add cl, al
and cl, 0xbe
sub al, cl
add al, 0xdf
mov byte [0x475a8a], al
movzx eax, byte [0x47587b]
xor al, 0x73
mov byte [0x475a8b], al
movzx eax, byte [0x47587c]
xor al, 0xd4
mov byte [0x475a8c], al
movzx eax, byte [0x47587d]
xor al, 0x78
mov byte [0x475a8d], al
movzx eax, byte [0x47587e]
mov ecx, eax
add cl, al
and cl, 0x9e
sub al, cl
add al, 0x4f
mov byte [0x475a8e], al
movzx eax, byte [0x47587f]
xor al, 0x5d
mov byte [0x475a8f], al
movzx eax, byte [0x475880]
add al, 0x80
mov byte [0x475a90], al
movzx eax, byte [0x475881]
mov ecx, eax
add cl, al
and cl, 0x32
sub al, cl
add al, 0x99
mov byte [0x475a91], al
movzx eax, byte [0x475882]
mov ecx, eax
add cl, al
and cl, 0xba
sub al, cl
add al, 0x5d
mov byte [0x475a92], al
movzx eax, byte [0x475883]
xor al, 0xa6
mov byte [0x475a93], al
movzx eax, byte [0x475884]
mov ecx, eax
not cl
or cl, 0xf7
or al, 8
and al, cl
mov byte [0x475a94], al
movzx eax, byte [0x475885]
xor al, 0x46
mov byte [0x475a95], al
movzx eax, byte [0x475886]
xor al, 0x78
mov byte [0x475a96], al
movzx eax, byte [0x475887]
xor al, 0xc2
mov byte [0x475a97], al
movzx eax, byte [0x475888]
mov ecx, eax
add cl, al
and cl, 0xfa
sub al, cl
add al, 0xfd
mov byte [0x475a98], al
movzx eax, byte [0x475889]
xor al, 0x3a
mov byte [0x475a99], al
movzx eax, byte [0x47588a]
xor al, 0xb8
mov byte [0x475a9a], al
movzx eax, byte [0x47588b]
mov ecx, eax
add cl, al
and cl, 0x76
sub al, cl
add al, 0x3b
mov byte [0x475a9b], al
movzx eax, byte [0x47588c]
mov ecx, eax
add cl, al
and cl, 0x84
sub al, cl
add al, 0x42
mov byte [0x475a9c], al
movzx eax, byte [0x47588d]
mov ecx, eax
add cl, al
and cl, 0xc4
sub al, cl
add al, 0xe2
mov byte [0x475a9d], al
mov eax, 0x331aea95
xor eax, dword [0x47588e]
mov dword [0x475a9e], eax
movzx eax, byte [0x475892]
xor al, 0x54
mov byte [str._tQ_3], al
movzx eax, byte [0x475893]
xor al, 0x7f
mov byte [0x475aa3], al
movzx eax, byte [0x475894]
mov ecx, eax
add cl, al
and cl, 0x1c
sub al, cl
add al, 0xe
mov byte [0x475aa4], al
movzx eax, byte [0x475895]
mov ecx, eax
add cl, al
and cl, 0x80
add cl, al
add cl, 0xc0
mov byte [0x475aa5], cl
movzx eax, byte [0x475896]
xor al, 0x91
mov byte [0x475aa6], al
movzx eax, byte [0x475897]
mov ecx, eax
not cl
or al, 0x66
or cl, 0x99
and cl, al
not cl
mov byte [0x475aa7], cl
movzx eax, byte [0x475898]
xor al, 0xda
mov byte [0x475aa8], al
movzx eax, byte [0x475899]
mov ecx, eax
not cl
or al, 0x79
or cl, 0x86
and cl, al
not cl
mov byte [0x475aa9], cl
movzx eax, byte [0x47589a]
xor al, 0x8f
mov byte [0x475aaa], al
movzx eax, byte [0x47589b]
mov ecx, eax
not cl
or cl, 0xa9
or al, 0x56
and al, cl
mov byte [0x475aab], al
add byte [edi], cl
mov dh, 5
pushfd
pop eax
inc edi
add byte [ecx - 0x7f3eff3f], cl
loope 0x442673
stosd dword es:[edi], eax
pop edx
inc edi
add byte [edi], cl
mov dh, 5
pushfd
pop eax
inc edi
add byte [ecx - 0x7f3eff3f], cl
loope 0x442673
sub al, cl
add al, 0x77
mov byte [0x475aac], al
movzx eax, byte [0x47589d]
mov ecx, eax
add cl, al
and cl, 0xb6
sub al, cl
add al, 0x5b
mov byte [0x475aad], al
movsd xmm0, qword [0x47589e]
xorps xmm0, xmmword [0x4616c0]
movlps qword [0x475aae], xmm0
movzx eax, byte [0x4758a6]
xor al, 0xb9
mov byte [0x475ab6], al
movzx eax, byte [0x4758a7]
xor al, 0x19
mov byte [0x475ab7], al
movzx eax, byte [0x4758a8]
mov ecx, eax
add cl, al
and cl, 0x8c
sub al, cl
add al, 0x46
mov byte [0x475ab8], al
movzx eax, byte [0x4758a9]
mov ecx, eax
add cl, al
and cl, 0xe2
sub al, cl
add al, 0x71
mov byte [0x475ab9], al
mov eax, 0x3275816a
xor eax, dword [0x4758aa]
mov dword [0x475aba], eax
movzx eax, byte [0x4758ae]
mov ecx, eax
add cl, al
and cl, 0x84
sub al, cl
add al, 0xc2
mov byte [0x475abe], al
movzx eax, byte [0x4758af]
xor al, 0x72
mov byte [0x475abf], al
movzx eax, byte [0x4758b0]
xor al, 0xf3
mov byte [0x475ac0], al
movzx eax, byte [0x4758b1]
mov ecx, eax
add cl, al
and cl, 0x36
sub al, cl
add al, 0x9b
mov byte [0x475ac1], al
mov eax, 0xe45bbba
xor eax, dword [0x4758b2]
mov dword [0x475ac2], eax
movzx eax, byte [0x4758b6]
xor al, 0xf
mov byte [0x475ac6], al
movzx eax, byte [0x4758b7]
xor al, 0x4d
mov byte [0x475ac7], al
movzx eax, byte [0x4758b8]
xor al, 0x7b
mov byte [0x475ac8], al
movzx eax, byte [0x4758b9]
mov ecx, eax
not cl
or cl, 0x35
or al, 0xca
and al, cl
mov byte [0x475ac9], al
mov eax, 0x25e65936
xor eax, dword [0x4758ba]
mov dword [0x475aca], eax
movzx eax, byte [0x4758be]
xor al, 0xf6
mov byte [0x475ace], al
movzx eax, byte [0x4758bf]
xor al, 0x7a
mov byte [0x475acf], al
movzx eax, byte [0x4758c0]
xor al, 0x68
mov byte [0x475ad0], al
movzx eax, byte [0x4758c1]
mov ecx, eax
add cl, al
and cl, 0x60
sub al, cl
add al, 0xb0
mov byte [0x475ad1], al
movzx eax, byte [0x4758c2]
xor al, 0x96
mov byte [0x475ad2], al
movzx eax, byte [0x4758c3]
xor al, 0x39
mov byte [0x475ad3], al
movzx eax, byte [0x4758c4]
mov ecx, eax
add cl, al
and cl, 0x4e
sub al, cl
add al, 0xa7
mov byte [0x475ad4], al
movzx eax, byte [0x4758c5]
mov ecx, eax
add cl, al
and cl, 0x2a
sub al, cl
add al, 0x15
mov byte [0x475ad5], al
movzx eax, byte [0x4758c6]
mov ecx, eax
add cl, al
and cl, 0xbc
sub al, cl
add al, 0xde
mov byte [0x475ad6], al
movsd xmm0, qword [0x4758c7]
xorps xmm0, xmmword [0x4616d0]
movlps qword [0x475ad7], xmm0
mov eax, 0xcec3afd2
xor eax, dword [0x4758cf]
mov dword [0x475adf], eax
movzx eax, byte [0x4758d3]
xor al, 2
mov byte [0x475ae3], al
movzx eax, byte [0x4758d4]
mov ecx, eax
add cl, al
and cl, 0x26
sub al, cl
add al, 0x93
mov ecx, 0x511d5bdf
xor ecx, dword [0x4758d5]
mov byte [0x475ae4], al
mov dword [0x475ae5], ecx
movzx eax, byte [0x4758d9]
xor al, 0x43
mov byte [0x475ae9], al
movzx eax, byte [0x4758da]
mov ecx, eax
not cl
or cl, 0x19
or al, 0xe6
and al, cl
mov byte [0x475aea], al
movzx eax, byte [0x4758db]
xor al, 0x3c
mov byte [0x475aeb], al
movzx eax, byte [0x4758dc]
not al
mov byte [0x475aec], al
movzx eax, byte [0x4758dd]
mov ecx, eax
add cl, al
and cl, 0x8c
sub al, cl
add al, 0xc6
mov byte [str.x9_], al
mov eax, 0x5cf971d1
xor eax, dword [0x4758de]
mov dword [0x475aee], eax
movzx eax, byte [0x4758e2]
xor al, 0xad
mov byte [0x475af2], al
movzx eax, byte [0x4758e3]
mov ecx, eax
add cl, al
and cl, 0x30
sub al, cl
add al, 0x98
mov byte [0x475af3], al
movzx eax, byte [str.Czz_r]
mov ecx, eax
not cl
or cl, 0xf9
or al, 6
and al, cl
mov byte [0x475af4], al
movzx eax, byte [0x4758e5]
xor al, 0x48
mov byte [0x475af5], al
movzx eax, byte [0x4758e6]
mov ecx, eax
add cl, al
and cl, 0x7e
sub al, cl
add al, 0x3f
mov byte [0x475af6], al
movsd xmm0, qword [0x4758e7]
xorps xmm0, xmmword [0x4616e0]
movlps qword [0x475af7], xmm0
movzx eax, byte [0x4758ef]
xor al, 0xbf
mov byte [0x475aff], al
movzx eax, byte [0x4758f0]
xor al, 0x64
mov byte [0x475b00], al
movzx eax, byte [0x4758f1]
xor al, 0xa7
mov byte [0x475b01], al
movzx eax, byte [0x4758f2]
mov ecx, eax
add cl, al
and cl, 0xc6
sub al, cl
add al, 0xe3
mov byte [0x475b02], al
movzx eax, byte [0x4758f3]
xor al, 0xdc
mov byte [0x475b03], al
movzx eax, byte [0x4758f4]
xor al, 0x98
mov byte [0x475b04], al
movzx eax, byte [0x4758f5]
mov ecx, eax
add cl, al
and cl, 0xd8
sub al, cl
add al, 0xec
mov byte [0x475b05], al
mov eax, 0xa8fafe3d
xor eax, dword [0x4758f6]
mov dword [str._a3_b], eax
movzx eax, byte [0x4758fa]
xor al, 0x77
mov byte [0x475b0a], al
movzx eax, byte [0x4758fb]
xor al, 0xaf
mov byte [0x475b0b], al
movzx eax, byte [0x4758fc]
mov ecx, eax
not cl
or al, 0x4d
or cl, 0xb2
and cl, al
not cl
mov byte [0x475b0c], cl
movzx eax, byte [0x4758fd]
xor al, 0xdc
mov byte [0x475b0d], al
movzx eax, byte [0x4758fe]
xor al, 0x7d
mov byte [0x475b0e], al
movzx eax, byte [0x4758ff]
xor al, 0x58
mov byte [0x475b0f], al
movzx eax, byte [0x475900]
mov ecx, eax
not cl
or cl, 0x67
or al, 0x98
and al, cl
mov byte [0x475b10], al
movzx eax, byte [0x475901]
mov ecx, eax
add cl, al
and cl, 0x86
sub al, cl
add al, 0x43
mov ecx, 0x2ae6301e
xor ecx, dword [0x475902]
mov byte [0x475b11], al
mov dword [0x475b12], ecx
movzx eax, byte [0x475906]
mov ecx, eax
add cl, al
and cl, 0x78
sub al, cl
add al, 0x3c
mov byte [0x475b16], al
movzx eax, byte [0x475907]
xor al, 0x21
mov byte [0x475b17], al
movzx eax, byte [0x475908]
xor al, 0x30
mov byte [0x475b18], al
movzx eax, byte [0x475909]
mov ecx, eax
add cl, al
and cl, 0xe6
sub al, cl
add al, 0xf3
mov byte [0x475b19], al
movzx eax, byte [0x47590a]
xor al, 0x3b
mov byte [0x475b1a], al
movzx eax, byte [0x47590b]
mov ecx, eax
not cl
or al, 0x93
or cl, 0x6c
and cl, al
not cl
mov byte [0x475b1b], cl
movzx eax, byte [0x47590c]
mov ecx, eax
add cl, al
and cl, 0x9a
sub al, cl
add al, 0xcd
mov byte [0x475b1c], al
mov eax, 0x1b48bcb3
xor eax, dword [0x47590d]
mov dword [0x475b1d], eax
movzx eax, byte [0x475911]
mov ecx, eax
add cl, al
and cl, 0xec
sub al, cl
add al, 0x76
mov byte [0x475b21], al
mov eax, 0x3c07edea
xor eax, dword [0x475912]
mov dword [0x475b22], eax
movzx eax, byte [0x475916]
mov ecx, eax
add cl, al
and cl, 0xf2
sub al, cl
add al, 0x79
movsd xmm0, qword [0x475917]
xorps xmm0, xmmword [0x4616f0]
mov byte [0x475b26], al
movlps qword [0x475b27], xmm0
movzx eax, byte [0x47591f]
xor al, 0x97
mov byte [0x475b2f], al
movzx eax, byte [0x475920]
xor al, 0xbf
mov byte [0x475b30], al
mov eax, dword [ebp + 0xc]
mov dword [0x484ec0], 1
push eax
mov edi, esp
cmp esi, 0x24
ja 0x442d6a
cmp esi, 1
je 0x442d6a
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
lea ebx, [eax + edx]
dec ebx
mov byte [eax + edx - 1], 0
test ecx, ecx
je 0x442c6a
cmp esi, 0xa
je 0x442c78
cmp esi, 0x10
jne 0x442cf4
cmp ecx, 0x100
jb 0x442d20
mov eax, ecx
nop word [eax + eax]
mov edx, ecx
movzx ecx, dl
mov esi, edx
add ecx, ecx
movzx edx, byte [ecx + 0x475931]
mov byte [ebx - 1], dl
movzx ecx, byte [ecx + 0x475930]
mov byte [ebx - 2], cl
add ebx, 0xfffffffe
shr eax, 8
cmp esi, 0xffff
mov ecx, eax
ja 0x442c20
cmp eax, 0xf
ja 0x442d2b
movzx eax, byte [eax + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
lea ecx, [ebx - 1]
mov dword [edi], ecx
mov byte [ebx - 1], al
jmp 0x442d68
lea eax, [ebx - 1]
mov dword [edi], eax
mov byte [ebx - 1], 0x30
jmp 0x442d68
mov dword [ebp - 0x10], edi
cmp ecx, 0x64
jb 0x442d43
nop word cs:[eax + eax]
mov eax, ecx
mov edx, 0x51eb851f
mul edx
shr edx, 5
imul edi, edx, 0x64
mov eax, ecx
sub eax, edi
mov edi, eax
and edi, 0x7d
mov esi, eax
and esi, 2
or eax, 2
imul eax, esi
xor esi, 2
imul esi, edi
mov edi, ecx
movzx ecx, byte [esi + eax + 0x475c11]
mov byte [ebx - 1], cl
movzx eax, byte [esi + eax + 0x475c10]
mov byte [ebx - 2], al
add ebx, 0xfffffffe
cmp edi, 0x270f
mov ecx, edx
ja 0x442c90
cmp edx, 9
ja 0x442d4a
dec ebx
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov edi, dword [ebp - 0x10]
mov dword [edi], ebx
mov byte [ebx], al
jmp 0x442d68
mov dword [ebp - 0x10], edi
nop word [eax + eax]
mov eax, ecx
xor edx, edx
div esi
mov edi, ecx
movzx ecx, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ebx - 1], cl
dec ebx
cmp edi, esi
mov ecx, eax
jae 0x442d00
mov edi, dword [ebp - 0x10]
mov dword [edi], ebx
jmp 0x442d68
mov eax, ecx
cmp eax, 0xf
jbe 0x442c56
movzx ecx, byte [eax + eax + 0x475931]
mov byte [ebx - 1], cl
movzx eax, byte [eax + eax + 0x475930]
lea ecx, [ebx - 2]
jmp 0x442d63
mov edx, ecx
cmp edx, 9
jbe 0x442ce3
movzx eax, byte [edx + edx + 0x475c11]
mov byte [ebx - 1], al
movzx eax, byte [edx + edx + 0x475c10]
lea ecx, [ebx - 2]
mov edi, dword [ebp - 0x10]
mov dword [edi], ecx
mov byte [ebx - 2], al
mov eax, dword [edi]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret