Function at 0x4198e0
Capabilities:
Authenticate hmac

Disassembly:
push ebx
push edi
push esi
mov esi, dword [esp + 0x1c]
mov eax, dword [0x477ee4]
test eax, eax
jne 0x41b592
movsd xmm0, qword [0x45efe0]
xorps xmm0, xmmword [0x459a40]
movlps qword [0x45f0b0], xmm0
movzx eax, byte [0x45efe8]
mov ecx, eax
add cl, al
and cl, 0xa4
sub al, cl
add al, 0xd2
mov byte [0x45f0b8], al
movzx eax, byte [0x45efe9]
xor al, 0x68
mov byte [0x45f0b9], al
movzx eax, byte [0x45efea]
mov ecx, eax
add cl, al
and cl, 0x5e
sub al, cl
add al, 0x2f
mov byte [0x45f0ba], al
movzx eax, byte [0x45efeb]
mov ecx, eax
add cl, al
and cl, 0x66
sub al, cl
add al, 0x33
mov byte [str.__aP], al
movzx eax, byte [0x45efec]
mov ecx, eax
add cl, al
and cl, 0x30
sub al, cl
add al, 0x18
mov byte [0x45f0bc], al
movsd xmm0, qword [0x45efed]
xorps xmm0, xmmword [0x459a50]
movlps qword [0x45f0bd], xmm0
movzx eax, byte [0x45eff5]
xor al, 0xd4
mov byte [0x45f0c5], al
movzx eax, byte [0x45eff6]
xor al, 0xc5
mov byte [0x45f0c6], al
movzx eax, byte [0x45eff7]
xor al, 1
mov byte [0x45f0c7], al
movzx eax, byte [0x45eff8]
mov ecx, eax
add cl, al
and cl, 0x42
sub al, cl
add al, 0x21
mov byte [0x45f0c8], al
movzx eax, byte [0x45eff9]
xor al, 0xf5
mov byte [0x45f0c9], al
movzx eax, byte [0x45effa]
xor al, 0x49
mov byte [0x45f0ca], al
movzx eax, byte [0x45effb]
xor al, 0x82
mov byte [0x45f0cb], al
movzx eax, byte [0x45effc]
mov ecx, eax
add cl, al
and cl, 0xb2
sub al, cl
add al, 0x59
mov byte [0x45f0cc], al
movzx eax, byte [0x45effd]
mov ecx, eax
add cl, al
and cl, 0x16
sub al, cl
add al, 0xb
mov byte [0x45f0cd], al
movzx eax, byte [0x45effe]
xor al, 0x5c
mov byte [0x45f0ce], al
movzx eax, byte [0x45efff]
mov ecx, eax
add cl, al
and cl, 0x60
sub al, cl
add al, 0xb0
movsd xmm0, qword [0x45f000]
xorps xmm0, xmmword [0x459a60]
mov byte [0x45f0cf], al
mov eax, 0xdd0c3064
xor eax, dword [0x45f008]
movlps qword [0x45f0d0], xmm0
mov dword [0x45f0d8], eax
movzx eax, byte [0x45f00c]
mov ecx, eax
add cl, al
and cl, 6
sub al, cl
add al, 0x83
mov byte [0x45f0dc], al
movzx eax, byte [0x45f00d]
xor al, 0xdc
mov byte [0x45f0dd], al
movzx eax, byte [0x45f00e]
xor al, 0x47
mov byte [0x45f0de], al
movzx eax, byte [0x45f00f]
mov ecx, eax
add cl, al
and cl, 2
sub al, cl
inc al
mov byte [0x45f0df], al
movzx eax, byte [0x45f010]
xor al, 0xe2
mov byte [0x45f0e0], al
movzx eax, byte [0x45f011]
xor al, 0x70
mov byte [0x45f0e1], al
movzx eax, byte [0x45f012]
mov ecx, eax
not cl
or cl, 0xd
or al, 0xf2
and al, cl
mov byte [0x45f0e2], al
movzx eax, byte [0x45f013]
mov ecx, eax
add cl, al
and cl, 0x3a
sub al, cl
add al, 0x1d
mov byte [0x45f0e3], al
movzx eax, byte [0x45f014]
xor al, 0x89
mov byte [0x45f0e4], al
movzx eax, byte [0x45f015]
xor al, 0x9e
mov byte [0x45f0e5], al
movzx eax, byte [0x45f016]
mov ecx, eax
add cl, al
and cl, 0x18
sub al, cl
add al, 0x8c
mov byte [0x45f0e6], al
mov eax, 0x9581cfd4
xor eax, dword [0x45f017]
mov dword [0x45f0e7], eax
movzx eax, byte [0x45f01b]
xor al, 0x39
mov byte [0x45f0eb], al
movzx eax, byte [0x45f01c]
xor al, 0xe7
mov byte [0x45f0ec], al
movzx eax, byte [0x45f01d]
xor al, 0x2c
mov byte [str.__vP], al
movzx eax, byte [0x45f01e]
mov ecx, eax
add cl, al
and cl, 0xf0
sub al, cl
add al, 0xf8
mov byte [0x45f0ee], al
mov eax, 0x6a0ddd7a
xor eax, dword [0x45f01f]
mov dword [0x45f0ef], eax
movzx eax, byte [0x45f023]
xor al, 0xf0
mov byte [0x45f0f3], al
movzx eax, byte [0x45f024]
xor al, 0x66
mov byte [0x45f0f4], al
movzx eax, byte [0x45f025]
xor al, 0x94
mov byte [0x45f0f5], al
movzx eax, byte [0x45f026]
mov ecx, eax
add cl, al
and cl, 2
sub al, cl
inc al
mov byte [0x45f0f6], al
movzx eax, byte [0x45f027]
mov ecx, eax
add cl, al
and cl, 0x66
sub al, cl
add al, 0xb3
mov byte [0x45f0f7], al
movzx eax, byte [0x45f028]
mov ecx, eax
not cl
or cl, 0x36
or al, 0xc9
and al, cl
mov byte [0x45f0f8], al
movsd xmm0, qword [str._v4mw]
xorps xmm0, xmmword [0x459a70]
movlps qword [0x45f0f9], xmm0
movzx eax, byte [0x45f031]
mov ecx, eax
add cl, al
and cl, 0x40
sub al, cl
add al, 0x20
mov byte [0x45f101], al
movzx eax, byte [0x45f032]
xor al, 0xec
mov byte [0x45f102], al
movzx eax, byte [0x45f033]
mov ecx, eax
add cl, al
and cl, 0xae
sub al, cl
add al, 0x57
mov byte [0x45f103], al
movzx eax, byte [0x45f034]
xor al, 0xca
mov byte [0x45f104], al
movzx eax, byte [0x45f035]
mov ecx, eax
not cl
or al, 0x1e
or cl, 0xe1
and cl, al
not cl
mov byte [0x45f105], cl
movzx eax, byte [0x45f036]
xor al, 0x4b
mov byte [0x45f106], al
movzx eax, byte [0x45f037]
mov ecx, eax
add cl, al
and cl, 0xf2
sub al, cl
add al, 0x79
mov byte [0x45f107], al
movzx eax, byte [0x45f038]
xor al, 0xc3
mov byte [0x45f108], al
movzx eax, byte [0x45f039]
mov ecx, eax
add cl, al
and cl, 0x5e
sub al, cl
add al, 0x2f
mov byte [0x45f109], al
mov eax, 0x2651c0e
xor eax, dword [0x45f03a]
mov dword [0x45f10a], eax
movzx eax, byte [0x45f03e]
xor al, 0xe9
mov byte [0x45f10e], al
movzx eax, byte [0x45f03f]
mov byte [0x45f10f], al
movzx eax, byte [0x45f040]
mov ecx, eax
not cl
or cl, 0x6f
or al, 0x90
and al, cl
mov byte [0x45f110], al
movzx eax, byte [0x45f041]
xor al, 0xe1
mov byte [0x45f111], al
movzx eax, byte [0x45f042]
mov ecx, eax
add cl, al
and cl, 0x22
sub al, cl
add al, 0x11
mov byte [0x45f112], al
movzx eax, byte [0x45f043]
xor al, 0xc9
mov byte [0x45f113], al
movzx eax, byte [0x45f044]
xor al, 0xc5
mov byte [0x45f114], al
movzx eax, byte [0x45f045]
xor al, 0xc4
mov byte [0x45f115], al
movzx eax, byte [0x45f046]
mov ecx, eax
add cl, al
and cl, 0x68
sub al, cl
add al, 0x34
mov byte [0x45f116], al
movsd xmm0, qword [0x45f047]
xorps xmm0, xmmword [0x459a80]
movlps qword [0x45f117], xmm0
movzx eax, byte [0x45f04f]
mov ecx, eax
add cl, al
and cl, 0x20
sub al, cl
add al, 0x90
mov byte [0x45f11f], al
movzx eax, byte [0x45f050]
mov ecx, eax
add cl, al
and cl, 0x68
sub al, cl
add al, 0x34
mov byte [0x45f120], al
movzx eax, byte [0x45f051]
xor al, 0x7c
mov byte [0x45f121], al
movzx eax, byte [0x45f052]
xor al, 0x18
mov byte [0x45f122], al
movzx eax, byte [0x45f053]
mov ecx, eax
not cl
or al, 0xa1
or cl, 0x5e
and cl, al
not cl
mov byte [0x45f123], cl
mov eax, 0x2a01d36e
xor eax, dword [0x45f054]
mov dword [0x45f124], eax
movzx eax, byte [0x45f058]
xor al, 0x3a
mov byte [0x45f128], al
movzx eax, byte [0x45f059]
xor al, 0x85
mov byte [0x45f129], al
movzx eax, byte [0x45f05a]
xor al, 0x53
mov byte [0x45f12a], al
movzx eax, byte [0x45f05b]
mov ecx, eax
add cl, al
and cl, 0x48
sub al, cl
add al, 0x24
mov byte [0x45f12b], al
movzx eax, byte [0x45f05c]
xor al, 0x7b
mov byte [0x45f12c], al
movzx eax, byte [0x45f05d]
xor al, 0x4c
mov byte [0x45f12d], al
movzx eax, byte [0x45f05e]
mov ecx, eax
add cl, al
and cl, 0x9a
sub al, cl
add al, 0xcd
mov byte [0x45f12e], al
movzx eax, byte [0x45f05f]
xor al, 0xd
mov byte [0x45f12f], al
movzx eax, byte [0x45f060]
xor al, 0x63
mov byte [0x45f130], al
movzx eax, byte [0x45f061]
xor al, 0x87
mov byte [0x45f131], al
movzx eax, byte [0x45f062]
mov byte [0x45f132], al
movzx eax, byte [0x45f063]
xor al, 0xb8
mov byte [0x45f133], al
movzx eax, byte [0x45f064]
xor al, 0x55
mov byte [0x45f134], al
movzx eax, byte [0x45f065]
xor al, 0x2c
mov byte [0x45f135], al
movzx eax, byte [0x45f066]
mov ecx, eax
add cl, al
and cl, 0x62
sub al, cl
add al, 0xb1
mov byte [0x45f136], al
movzx eax, byte [0x45f067]
mov ecx, eax
add cl, al
and cl, 0x12
sub al, cl
add al, 0x89
mov byte [0x45f137], al
movzx eax, byte [0x45f068]
xor al, 0x4d
mov byte [0x45f138], al
movzx eax, byte [0x45f069]
mov ecx, eax
add cl, al
and cl, 0xa
sub al, cl
add al, 0x85
mov byte [0x45f139], al
movzx eax, byte [0x45f06a]
mov ecx, eax
add cl, al
and cl, 0xa0
sub al, cl
add al, 0xd0
mov byte [0x45f13a], al
movzx eax, byte [0x45f06b]
xor al, 0x8d
mov byte [0x45f13b], al
movzx eax, byte [0x45f06c]
xor al, 0xa6
mov byte [0x45f13c], al
movzx eax, byte [0x45f06d]
mov ecx, eax
not cl
or al, 0x48
or cl, 0xb7
and cl, al
not cl
mov byte [0x45f13d], cl
movzx eax, byte [0x45f06e]
mov ecx, eax
add cl, al
and cl, 0x90
sub al, cl
add al, 0x48
mov byte [0x45f13e], al
movzx eax, byte [0x45f06f]
mov ecx, eax
add cl, al
and cl, 0x74
sub al, cl
add al, 0x3a
mov byte [0x45f13f], al
movzx eax, byte [0x45f070]
xor al, 0x61
mov byte [0x45f140], al
movzx eax, byte [0x45f071]
xor al, 0x8e
mov byte [0x45f141], al
movzx eax, byte [0x45f072]
mov ecx, eax
add cl, al
and cl, 0x70
sub al, cl
add al, 0x38
mov byte [0x45f142], al
movzx eax, byte [0x45f073]
xor al, 8
mov byte [str._1_e], al
movzx eax, byte [0x45f074]
xor al, 0xab
mov byte [0x45f144], al
movzx eax, byte [0x45f075]
mov ecx, eax
not cl
or cl, 0x48
or al, 0xb7
and al, cl
mov byte [0x45f145], al
movzx eax, byte [0x45f076]
xor al, 0xc6
mov byte [0x45f146], al
movzx eax, byte [0x45f077]
xor al, 0x8b
mov byte [0x45f147], al
movzx eax, byte [0x45f078]
mov ecx, eax
add cl, al
and cl, 8
sub al, cl
add al, 4
mov byte [0x45f148], al
movzx eax, byte [0x45f079]
mov ecx, eax
add cl, al
and cl, 0x12
sub al, cl
add al, 9
mov byte [0x45f149], al
movzx eax, byte [0x45f07a]
xor al, 0x2b
mov byte [0x45f14a], al
movzx eax, byte [0x45f07b]
xor al, 0xc1
mov byte [0x45f14b], al
movzx eax, byte [0x45f07c]
xor al, 0x6e
mov byte [0x45f14c], al
movzx eax, byte [0x45f07d]
mov ecx, eax
add cl, al
and cl, 0xbc
sub al, cl
add al, 0x5e
mov byte [0x45f14d], al
movzx eax, byte [0x45f07e]
xor al, 0x87
mov byte [0x45f14e], al
movzx eax, byte [0x45f07f]
xor al, 0x18
mov byte [0x45f14f], al
movzx eax, byte [0x45f080]
mov ecx, eax
add cl, al
and cl, 0xd6
sub al, cl
add al, 0xeb
mov ecx, 0xac373af8
xor ecx, dword [0x45f081]
mov byte [0x45f150], al
mov dword [0x45f151], ecx
movzx eax, byte [0x45f085]
xor al, 0x5b
mov byte [0x45f155], al
movzx eax, byte [0x45f086]
mov ecx, eax
add cl, al
and cl, 0xe4
sub al, cl
add al, 0xf2
mov byte [0x45f156], al
movzx eax, byte [0x45f087]
xor al, 0xb3
mov byte [0x45f157], al
movzx eax, byte [0x45f088]
mov ecx, eax
not cl
or al, 0xb3
or cl, 0x4c
and cl, al
not cl
mov byte [0x45f158], cl
movzx eax, byte [0x45f089]
xor al, 0x91
mov byte [0x45f159], al
movzx eax, byte [0x45f08a]
xor al, 0xe2
mov byte [0x45f15a], al
movzx eax, byte [0x45f08b]
mov ecx, eax
add cl, al
and cl, 0x36
sub al, cl
add al, 0x1b
mov byte [0x45f15b], al
movzx eax, byte [0x45f08c]
mov ecx, eax
not cl
or al, 0x5e
or cl, 0xa1
and cl, al
not cl
mov byte [0x45f15c], cl
mov eax, 0xec24cdd6
xor eax, dword [0x45f08d]
mov dword [0x45f15d], eax
movzx eax, byte [0x45f091]
xor al, 0xc7
mov byte [0x45f161], al
movzx eax, byte [0x45f092]
mov byte [0x45f162], al
mov eax, 0xf8c6576c
xor eax, dword [0x45f093]
mov dword [0x45f163], eax
movzx eax, byte [0x45f097]
mov byte [0x45f167], al
mov eax, 0xb635e094
xor eax, dword [0x45f098]
mov dword [0x45f168], eax
movzx eax, byte [0x45f09c]
mov ecx, eax
not cl
or cl, 0x36
or al, 0xc9
and al, cl
mov byte [0x45f16c], al
movzx eax, byte [0x45f09d]
xor al, 0xd8
mov byte [0x45f16d], al
movzx eax, byte [0x45f09e]
xor al, 0xf4
mov byte [0x45f16e], al
movzx eax, byte [0x45f09f]
xor al, 0x98
mov byte [0x45f16f], al
movzx eax, byte [0x45f0a0]
mov ecx, eax
add cl, al
and cl, 0xd8
sub al, cl
add al, 0x6c
mov byte [0x45f170], al
movzx eax, byte [0x45f0a1]
mov ecx, eax
add cl, al
and cl, 0x9e
sub al, cl
add al, 0x4f
mov byte [0x45f171], al
mov eax, 0x24ca94bc
xor eax, dword [0x45f0a2]
mov dword [0x45f172], eax
movzx eax, byte [0x45f0a6]
xor al, 0x1b
mov byte [0x45f176], al
movzx eax, byte [0x45f0a7]
xor al, 0xc2
mov byte [0x45f177], al
movzx eax, byte [0x45f0a8]
mov ecx, eax
add cl, al
and cl, 0xd8
sub al, cl
add al, 0xec
mov byte [0x45f178], al
movzx eax, byte [0x45f180]
xor al, 0xe
mov byte [0x45f390], al
movzx eax, byte [0x45f181]
xor al, 0x9a
mov byte [0x45f391], al
movzx eax, byte [0x45f182]
mov ecx, eax
add cl, al
and cl, 0xca
sub al, cl
add al, 0x65
mov byte [0x45f392], al
movsd xmm0, qword [0x45f183]
xorps xmm0, xmmword [0x459a90]
movlps qword [0x45f393], xmm0
movzx eax, byte [0x45f18b]
mov ecx, eax
not cl
or cl, 0x8d
or al, 0x72
and al, cl
mov byte [0x45f39b], al
movzx eax, byte [0x45f18c]
xor al, 0xdc
mov byte [0x45f39c], al
movzx eax, byte [0x45f18d]
mov ecx, eax
add cl, al
and cl, 0x2e
sub al, cl
add al, 0x97
mov byte [0x45f39d], al
mov eax, 0x31940c1b
xor eax, dword [0x45f18e]
mov dword [0x45f39e], eax
movzx eax, byte [0x45f192]
xor al, 0xd0
mov byte [str.NyY_], al
movzx eax, byte [0x45f193]
mov ecx, eax
add cl, al
and cl, 0x2e
sub al, cl
add al, 0x17
mov byte [0x45f3a3], al
movzx eax, byte [0x45f194]
xor al, 0x72
mov byte [0x45f3a4], al
movzx eax, byte [0x45f195]
xor al, 0x6f
mov byte [0x45f3a5], al
movzx eax, byte [0x45f196]
xor al, 0x51
mov byte [0x45f3a6], al
movzx eax, byte [0x45f197]
mov ecx, eax
add cl, al
and cl, 0x48
sub al, cl
add al, 0x24
movsd xmm0, qword [0x45f198]
xorps xmm0, xmmword [0x459aa0]
mov byte [0x45f3a7], al
movaps xmm1, xmmword [0x45f1a0]
xorps xmm1, xmmword [0x459ab0]
movlps qword [0x45f3a8], xmm0
movss dword [0x45f3b0], xmm1
movzx eax, byte [0x45f1a4]
xor al, 0x8a
mov byte [0x45f3b4], al
movzx eax, byte [0x45f1a5]
mov ecx, eax
add cl, al
and cl, 0xe8
sub al, cl
add al, 0x74
mov byte [0x45f3b5], al
movzx eax, byte [0x45f1a6]
xor al, 0x19
mov byte [0x45f3b6], al
movzx eax, byte [0x45f1a7]
xor al, 0x27
mov byte [0x45f3b7], al
movzx eax, byte [0x45f1a8]
xor al, 0xd
mov byte [0x45f3b8], al
movzx eax, byte [0x45f1a9]
mov ecx, eax
add cl, al
and cl, 0x44
sub al, cl
add al, 0xa2
mov byte [0x45f3b9], al
movzx eax, byte [0x45f1aa]
xor al, 0xc2
mov byte [0x45f3ba], al
movzx eax, byte [0x45f1ab]
mov ecx, eax
add cl, al
and cl, 0xa8
sub al, cl
add al, 0xd4
mov ecx, 0xe4b75e4a
xor ecx, dword [0x45f1ac]
mov byte [0x45f3bb], al
mov dword [str.cU_t], ecx
movzx eax, byte [0x45f1b0]
xor al, 0x83
mov byte [0x45f3c0], al
movzx eax, byte [0x45f1b1]
xor al, 0x79
mov byte [0x45f3c1], al
movzx eax, byte [0x45f1b2]
mov ecx, eax
add cl, al
and cl, 0x4c
sub al, cl
add al, 0xa6
mov byte [0x45f3c2], al
movzx eax, byte [0x45f1b3]
xor al, 0x3a
mov byte [0x45f3c3], al
movzx eax, byte [0x45f1b4]
mov ecx, eax
add cl, al
and cl, 0xc0
sub al, cl
add al, 0x60
mov byte [0x45f3c4], al
movsd xmm0, qword [0x45f1b5]
xorps xmm0, xmmword [0x459ac0]
movlps qword [0x45f3c5], xmm0
movzx eax, byte [str._e3q]
mov ecx, eax
add cl, al
and cl, 0xb4
sub al, cl
add al, 0xda
mov byte [0x45f3cd], al
movzx eax, byte [0x45f1be]
xor al, 0x45
mov byte [0x45f3ce], al
movzx eax, byte [0x45f1bf]
xor al, 0x90
mov byte [0x45f3cf], al
movzx eax, byte [0x45f1c0]
xor al, 0x67
mov byte [0x45f3d0], al
movzx eax, byte [0x45f1c1]
mov ecx, eax
not cl
or cl, 0xf7
or al, 8
and al, cl
mov byte [0x45f3d1], al
mov eax, 0x3f6d2ce9
xor eax, dword [0x45f1c2]
mov dword [0x45f3d2], eax
movzx eax, byte [0x45f1c6]
xor al, 0xb1
mov byte [0x45f3d6], al
movzx eax, byte [0x45f1c7]
mov ecx, eax
not cl
or al, 0xbd
or cl, 0x42
and cl, al
not cl
mov byte [0x45f3d7], cl
mov eax, 0xc581238a
xor eax, dword [0x45f1c8]
mov dword [0x45f3d8], eax
movzx eax, byte [0x45f1cc]
xor al, 0xc2
mov byte [0x45f3dc], al
movzx eax, byte [0x45f1cd]
xor al, 0xc6
mov byte [0x45f3dd], al
movzx eax, byte [0x45f1ce]
mov ecx, eax
not cl
or al, 0x85
or cl, 0x7a
and cl, al
not cl
mov byte [0x45f3de], cl
mov eax, 0x592de57b
xor eax, dword [0x45f1cf]
mov dword [0x45f3df], eax
movzx eax, byte [0x45f1d3]
xor al, 3
mov byte [0x45f3e3], al
movzx eax, byte [0x45f1d4]
xor al, 0x7a
mov byte [0x45f3e4], al
movzx eax, byte [0x45f1d5]
mov ecx, eax
add cl, al
and cl, 0xc0
sub al, cl
add al, 0xe0
mov byte [0x45f3e5], al
movzx eax, byte [0x45f1d6]
xor al, 0x9c
mov byte [0x45f3e6], al
movzx eax, byte [0x45f1d7]
xor al, 0xbe
mov byte [0x45f3e7], al
movzx eax, byte [0x45f1d8]
mov ecx, eax
add cl, al
and cl, 0x22
sub al, cl
add al, 0x91
mov byte [0x45f3e8], al
movzx eax, byte [0x45f1d9]
mov ecx, eax
add cl, al
and cl, 0xa6
sub al, cl
add al, 0xd3
mov byte [0x45f3e9], al
movzx eax, byte [0x45f1da]
xor al, 0x3d
mov byte [0x45f3ea], al
movzx eax, byte [0x45f1db]
mov ecx, eax
add cl, al
and cl, 0x9e
sub al, cl
add al, 0xcf
mov byte [0x45f3eb], al
mov eax, 0xe3b51a1a
xor eax, dword [0x45f1dc]
mov dword [0x45f3ec], eax
movzx eax, byte [0x45f1e0]
xor al, 0xf2
mov byte [0x45f3f0], al
movzx eax, byte [0x45f1e1]
mov ecx, eax
add cl, al
and cl, 0x3c
sub al, cl
add al, 0x9e
mov ecx, 0xa8392c60
xor ecx, dword [0x45f1e2]
mov byte [0x45f3f1], al
mov dword [0x45f3f2], ecx
movzx eax, byte [str.P_bh]
xor al, 0xed
mov byte [0x45f3f6], al
movzx eax, byte [0x45f1e7]
xor al, 0x7d
mov byte [0x45f3f7], al
movzx eax, byte [0x45f1e8]
xor al, 0x75
mov byte [0x45f3f8], al
movzx eax, byte [0x45f1e9]
mov ecx, eax
not cl
or cl, 0x96
or al, 0x69
and al, cl
mov byte [0x45f3f9], al
movzx eax, byte [0x45f1ea]
xor al, 0xe0
mov byte [0x45f3fa], al
movzx eax, byte [0x45f1eb]
mov ecx, eax
not cl
or cl, 0xdd
or al, 0x22
and al, cl
mov byte [0x45f3fb], al
movups xmm0, xmmword [0x45f1ec]
xorps xmm0, xmmword [0x459ad0]
movups xmmword [0x45f3fc], xmm0
movsd xmm0, qword [0x45f1fc]
xorps xmm0, xmmword [str.3_he7]
movlps qword [0x45f40c], xmm0
movzx eax, byte [0x45f204]
xor al, 0x27
mov byte [0x45f414], al
movzx eax, byte [0x45f205]
xor al, 0xd2
mov byte [0x45f415], al
movzx eax, byte [0x45f206]
xor al, 0x52
mov byte [0x45f416], al
movzx eax, byte [0x45f207]
mov ecx, eax
add cl, al
and cl, 0xc
sub al, cl
add al, 6
mov byte [0x45f417], al
movzx eax, byte [0x45f208]
mov ecx, eax
add cl, al
and cl, 0x12
sub al, cl
add al, 9
mov byte [0x45f418], al
movsd xmm0, qword [0x45f209]
xorps xmm0, xmmword [0x459af0]
movlps qword [0x45f419], xmm0
movzx eax, byte [0x45f211]
mov ecx, eax
not cl
or cl, 0xd2
or al, 0x2d
and al, cl
mov byte [0x45f421], al
movzx eax, byte [0x45f212]
xor al, 0xc4
mov byte [0x45f422], al
movzx eax, byte [0x45f213]
mov ecx, eax
add cl, al
and cl, 0x2c
sub al, cl
add al, 0x16
mov byte [0x45f423], al
movzx eax, byte [0x45f214]
xor al, 0x12
mov byte [0x45f424], al
movzx eax, byte [0x45f215]
mov ecx, eax
add cl, al
and cl, 0x60
sub al, cl
add al, 0xb0
mov ecx, 0x84b8ba95
xor ecx, dword [0x45f216]
mov byte [0x45f425], al
mov dword [0x45f426], ecx
movzx eax, byte [0x45f21a]
xor al, 0x97
mov byte [0x45f42a], al
movzx eax, byte [0x45f21b]
mov ecx, eax
add cl, al
and cl, 0xac
sub al, cl
add al, 0x56
mov byte [0x45f42b], al
movzx eax, byte [0x45f21c]
xor al, 0xec
mov byte [0x45f42c], al
movzx eax, byte [0x45f21d]
xor al, 0x6e
mov byte [0x45f42d], al
movzx eax, byte [0x45f21e]
add al, 0x80
mov byte [0x45f42e], al
movzx eax, byte [0x45f21f]
mov ecx, eax
add cl, al
and cl, 0x2a
sub al, cl
add al, 0x15
mov byte [0x45f42f], al
movaps xmm0, xmmword [0x45f220]
xorps xmm0, xmmword [0x459b00]
movss dword [0x45f430], xmm0
movzx eax, byte [0x45f224]
mov ecx, eax
add cl, al
and cl, 0xea
sub al, cl
add al, 0x75
mov byte [0x45f434], al
movzx eax, byte [0x45f225]
mov ecx, eax
add cl, al
and cl, 0xb4
sub al, cl
add al, 0x5a
mov byte [0x45f435], al
movzx eax, byte [0x45f226]
xor al, 0xb1
mov byte [0x45f436], al
movzx eax, byte [0x45f227]
mov ecx, eax
add cl, al
and cl, 0x5c
sub al, cl
add al, 0x2e
mov byte [0x45f437], al
mov eax, 0xebede8c1
xor eax, dword [0x45f228]
mov dword [0x45f438], eax
movzx eax, byte [0x45f22c]
mov ecx, eax
add cl, al
and cl, 0x7c
sub al, cl
add al, 0x3e
mov byte [0x45f43c], al
movzx eax, byte [0x45f22d]
mov ecx, eax
add cl, al
and cl, 0x18
sub al, cl
add al, 0x8c
mov byte [0x45f43d], al
movzx eax, byte [0x45f22e]
xor al, 6
mov byte [0x45f43e], al
movzx eax, byte [0x45f22f]
xor al, 0xb6
mov byte [0x45f43f], al
movzx eax, byte [0x45f230]
mov ecx, eax
add cl, al
and cl, 0xd8
sub al, cl
add al, 0xec
mov byte [0x45f440], al
movzx eax, byte [0x45f231]
xor al, 0x71
mov byte [0x45f441], al
movzx eax, byte [0x45f232]
xor al, 0x63
mov byte [str._v:_Y], al
movzx eax, byte [0x45f233]
mov ecx, eax
add cl, al
and cl, 0x40
sub al, cl
add al, 0x20
mov byte [0x45f443], al
movsd xmm0, qword [0x45f234]
xorps xmm0, xmmword [0x459b10]
movlps qword [0x45f444], xmm0
movzx eax, byte [0x45f23c]
mov ecx, eax
add cl, al
and cl, 0x9e
sub al, cl
add al, 0xcf
mov byte [0x45f44c], al
movzx eax, byte [0x45f23d]
xor al, 0x39
mov byte [0x45f44d], al
movzx eax, byte [0x45f23e]
xor al, 0x3f
mov byte [0x45f44e], al
movzx eax, byte [0x45f23f]
mov ecx, eax
not cl
or al, 0x1f
or cl, 0xe0
and cl, al
not cl
mov byte [0x45f44f], cl
movzx eax, byte [0x45f240]
mov ecx, eax
add cl, al
and cl, 0x22
sub al, cl
add al, 0x11
mov byte [0x45f450], al
mov eax, 0xe8310d8f
xor eax, dword [0x45f241]
mov dword [0x45f451], eax
movzx eax, byte [0x45f245]
xor al, 0xe3
mov byte [0x45f455], al
movzx eax, byte [0x45f246]
mov ecx, eax
add cl, al
and cl, 0x16
sub al, cl
add al, 0x8b
mov byte [0x45f456], al
movzx eax, byte [0x45f247]
xor al, 0x68
mov byte [0x45f457], al
movzx eax, byte [0x45f248]
xor al, 0x66
mov byte [0x45f458], al
movzx eax, byte [0x45f249]
mov ecx, eax
not cl
or al, 0x14
or cl, 0xeb
and cl, al
not cl
mov byte [0x45f459], cl
movsd xmm0, qword [0x45f24a]
xorps xmm0, xmmword [0x459b20]
movlps qword [0x45f45a], xmm0
movzx eax, byte [0x45f252]
xor al, 0xce
mov byte [0x45f462], al
movzx eax, byte [0x45f253]
mov ecx, eax
add cl, al
and cl, 0x1c
sub al, cl
add al, 0x8e
mov byte [0x45f463], al
movzx eax, byte [0x45f254]
xor al, 0x73
mov byte [0x45f464], al
movzx eax, byte [0x45f255]
xor al, 0x96
mov byte [0x45f465], al
movzx eax, byte [0x45f256]
mov ecx, eax
not cl
or cl, 0xd
or al, 0xf2
and al, cl
mov byte [0x45f466], al
movzx eax, byte [0x45f257]
mov ecx, eax
add cl, al
and cl, 0xf4
sub al, cl
add al, 0xfa
mov ecx, 0xe0015bdb
xor ecx, dword [0x45f258]
mov byte [0x45f467], al
mov dword [0x45f468], ecx
movzx eax, byte [0x45f25c]
xor al, 0x61
mov byte [0x45f46c], al
movzx eax, byte [0x45f25d]
xor al, 0xd
mov byte [0x45f46d], al
movzx eax, byte [0x45f25e]
mov ecx, eax
add cl, al
and cl, 0x48
sub al, cl
add al, 0x24
mov byte [0x45f46e], al
movzx eax, byte [0x45f25f]
mov ecx, eax
add cl, al
and cl, 0xd2
sub al, cl
add al, 0xe9
movsd xmm0, qword [0x45f260]
xorps xmm0, xmmword [0x459b30]
mov byte [0x45f46f], al
mov eax, 0x90414380
xor eax, dword [0x45f268]
movlps qword [0x45f470], xmm0
mov dword [0x45f478], eax
movzx eax, byte [0x45f26c]
mov ecx, eax
not cl
or al, 0xe5
or cl, 0x1a
and cl, al
not cl
mov byte [0x45f47c], cl
movzx eax, byte [0x45f26d]
xor al, 0xb
mov byte [0x45f47d], al
movzx eax, byte [0x45f26e]
mov ecx, eax
add cl, al
and cl, 0x14
sub al, cl
add al, 0x8a
mov byte [0x45f47e], al
movzx eax, byte [0x45f26f]
mov ecx, eax
add cl, al
and cl, 0x40
sub al, cl
add al, 0x20
mov byte [0x45f47f], al
movsd xmm0, qword [0x45f270]
xorps xmm0, xmmword [0x459b40]
movlps qword [0x45f480], xmm0
mov eax, 0x4dbcf2e8
xor eax, dword [0x45f278]
mov dword [0x45f488], eax
movzx eax, byte [0x45f27c]
xor al, 0x72
mov byte [0x45f48c], al
movzx eax, byte [0x45f27d]
xor al, 0xf
mov byte [0x45f48d], al
movzx eax, byte [0x45f27e]
xor al, 0xf2
mov byte [0x45f48e], al
movzx eax, byte [0x45f27f]
mov ecx, eax
add cl, al
and cl, 0x20
sub al, cl
add al, 0x90
mov byte [0x45f48f], al
movzx eax, byte [0x45f280]
mov ecx, eax
add cl, al
and cl, 0xf6
sub al, cl
add al, 0x7b
mov ecx, 0x6b8935b0
xor ecx, dword [0x45f281]
mov byte [0x45f490], al
mov dword [0x45f491], ecx
movzx eax, byte [0x45f285]
xor al, 0x44
mov byte [0x45f495], al
movzx eax, byte [0x45f286]
mov ecx, eax
add cl, al
and cl, 0x5c
sub al, cl
add al, 0x2e
mov byte [0x45f496], al
mov eax, 0xd97ddc74
xor eax, dword [0x45f287]
mov dword [0x45f497], eax
movzx eax, byte [0x45f28b]
mov ecx, eax
add cl, al
and cl, 0x46
sub al, cl
add al, 0x23
mov byte [0x45f49b], al
movzx eax, byte [0x45f28c]
xor al, 0xa
mov byte [0x45f49c], al
movzx eax, byte [0x45f28d]
xor al, 0xe3
mov byte [0x45f49d], al
movzx eax, byte [0x45f28e]
xor al, 0x6c
mov byte [0x45f49e], al
movzx eax, byte [0x45f28f]
mov ecx, eax
add cl, al
and cl, 0xa4
sub al, cl
add al, 0xd2
mov byte [0x45f49f], al
movzx eax, byte [0x45f290]
xor al, 0xc7
mov byte [0x45f4a0], al
movzx eax, byte [0x45f291]
mov ecx, eax
add cl, al
and cl, 6
sub al, cl
add al, 0x83
mov byte [0x45f4a1], al
movzx eax, byte [0x45f292]
xor al, 0xcd
mov byte [0x45f4a2], al
movzx eax, byte [0x45f293]
mov ecx, eax
not cl
or cl, 0x42
or al, 0xbd
and al, cl
mov byte [0x45f4a3], al
movsd xmm0, qword [0x45f294]
xorps xmm0, xmmword [0x459b50]
movlps qword [0x45f4a4], xmm0
movzx eax, byte [0x45f29c]
mov ecx, eax
add cl, al
and cl, 0x96
sub al, cl
add al, 0xcb
movsd xmm0, qword [0x45f29d]
xorps xmm0, xmmword [0x459b60]
mov byte [0x45f4ac], al
movlps qword [0x45f4ad], xmm0
movzx eax, byte [0x45f2a5]
mov ecx, eax
add cl, al
and cl, 2
sub al, cl
inc al
mov byte [0x45f4b5], al
mov eax, 0x781fe070
xor eax, dword [0x45f2a6]
mov dword [0x45f4b6], eax
movzx eax, byte [0x45f2aa]
xor al, 0xe6
mov byte [0x45f4ba], al
movzx eax, byte [0x45f2ab]
xor al, 0xad
mov byte [0x45f4bb], al
movzx eax, byte [0x45f2ac]
xor al, 0x70
mov byte [0x45f4bc], al
movzx eax, byte [0x45f2ad]
mov ecx, eax
add cl, al
and cl, 0xc8
sub al, cl
add al, 0x64
mov byte [0x45f4bd], al
mov eax, 0x69aaaf1f
xor eax, dword [0x45f2ae]
mov dword [0x45f4be], eax
movzx eax, byte [0x45f2b2]
xor al, 0xa1
mov byte [0x45f4c2], al
movzx eax, byte [0x45f2b3]
xor al, 0x74
mov byte [0x45f4c3], al
movzx eax, byte [str._ud]
xor al, 0x20
mov byte [0x45f4c4], al
movzx eax, byte [0x45f2b5]
mov ecx, eax
add cl, al
and cl, 0xf8
sub al, cl
add al, 0xfc
mov byte [0x45f4c5], al
movzx eax, byte [0x45f2b6]
xor al, 0x2d
mov byte [0x45f4c6], al
movzx eax, byte [0x45f2b7]
xor al, 0xf7
mov byte [0x45f4c7], al
movzx eax, byte [0x45f2b8]
xor al, 0xf3
mov byte [0x45f4c8], al
movzx eax, byte [0x45f2b9]
mov ecx, eax
add cl, al
and cl, 0x5e
sub al, cl
add al, 0x2f
mov byte [0x45f4c9], al
movzx eax, byte [0x45f2ba]
xor al, 0x16
mov byte [0x45f4ca], al
movzx eax, byte [0x45f2bb]
xor al, 0x83
mov byte [0x45f4cb], al
movzx eax, byte [0x45f2bc]
xor al, 0xaf
mov byte [0x45f4cc], al
movzx eax, byte [0x45f2bd]
mov ecx, eax
not cl
or al, 0x2c
or cl, 0xd3
and cl, al
not cl
movups xmm0, xmmword [0x45f2be]
xorps xmm0, xmmword [0x459b70]
mov byte [0x45f4cd], cl
movsd xmm1, qword [0x45f2ce]
xorps xmm1, xmmword [0x459b80]
movups xmmword [0x45f4ce], xmm0
movlps qword [str.e4_:], xmm1
movzx eax, byte [0x45f2d6]
xor al, 0x86
mov byte [0x45f4e6], al
movzx eax, byte [0x45f2d7]
xor al, 0xcf
mov byte [0x45f4e7], al
movzx eax, byte [0x45f2d8]
xor al, 3
mov byte [0x45f4e8], al
movd xmm0, dword [0x45f2d9]
movdqa xmm1, xmm0
paddb xmm1, xmm0
pand xmm1, xmmword [0x459b90]
psubb xmm0, xmm1
paddb xmm0, xmmword [0x459ba0]
movd dword [0x45f4e9], xmm0
movzx eax, byte [0x45f2dd]
xor al, 9
mov byte [0x45f4ed], al
movzx eax, byte [0x45f2de]
xor al, 0x11
mov byte [0x45f4ee], al
movzx eax, byte [0x45f2df]
xor al, 0x1f
mov byte [0x45f4ef], al
movzx eax, byte [0x45f2e0]
mov ecx, eax
add cl, al
and cl, 0x6e
sub al, cl
add al, 0x37
mov byte [0x45f4f0], al
movzx eax, byte [0x45f2e1]
xor al, 0x5d
mov byte [0x45f4f1], al
movzx eax, byte [0x45f2e2]
xor al, 0xcc
mov byte [0x45f4f2], al
movzx eax, byte [0x45f2e3]
mov ecx, eax
add cl, al
and cl, 0xda
sub al, cl
add al, 0xed
mov byte [0x45f4f3], al
mov eax, 0xc7ee36a3
xor eax, dword [0x45f2e4]
mov dword [0x45f4f4], eax
movzx eax, byte [0x45f2e8]
xor al, 0xf1
mov byte [0x45f4f8], al
movzx eax, byte [0x45f2e9]
mov ecx, eax
add cl, al
and cl, 0x36
sub al, cl
add al, 0x9b
mov byte [0x45f4f9], al
movzx eax, byte [0x45f2ea]
xor al, 0x21
mov byte [0x45f4fa], al
movd xmm0, dword [0x45f2eb]
movdqa xmm1, xmm0
paddb xmm1, xmm0
pand xmm1, xmmword [0x459bb0]
psubb xmm0, xmm1
paddb xmm0, xmmword [0x459bc0]
movd dword [0x45f4fb], xmm0
movzx eax, byte [str._WQh]
mov ecx, eax
not cl
or al, 0x8e
or cl, 0x71
and cl, al
not cl
mov byte [0x45f4ff], cl
movzx eax, byte [0x45f2f0]
xor al, 0x35
mov byte [0x45f500], al
movzx eax, byte [0x45f2f1]
xor al, 0x7a
mov byte [0x45f501], al
movzx eax, byte [0x45f2f2]
mov ecx, eax
add cl, al
and cl, 0xde
sub al, cl
add al, 0xef
mov byte [0x45f502], al
movsd xmm0, qword [0x45f2f3]
xorps xmm0, xmmword [0x459bd0]
movlps qword [0x45f503], xmm0
movzx eax, byte [0x45f2fb]
xor al, 0x7a
mov byte [0x45f50b], al
movzx eax, byte [0x45f2fc]
mov ecx, eax
add cl, al
and cl, 0x9c
sub al, cl
add al, 0xce
mov byte [0x45f50c], al
movzx eax, byte [0x45f2fd]
mov ecx, eax
add cl, al
and cl, 0x52
sub al, cl
add al, 0xa9
mov byte [0x45f50d], al
movsd xmm0, qword [0x45f2fe]
xorps xmm0, xmmword [0x459be0]
movlps qword [0x45f50e], xmm0
movzx eax, byte [0x45f306]
xor al, 0xa1
mov byte [0x45f516], al
movzx eax, byte [0x45f307]
xor al, 0x8b
mov byte [0x45f517], al
movzx eax, byte [0x45f308]
mov ecx, eax
add cl, al
and cl, 0xa2
sub al, cl
add al, 0x51
mov byte [0x45f518], al
movzx eax, byte [0x45f309]
xor al, 0xf5
mov byte [0x45f519], al
movzx eax, byte [0x45f30a]
xor al, 0x8a
mov byte [0x45f51a], al
movzx eax, byte [0x45f30b]
mov ecx, eax
not cl
or al, 0xf4
or cl, 0xb
and cl, al
not cl
mov byte [0x45f51b], cl
movzx eax, byte [0x45f30c]
xor al, 0x63
mov byte [0x45f51c], al
movzx eax, byte [0x45f30d]
xor al, 0x3b
mov byte [0x45f51d], al
movzx eax, byte [0x45f30e]
xor al, 0xfc
mov byte [0x45f51e], al
movzx eax, byte [0x45f30f]
mov ecx, eax
add cl, al
and cl, 0xa2
sub al, cl
add al, 0xd1
mov byte [0x45f51f], al
movzx eax, byte [0x45f310]
xor al, 0xd3
mov byte [0x45f520], al
movzx eax, byte [0x45f311]
xor al, 0xf6
mov byte [0x45f521], al
movzx eax, byte [0x45f312]
mov ecx, eax
add cl, al
and cl, 0x22
sub al, cl
add al, 0x11
mov byte [0x45f522], al
movzx eax, byte [0x45f313]
xor al, 0x4d
mov byte [0x45f523], al
movzx eax, byte [0x45f314]
mov ecx, eax
add cl, al
and cl, 0xe
sub al, cl
add al, 7
mov byte [0x45f524], al
mov eax, 0x7970cee3
xor eax, dword [0x45f315]
mov dword [0x45f525], eax
movzx eax, byte [0x45f319]
mov ecx, eax
not cl
or cl, 0xf9
or al, 6
and al, cl
mov byte [0x45f529], al
movzx eax, byte [0x45f31a]
mov ecx, eax
add cl, al
and cl, 0x66
sub al, cl
add al, 0x33
mov byte [0x45f52a], al
movups xmm0, xmmword [0x45f31b]
xorps xmm0, xmmword [0x459bf0]
movups xmmword [0x45f52b], xmm0
movzx eax, byte [0x45f32b]
mov ecx, eax
not cl
or cl, 0xcc
or al, 0x33
and al, cl
mov byte [0x45f53b], al
movzx eax, byte [0x45f32c]
xor al, 0x15
mov byte [0x45f53c], al
movzx eax, byte [0x45f32d]
mov ecx, eax
add cl, al
and cl, 0x88
sub al, cl
add al, 0xc4
mov ecx, 0xedbfdf38
xor ecx, dword [0x45f32e]
mov byte [0x45f53d], al
mov dword [0x45f53e], ecx
movzx eax, byte [0x45f332]
xor al, 0x73
mov byte [0x45f542], al
movzx eax, byte [0x45f333]
xor al, 0xde
mov byte [0x45f543], al
movzx eax, byte [0x45f334]
mov ecx, eax
not cl
or al, 0x58
or cl, 0xa7
and cl, al
not cl
mov byte [0x45f544], cl
mov eax, 0xa70f28e7
xor eax, dword [0x45f335]
mov dword [0x45f545], eax
movzx eax, byte [0x45f339]
mov ecx, eax
not cl
or cl, 0x94
or al, 0x6b
and al, cl
mov byte [0x45f549], al
movups xmm0, xmmword [0x45f33a]
xorps xmm0, xmmword [0x459c00]
movups xmmword [0x45f54a], xmm0
mov eax, 0x5129b6f
xor eax, dword [0x45f34a]
mov dword [0x45f55a], eax
movzx eax, byte [0x45f34e]
xor al, 0xec
mov byte [0x45f55e], al
movzx eax, byte [0x45f34f]
mov ecx, eax
not cl
or al, 4
or cl, 0xfb
and cl, al
not cl
mov byte [0x45f55f], cl
movzx eax, byte [0x45f350]
mov ecx, eax
add cl, al
and cl, 0x34
sub al, cl
add al, 0x9a
mov byte [0x45f560], al
movzx eax, byte [0x45f351]
xor al, 0x9b
mov byte [0x45f561], al
movzx eax, byte [0x45f352]
mov ecx, eax
not cl
or al, 0xf
or cl, 0xf0
and cl, al
not cl
mov byte [0x45f562], cl
movzx eax, byte [0x45f353]
mov ecx, eax
not cl
or cl, 0x87
or al, 0x78
and al, cl
mov byte [0x45f563], al
movzx eax, byte [0x45f354]
xor al, 0x67
mov byte [0x45f564], al
movzx eax, byte [0x45f355]
xor al, 0xbb
mov byte [0x45f565], al
movzx eax, byte [0x45f356]
mov ecx, eax
add cl, al
and cl, 0x4c
sub al, cl
add al, 0x26
mov byte [0x45f566], al
movzx eax, byte [0x45f357]
xor al, 0x93
mov byte [0x45f567], al
movzx eax, byte [0x45f358]
mov ecx, eax
add cl, al
and cl, 0x4c
sub al, cl
add al, 0x26
mov byte [0x45f568], al
movzx eax, byte [0x45f359]
xor al, 0x25
mov byte [0x45f569], al
movzx eax, byte [0x45f35a]
mov ecx, eax
add cl, al
and cl, 0x90
sub al, cl
add al, 0xc8
mov byte [0x45f56a], al
movsd xmm0, qword [0x45f35b]
xorps xmm0, xmmword [0x459c10]
movlps qword [0x45f56b], xmm0
movzx eax, byte [0x45f363]
xor al, 0xca
mov byte [0x45f573], al
movzx eax, byte [0x45f364]
mov ecx, eax
add cl, al
and cl, 0xe8
sub al, cl
add al, 0xf4
mov byte [0x45f574], al
movzx eax, byte [0x45f365]
mov ecx, eax
add cl, al
and cl, 0x84
sub al, cl
add al, 0x42
mov byte [0x45f575], al
mov eax, 0xa63a55c4
xor eax, dword [0x45f366]
mov dword [0x45f576], eax
movzx eax, byte [0x45f36a]
xor al, 0x46
mov byte [0x45f57a], al
movzx eax, byte [0x45f36b]
mov ecx, eax
not cl
or cl, 0xbc
or al, 0x43
and al, cl
mov byte [0x45f57b], al
movzx eax, byte [0x45f36c]
xor al, 0xb2
mov byte [0x45f57c], al
movzx eax, byte [str.xc]
xor al, 0x1d
mov byte [0x45f57d], al
movzx eax, byte [0x45f36e]
mov ecx, eax
add cl, al
and cl, 0xb4
sub al, cl
add al, 0x5a
mov byte [0x45f57e], al
movzx eax, byte [0x45f36f]
mov ecx, eax
add cl, al
and cl, 0x92
sub al, cl
add al, 0xc9
mov byte [0x45f57f], al
movzx eax, byte [0x45f370]
mov ecx, eax
not cl
or cl, 0x82
or al, 0x7d
and al, cl
mov byte [0x45f580], al
movzx eax, byte [0x45f371]
xor al, 0xf2
mov byte [str.F8P_], al
movzx eax, byte [0x45f372]
xor al, 0xb
mov byte [0x45f582], al
movzx eax, byte [0x45f373]
mov ecx, eax
not cl
or al, 0x8d
or cl, 0x72
and cl, al
not cl
mov byte [0x45f583], cl
movzx eax, byte [0x45f374]
mov ecx, eax
add cl, al
and cl, 0x14
sub al, cl
add al, 0xa
mov byte [0x45f584], al
movzx eax, byte [0x45f375]
xor al, 0x1a
mov byte [0x45f585], al
movzx eax, byte [0x45f376]
xor al, 0x4f
mov byte [0x45f586], al
movzx eax, byte [0x45f377]
xor al, 0xc3
mov byte [0x45f587], al
movzx eax, byte [0x45f378]
mov ecx, eax
not cl
or al, 0x67
or cl, 0x98
and cl, al
not cl
mov byte [0x45f588], cl
movzx eax, byte [0x45f379]
mov ecx, eax
not cl
or cl, 7
or al, 0xf8
and al, cl
mov byte [0x45f589], al
mov eax, 0x882136df
xor eax, dword [0x45f37a]
mov dword [0x45f58a], eax
movzx eax, byte [0x45f37e]
xor al, 0x63
mov byte [str.7iEr], al
movzx eax, byte [0x45f37f]
mov ecx, eax
add cl, al
and cl, 0xf2
sub al, cl
add al, 0x79
mov byte [0x45f58f], al
movzx eax, byte [0x45f380]
mov ecx, eax
add cl, al
and cl, 0x4c
sub al, cl
add al, 0xa6
mov byte [0x45f590], al
mov edx, dword [esp + 0x14]
mov dword [0x477ee4], 1
cmp esi, 0x24
ja 0x41b60b
cmp esi, 1
je 0x41b60b
mov edi, dword [esp + 0x18]
movzx eax, byte [esp + 0x10]
lea ecx, [edx + edi]
dec ecx
mov byte [edx + edi - 1], 0
test al, al
je 0x41b612
cmp esi, 0xa
je 0x41b61c
cmp esi, 0x10
jne 0x41b5f0
movzx edx, al
cmp al, 0xf
ja 0x41b66a
movzx eax, byte [edx + 0x45bca5]
jmp 0x41b6a3
movzx eax, al
xor edx, edx
idiv esi
movzx edx, byte [edx + 0x45bca5]
mov byte [ecx - 1], dl
dec ecx
test al, al
jne 0x41b5f0
jmp 0x41b6db
mov ecx, edx
jmp 0x41b6db
mov byte [ecx - 1], 0x30
dec ecx
jmp 0x41b6db
cmp al, 0x64
jb 0x41b695
movzx edx, al
lea esi, [edx + edx*4]
lea edx, [edx + esi*8]
movzx edx, dx
shr edx, 0xc
imul ebx, edx, 0x64
sub al, bl
movzx eax, al
mov esi, eax
and esi, 2
mov edi, eax
or eax, 2
imul eax, esi
xor esi, 2
and edi, 0x7d
imul edi, esi
movzx ebx, byte [edi + eax + 0x45f0b1]
mov byte [ecx - 1], bl
movzx eax, byte [edi + eax + 0x45f0b0]
mov byte [ecx - 2], al
add ecx, 0xfffffffe
mov eax, edx
jmp 0x41b699
mov eax, edx
and eax, 2
mov esi, edx
or edx, 2
imul edx, eax
xor eax, 2
and esi, 0xfffffffd
imul esi, eax
movzx eax, byte [esi + edx + 0x45f391]
mov byte [ecx - 1], al
movzx eax, byte [esi + edx + 0x45f390]
jmp 0x41b6d5
cmp al, 9
ja 0x41b6a9
movzx eax, al
movzx eax, byte [eax + 0x45bca5]
mov byte [ecx - 1], al
dec ecx
jmp 0x41b6db
movzx eax, al
mov edx, eax
and edx, 0x7d
mov esi, eax
and esi, 2
or eax, 2
imul eax, esi
xor esi, 2
imul esi, edx
movzx edx, byte [esi + eax + 0x45f0b1]
mov byte [ecx - 1], dl
movzx eax, byte [esi + eax + 0x45f0b0]
mov byte [ecx - 2], al
add ecx, 0xfffffffe
mov eax, ecx
pop esi
pop edi
pop ebx
ret