Function at 0x4197d0
Capabilities:
Authenticate hmac

Disassembly:
push ebx
push edi
push esi
mov esi, dword [esp + 0x1c]
mov eax, dword [0x472b4c]
test eax, eax
jne 0x41b3d8
movaps xmm0, xmmword [0x45b230]
xorps xmm0, xmmword [0x455a90]
movss dword [0x45b440], xmm0
movzx eax, byte [0x45b234]
mov ecx, eax
add cl, al
and cl, 0xc0
sub al, cl
add al, 0xe0
movsd xmm0, qword [0x45b235]
xorps xmm0, xmmword [0x455aa0]
mov byte [0x45b444], al
movlps qword [0x45b445], xmm0
movzx eax, byte [0x45b23d]
xor al, 0xc4
mov byte [0x45b44d], al
movzx eax, byte [0x45b23e]
xor al, 0xdc
mov byte [0x45b44e], al
movzx eax, byte [0x45b23f]
mov ecx, eax
not cl
or cl, 0x85
or al, 0x7a
and al, cl
mov byte [0x45b44f], al
movsd xmm0, qword [0x45b240]
xorps xmm0, xmmword [0x455ab0]
movlps qword [0x45b450], xmm0
movzx eax, byte [0x45b248]
xor al, 0xe1
mov byte [0x45b458], al
movzx eax, byte [0x45b249]
mov ecx, eax
not cl
or al, 0x8d
or cl, 0x72
and cl, al
not cl
mov eax, 0x91ec61ac
xor eax, dword [0x45b24a]
mov byte [0x45b459], cl
mov dword [0x45b45a], eax
movzx eax, byte [0x45b24e]
xor al, 0x4f
mov byte [0x45b45e], al
movzx eax, byte [0x45b24f]
xor al, 0x90
mov byte [0x45b45f], al
movzx eax, byte [0x45b250]
xor al, 0x2a
mov byte [0x45b460], al
movzx eax, byte [0x45b251]
mov ecx, eax
add cl, al
and cl, 0xac
sub al, cl
add al, 0x56
mov byte [0x45b461], al
movzx eax, byte [0x45b252]
xor al, 0xc3
mov byte [0x45b462], al
movzx eax, byte [0x45b253]
xor al, 0xdc
mov byte [0x45b463], al
movzx eax, byte [0x45b254]
mov ecx, eax
add cl, al
and cl, 0xdc
sub al, cl
add al, 0x6e
mov byte [0x45b464], al
mov eax, 0xa62bbe42
xor eax, dword [0x45b255]
mov dword [0x45b465], eax
movzx eax, byte [0x45b259]
xor al, 0x4b
mov byte [0x45b469], al
movzx eax, byte [0x45b25a]
xor al, 0x16
mov byte [0x45b46a], al
movzx eax, byte [0x45b25b]
xor al, 0x40
mov byte [0x45b46b], al
movzx eax, byte [0x45b25c]
mov ecx, eax
add cl, al
and cl, 0x1c
sub al, cl
add al, 0xe
mov byte [0x45b46c], al
movzx eax, byte [0x45b25d]
xor al, 0xda
mov byte [0x45b46d], al
movzx eax, byte [0x45b25e]
xor al, 0xa6
mov byte [0x45b46e], al
movzx eax, byte [0x45b25f]
xor al, 0xed
mov byte [0x45b46f], al
movzx eax, byte [0x45b260]
mov ecx, eax
not cl
or cl, 0xeb
or al, 0x14
and al, cl
mov byte [0x45b470], al
mov eax, 0xa65d963b
xor eax, dword [0x45b261]
mov dword [0x45b471], eax
movzx eax, byte [0x45b265]
mov ecx, eax
add cl, al
and cl, 0x50
sub al, cl
add al, 0x28
mov byte [0x45b475], al
movzx eax, byte [0x45b266]
xor al, 0xf9
mov byte [0x45b476], al
movzx eax, byte [0x45b267]
mov ecx, eax
not cl
or cl, 0xea
or al, 0x15
and al, cl
mov byte [0x45b477], al
mov eax, 0x598a02f5
xor eax, dword [0x45b268]
mov dword [0x45b478], eax
movzx eax, byte [0x45b26c]
xor al, 0xb
mov byte [0x45b47c], al
movzx eax, byte [0x45b26d]
mov ecx, eax
add cl, al
and cl, 0xe6
sub al, cl
add al, 0xf3
movsd xmm0, qword [0x45b26e]
xorps xmm0, xmmword [0x455ac0]
mov byte [0x45b47d], al
movlps qword [0x45b47e], xmm0
movzx eax, byte [0x45b276]
mov ecx, eax
add cl, al
and cl, 0x4e
sub al, cl
add al, 0xa7
mov byte [0x45b486], al
movzx eax, byte [0x45b277]
xor al, 0xce
mov byte [0x45b487], al
movzx eax, byte [0x45b278]
add al, 0x80
mov byte [0x45b488], al
movzx eax, byte [0x45b279]
mov ecx, eax
add cl, al
and cl, 0x82
sub al, cl
add al, 0x41
mov ecx, 0xea3097c5
xor ecx, dword [0x45b27a]
mov byte [0x45b489], al
mov dword [0x45b48a], ecx
movzx eax, byte [0x45b27e]
xor al, 0xb7
mov byte [0x45b48e], al
movzx eax, byte [0x45b27f]
xor al, 0xf1
mov byte [0x45b48f], al
movzx eax, byte [0x45b280]
xor al, 0x72
mov byte [0x45b490], al
movzx eax, byte [0x45b281]
mov ecx, eax
add cl, al
and cl, 0xd2
sub al, cl
add al, 0xe9
mov byte [0x45b491], al
movzx eax, byte [0x45b282]
xor al, 0xf9
mov byte [0x45b492], al
movzx eax, byte [0x45b283]
xor al, 0x51
mov byte [0x45b493], al
movzx eax, byte [0x45b284]
xor al, 0x73
mov byte [0x45b494], al
movzx eax, byte [0x45b285]
mov ecx, eax
add cl, al
and cl, 0x44
sub al, cl
add al, 0xa2
mov byte [0x45b495], al
movzx eax, byte [0x45b286]
xor al, 0x65
mov byte [0x45b496], al
movzx eax, byte [0x45b287]
mov ecx, eax
not cl
or al, 0xe6
or cl, 0x19
and cl, al
not cl
mov byte [0x45b497], cl
mov eax, 0xbb7ba0f9
xor eax, dword [0x45b288]
mov dword [0x45b498], eax
movzx eax, byte [0x45b28c]
mov ecx, eax
not cl
or cl, 0x80
or al, 0x7f
and al, cl
mov byte [0x45b49c], al
mov eax, 0x2b6285d
xor eax, dword [0x45b28d]
mov dword [0x45b49d], eax
movzx eax, byte [0x45b291]
xor al, 0x38
mov byte [0x45b4a1], al
movzx eax, byte [0x45b292]
mov ecx, eax
add cl, al
and cl, 0x8e
sub al, cl
add al, 0x47
mov byte [0x45b4a2], al
movzx eax, byte [0x45b293]
xor al, 0x2f
mov byte [0x45b4a3], al
movzx eax, byte [0x45b294]
xor al, 0x68
mov byte [0x45b4a4], al
movzx eax, byte [0x45b295]
xor al, 0x2b
mov byte [0x45b4a5], al
movzx eax, byte [0x45b296]
mov ecx, eax
add cl, al
and cl, 0x44
sub al, cl
add al, 0x22
mov ecx, 0x5f54b994
xor ecx, dword [0x45b297]
mov byte [0x45b4a6], al
mov dword [0x45b4a7], ecx
movzx eax, byte [0x45b29b]
mov ecx, eax
add cl, al
and cl, 0xe
sub al, cl
add al, 7
mov byte [0x45b4ab], al
movzx eax, byte [0x45b29c]
mov ecx, eax
add cl, al
and cl, 0x14
sub al, cl
add al, 0xa
mov byte [0x45b4ac], al
movzx eax, byte [0x45b29d]
mov ecx, eax
add cl, al
and cl, 0x40
sub al, cl
add al, 0x20
mov byte [0x45b4ad], al
movzx eax, byte [0x45b29e]
xor al, 0xc9
mov byte [0x45b4ae], al
movzx eax, byte [0x45b29f]
xor al, 0x71
mov byte [0x45b4af], al
movzx eax, byte [0x45b2a0]
mov ecx, eax
add cl, al
and cl, 0xac
sub al, cl
add al, 0xd6
mov byte [0x45b4b0], al
mov eax, 0x107d1ca7
xor eax, dword [0x45b2a1]
mov dword [0x45b4b1], eax
movzx eax, byte [0x45b2a5]
xor al, 0xfa
mov byte [0x45b4b5], al
movzx eax, byte [0x45b2a6]
mov ecx, eax
not cl
or al, 0xe4
or cl, 0x1b
and cl, al
not cl
mov byte [0x45b4b6], cl
mov eax, 0x1dab5e8e
xor eax, dword [0x45b2a7]
mov dword [0x45b4b7], eax
movzx eax, byte [0x45b2ab]
not al
mov byte [0x45b4bb], al
movzx eax, byte [str.___a]
xor al, 0x13
mov byte [0x45b4bc], al
movzx eax, byte [0x45b2ad]
mov ecx, eax
add cl, al
and cl, 0xf0
sub al, cl
add al, 0x78
mov byte [0x45b4bd], al
movzx eax, byte [0x45b2ae]
xor al, 0x6e
mov byte [0x45b4be], al
movzx eax, byte [0x45b2af]
mov ecx, eax
add cl, al
and cl, 0x82
sub al, cl
add al, 0x41
mov byte [0x45b4bf], al
movzx eax, byte [0x45b2b0]
xor al, 0xf1
mov byte [0x45b4c0], al
movzx eax, byte [0x45b2b1]
mov ecx, eax
add cl, al
and cl, 0xe8
sub al, cl
add al, 0xf4
mov byte [0x45b4c1], al
movzx eax, byte [0x45b2b2]
xor al, 0xa2
mov byte [0x45b4c2], al
movzx eax, byte [0x45b2b3]
xor al, 0xf4
mov byte [str.Tiv], al
movzx eax, byte [0x45b2b4]
xor al, 0x8f
mov byte [0x45b4c4], al
movzx eax, byte [0x45b2b5]
mov ecx, eax
add cl, al
and cl, 0x6a
sub al, cl
add al, 0x35
mov byte [0x45b4c5], al
movsd xmm0, qword [0x45b2b6]
xorps xmm0, xmmword [0x455ad0]
movlps qword [0x45b4c6], xmm0
mov eax, 0xa04bf5a0
xor eax, dword [0x45b2be]
mov dword [0x45b4ce], eax
movzx eax, byte [0x45b2c2]
mov ecx, eax
not cl
or cl, 0xf5
or al, 0xa
and al, cl
mov byte [0x45b4d2], al
movups xmm0, xmmword [0x45b2c3]
xorps xmm0, xmmword [0x455ae0]
movups xmmword [0x45b4d3], xmm0
mov eax, 0x6c2c4d12
xor eax, dword [0x45b2d3]
mov dword [0x45b4e3], eax
movzx eax, byte [0x45b2d7]
xor al, 8
mov byte [0x45b4e7], al
movzx eax, byte [0x45b2d8]
mov ecx, eax
add cl, al
and cl, 0xbc
sub al, cl
add al, 0x5e
mov byte [0x45b4e8], al
movzx eax, byte [0x45b2d9]
xor al, 0xbd
mov byte [0x45b4e9], al
movzx eax, byte [0x45b2da]
mov ecx, eax
add cl, al
and cl, 0x76
sub al, cl
add al, 0xbb
mov byte [0x45b4ea], al
movzx eax, byte [0x45b2db]
xor al, 8
mov byte [0x45b4eb], al
movzx eax, byte [0x45b2dc]
xor al, 0x3f
mov byte [0x45b4ec], al
movzx eax, byte [0x45b2dd]
xor al, 0x59
mov byte [0x45b4ed], al
movzx eax, byte [0x45b2de]
mov ecx, eax
not cl
or cl, 0x4e
or al, 0xb1
and al, cl
mov byte [0x45b4ee], al
movzx eax, byte [0x45b2df]
mov ecx, eax
add cl, al
and cl, 0x1a
sub al, cl
add al, 0xd
movaps xmm0, xmmword [0x45b2e0]
xorps xmm0, xmmword [0x455af0]
mov byte [0x45b4ef], al
movss dword [0x45b4f0], xmm0
movzx eax, byte [0x45b2e4]
xor al, 0x76
mov byte [0x45b4f4], al
movzx eax, byte [0x45b2e5]
xor al, 0x86
mov byte [0x45b4f5], al
movzx eax, byte [0x45b2e6]
mov ecx, eax
add cl, al
and cl, 0xe
sub al, cl
add al, 0x87
mov byte [0x45b4f6], al
movzx eax, byte [0x45b2e7]
mov ecx, eax
add cl, al
and cl, 0xc2
sub al, cl
add al, 0x61
mov byte [0x45b4f7], al
movzx eax, byte [0x45b2e8]
xor al, 0xcb
mov byte [0x45b4f8], al
movzx eax, byte [0x45b2e9]
xor al, 0xbb
mov byte [0x45b4f9], al
movzx eax, byte [0x45b2ea]
mov ecx, eax
add cl, al
and cl, 0x96
sub al, cl
add al, 0x4b
mov byte [0x45b4fa], al
movzx eax, byte [0x45b2eb]
xor al, 0xbf
mov byte [0x45b4fb], al
movzx eax, byte [0x45b2ec]
mov ecx, eax
add cl, al
and cl, 0x4e
sub al, cl
add al, 0xa7
mov byte [0x45b4fc], al
movzx eax, byte [0x45b2ed]
xor al, 0x2e
mov byte [0x45b4fd], al
movzx eax, byte [0x45b2ee]
xor al, 0x15
mov byte [0x45b4fe], al
movzx eax, byte [0x45b2ef]
xor al, 0xfc
mov byte [0x45b4ff], al
movzx eax, byte [0x45b2f0]
mov ecx, eax
add cl, al
and cl, 0x16
sub al, cl
add al, 0xb
mov byte [0x45b500], al
movsd xmm0, qword [0x45b2f1]
xorps xmm0, xmmword [0x455b00]
movlps qword [0x45b501], xmm0
movzx eax, byte [0x45b2f9]
xor al, 0x81
mov byte [0x45b509], al
movzx eax, byte [0x45b2fa]
mov ecx, eax
add cl, al
and cl, 0xd2
sub al, cl
add al, 0x69
mov byte [0x45b50a], al
movzx eax, byte [0x45b2fb]
xor al, 0xbf
mov byte [0x45b50b], al
movzx eax, byte [0x45b2fc]
mov ecx, eax
add cl, al
and cl, 6
sub al, cl
add al, 0x83
mov byte [0x45b50c], al
movzx eax, byte [0x45b2fd]
xor al, 0xa3
mov byte [0x45b50d], al
movzx eax, byte [0x45b2fe]
mov ecx, eax
add cl, al
and cl, 0x2e
sub al, cl
add al, 0x97
mov byte [0x45b50e], al
movzx eax, byte [0x45b2ff]
mov ecx, eax
add cl, al
and cl, 0x6e
sub al, cl
add al, 0xb7
mov byte [0x45b50f], al
movzx eax, byte [0x45b300]
xor al, 0xcd
mov byte [0x45b510], al
movzx eax, byte [0x45b301]
xor al, 0xd4
mov byte [0x45b511], al
movzx eax, byte [0x45b302]
mov ecx, eax
add cl, al
and cl, 0xa0
sub al, cl
add al, 0xd0
mov byte [0x45b512], al
movzx eax, byte [0x45b303]
xor al, 0x17
mov byte [0x45b513], al
movzx eax, byte [0x45b304]
xor al, 0xf2
mov byte [0x45b514], al
movzx eax, byte [0x45b305]
mov ecx, eax
add cl, al
and cl, 0xd2
sub al, cl
add al, 0x69
mov byte [0x45b515], al
movzx eax, byte [0x45b306]
xor al, 0xec
mov byte [0x45b516], al
movzx eax, byte [0x45b307]
xor al, 0x83
mov byte [0x45b517], al
movzx eax, byte [0x45b308]
xor al, 0x2f
mov byte [0x45b518], al
movzx eax, byte [0x45b309]
mov ecx, eax
not cl
or al, 0xf1
or cl, 0xe
and cl, al
not cl
mov byte [0x45b519], cl
movzx eax, byte [0x45b30a]
xor al, 0x61
mov byte [0x45b51a], al
movzx eax, byte [0x45b30b]
xor al, 0x8b
mov byte [0x45b51b], al
movzx eax, byte [0x45b30c]
mov ecx, eax
add cl, al
and cl, 0x8a
sub al, cl
add al, 0x45
mov byte [0x45b51c], al
movzx eax, byte [0x45b30d]
mov ecx, eax
not cl
or cl, 0xa8
or al, 0x57
and al, cl
mov byte [0x45b51d], al
movzx eax, byte [0x45b30e]
mov ecx, eax
add cl, al
and cl, 0x88
sub al, cl
add al, 0x44
mov byte [0x45b51e], al
movzx eax, byte [0x45b30f]
mov ecx, eax
add cl, al
and cl, 0x96
sub al, cl
add al, 0x4b
mov byte [0x45b51f], al
movzx eax, byte [0x45b310]
mov ecx, eax
add cl, al
and cl, 0x98
sub al, cl
add al, 0x4c
mov byte [0x45b520], al
movzx eax, byte [0x45b311]
xor al, 0xd6
mov byte [0x45b521], al
movzx eax, byte [0x45b312]
xor al, 7
mov byte [0x45b522], al
movzx eax, byte [0x45b313]
mov ecx, eax
add cl, al
and cl, 0xcc
sub al, cl
add al, 0xe6
mov byte [0x45b523], al
movzx eax, byte [0x45b314]
xor al, 0x43
mov byte [0x45b524], al
movzx eax, byte [0x45b315]
xor al, 0x37
mov byte [0x45b525], al
movzx eax, byte [0x45b316]
mov ecx, eax
add cl, al
and cl, 0xda
sub al, cl
add al, 0x6d
mov byte [0x45b526], al
movups xmm0, xmmword [0x45b317]
xorps xmm0, xmmword [0x455b10]
movups xmmword [0x45b527], xmm0
mov eax, 0xdcd0e4a9
xor eax, dword [0x45b327]
mov dword [0x45b537], eax
movzx eax, byte [0x45b32b]
mov ecx, eax
add cl, al
and cl, 4
sub al, cl
add al, 2
mov byte [0x45b53b], al
mov eax, 0x6a9f5b2a
xor eax, dword [0x45b32c]
mov dword [0x45b53c], eax
movzx eax, byte [0x45b330]
mov ecx, eax
add cl, al
and cl, 0x52
sub al, cl
add al, 0x29
mov byte [0x45b540], al
movzx eax, byte [0x45b331]
xor al, 0xa0
mov byte [0x45b541], al
movzx eax, byte [0x45b332]
mov ecx, eax
add cl, al
and cl, 0xc4
sub al, cl
add al, 0xe2
mov byte [0x45b542], al
movzx eax, byte [str.Tv_]
mov ecx, eax
add cl, al
and cl, 0xca
sub al, cl
add al, 0x65
mov byte [0x45b543], al
movzx eax, byte [0x45b334]
xor al, 0x4e
mov byte [0x45b544], al
movzx eax, byte [0x45b335]
xor al, 0xe
mov byte [0x45b545], al
movzx eax, byte [0x45b336]
mov ecx, eax
add cl, al
and cl, 0xcc
sub al, cl
add al, 0x66
mov byte [0x45b546], al
mov eax, 0xb12e938b
xor eax, dword [0x45b337]
mov dword [0x45b547], eax
movzx eax, byte [0x45b33b]
mov ecx, eax
add cl, al
and cl, 0xac
sub al, cl
add al, 0x56
mov byte [0x45b54b], al
mov eax, 0x38f840a4
xor eax, dword [0x45b33c]
mov dword [0x45b54c], eax
movzx eax, byte [0x45b340]
xor al, 0x82
mov byte [0x45b550], al
movzx eax, byte [0x45b341]
mov ecx, eax
add cl, al
and cl, 0xc8
sub al, cl
add al, 0x64
mov byte [0x45b551], al
movzx eax, byte [0x45b342]
xor al, 0x16
mov byte [0x45b552], al
movzx eax, byte [0x45b343]
mov ecx, eax
add cl, al
and cl, 0x4c
sub al, cl
add al, 0x26
mov byte [0x45b553], al
mov eax, 0x6d97bdf0
xor eax, dword [0x45b344]
mov dword [0x45b554], eax
movzx eax, byte [0x45b348]
xor al, 0x75
mov byte [0x45b558], al
movzx eax, byte [0x45b349]
xor al, 0x2a
mov byte [0x45b559], al
movzx eax, byte [0x45b34a]
mov ecx, eax
add cl, al
and cl, 0x68
sub al, cl
add al, 0xb4
mov byte [0x45b55a], al
movsd xmm0, qword [0x45b34b]
xorps xmm0, xmmword [0x455b20]
movlps qword [0x45b55b], xmm0
movzx eax, byte [0x45b353]
xor al, 0x58
mov byte [0x45b563], al
movzx eax, byte [0x45b354]
xor al, 0x98
mov byte [0x45b564], al
movzx eax, byte [0x45b355]
mov ecx, eax
not cl
or cl, 0x2c
or al, 0xd3
and al, cl
mov byte [0x45b565], al
mov eax, 0x1dc93958
xor eax, dword [0x45b356]
mov dword [0x45b566], eax
movzx eax, byte [0x45b35a]
mov byte [0x45b56a], al
movzx eax, byte [0x45b35b]
xor al, 7
mov byte [0x45b56b], al
movzx eax, byte [0x45b35c]
mov ecx, eax
add cl, al
and cl, 0x6a
sub al, cl
add al, 0xb5
mov byte [0x45b56c], al
mov eax, 0x2de7a448
xor eax, dword [0x45b35d]
mov dword [0x45b56d], eax
movzx eax, byte [0x45b361]
mov ecx, eax
add cl, al
and cl, 0xaa
sub al, cl
add al, 0xd5
mov byte [0x45b571], al
movzx eax, byte [0x45b362]
xor al, 0x34
mov byte [0x45b572], al
movzx eax, byte [0x45b363]
xor al, 0xfd
mov byte [0x45b573], al
movzx eax, byte [0x45b364]
mov ecx, eax
not cl
or al, 0x80
or cl, 0x7f
and cl, al
not cl
mov byte [0x45b574], cl
movzx eax, byte [0x45b365]
mov ecx, eax
add cl, al
and cl, 0x3a
sub al, cl
add al, 0x9d
mov byte [0x45b575], al
mov eax, 0x1d685ab5
xor eax, dword [0x45b366]
mov dword [0x45b576], eax
movzx eax, byte [0x45b36a]
xor al, 0x95
mov byte [0x45b57a], al
movzx eax, byte [0x45b36b]
xor al, 0xf9
mov byte [0x45b57b], al
movzx eax, byte [0x45b36c]
mov ecx, eax
not cl
or cl, 0xc3
or al, 0x3c
and al, cl
mov byte [0x45b57c], al
movzx eax, byte [0x45b36d]
mov ecx, eax
not cl
or cl, 0x3b
or al, 0xc4
and al, cl
mov byte [0x45b57d], al
movzx eax, byte [0x45b36e]
xor al, 0xa0
mov byte [0x45b57e], al
movzx eax, byte [0x45b36f]
xor al, 0xe7
mov byte [0x45b57f], al
movzx eax, byte [0x45b370]
mov ecx, eax
add cl, al
and cl, 0xda
sub al, cl
add al, 0xed
mov byte [0x45b580], al
movzx eax, byte [0x45b371]
xor al, 0x32
mov byte [0x45b581], al
movzx eax, byte [0x45b372]
mov ecx, eax
not cl
or al, 6
or cl, 0xf9
and cl, al
not cl
mov byte [0x45b582], cl
mov eax, 0xcc446bc5
xor eax, dword [0x45b373]
mov dword [0x45b583], eax
movzx eax, byte [0x45b377]
xor al, 0xda
mov byte [0x45b587], al
movzx eax, byte [0x45b378]
mov ecx, eax
add cl, al
and cl, 0xce
sub al, cl
add al, 0xe7
mov byte [0x45b588], al
movzx eax, byte [0x45b379]
xor al, 0xb8
mov byte [0x45b589], al
movzx eax, byte [0x45b37a]
mov ecx, eax
add cl, al
and cl, 0x10
sub al, cl
add al, 8
mov byte [0x45b58a], al
movzx eax, byte [0x45b37b]
xor al, 0xca
mov byte [0x45b58b], al
movzx eax, byte [0x45b37c]
xor al, 0x91
mov byte [0x45b58c], al
movzx eax, byte [0x45b37d]
mov ecx, eax
not cl
or al, 0x2b
or cl, 0xd4
and cl, al
not cl
mov byte [0x45b58d], cl
movzx eax, byte [0x45b37e]
xor al, 0x21
mov byte [0x45b58e], al
movzx eax, byte [0x45b37f]
xor al, 0xe7
mov byte [0x45b58f], al
movzx eax, byte [0x45b380]
xor al, 0x62
mov byte [0x45b590], al
movzx eax, byte [0x45b381]
mov ecx, eax
add cl, al
and cl, 0x18
sub al, cl
add al, 0xc
mov byte [0x45b591], al
movzx eax, byte [0x45b382]
xor al, 0xbe
mov byte [0x45b592], al
movzx eax, byte [0x45b383]
xor al, 0x26
mov byte [0x45b593], al
movzx eax, byte [0x45b384]
mov ecx, eax
add cl, al
and cl, 0x6c
sub al, cl
add al, 0xb6
mov byte [0x45b594], al
mov eax, 0x249316e0
xor eax, dword [0x45b385]
mov dword [0x45b595], eax
movzx eax, byte [0x45b389]
xor al, 0x24
mov byte [0x45b599], al
movzx eax, byte [0x45b38a]
xor al, 0x83
mov byte [0x45b59a], al
movzx eax, byte [0x45b38b]
mov ecx, eax
add cl, al
and cl, 0x1c
sub al, cl
add al, 0xe
mov byte [0x45b59b], al
movzx eax, byte [0x45b38c]
xor al, 0xc9
mov byte [0x45b59c], al
movzx eax, byte [0x45b38d]
mov ecx, eax
add cl, al
and cl, 0x60
sub al, cl
add al, 0x30
mov byte [0x45b59d], al
movsd xmm0, qword [0x45b38e]
xorps xmm0, xmmword [0x455b30]
movlps qword [0x45b59e], xmm0
movzx eax, byte [0x45b396]
xor al, 0xbf
mov byte [0x45b5a6], al
movzx eax, byte [0x45b397]
xor al, 0xf4
mov byte [0x45b5a7], al
movzx eax, byte [0x45b398]
xor al, 0xf4
mov byte [0x45b5a8], al
movzx eax, byte [0x45b399]
mov ecx, eax
add cl, al
and cl, 0xe2
sub al, cl
add al, 0x71
mov byte [0x45b5a9], al
mov eax, 0x6c8c1756
xor eax, dword [0x45b39a]
mov dword [0x45b5aa], eax
movzx eax, byte [0x45b39e]
xor al, 0x3d
mov byte [0x45b5ae], al
movzx eax, byte [0x45b39f]
xor al, 0xfb
mov byte [0x45b5af], al
movzx eax, byte [0x45b3a0]
xor al, 0x41
mov byte [0x45b5b0], al
movzx eax, byte [0x45b3a1]
mov ecx, eax
add cl, al
and cl, 0xd4
sub al, cl
add al, 0x6a
mov byte [0x45b5b1], al
movzx eax, byte [0x45b3a2]
xor al, 0x4b
mov byte [0x45b5b2], al
movzx eax, byte [0x45b3a3]
mov ecx, eax
add cl, al
and cl, 0x24
sub al, cl
add al, 0x92
mov byte [0x45b5b3], al
movsd xmm0, qword [0x45b3a4]
xorps xmm0, xmmword [0x455b40]
movlps qword [0x45b5b4], xmm0
movzx eax, byte [0x45b3ac]
xor al, 0xf7
mov byte [0x45b5bc], al
movzx eax, byte [0x45b3ad]
xor al, 0x2a
mov byte [0x45b5bd], al
movzx eax, byte [0x45b3ae]
mov ecx, eax
add cl, al
and cl, 0x7e
sub al, cl
add al, 0xbf
mov ecx, 0xe03e0f17
xor ecx, dword [0x45b3af]
mov byte [0x45b5be], al
mov dword [0x45b5bf], ecx
movzx eax, byte [str.un_b]
xor al, 0x44
mov byte [0x45b5c3], al
movzx eax, byte [0x45b3b4]
mov ecx, eax
add cl, al
and cl, 0x5a
sub al, cl
add al, 0x2d
mov byte [0x45b5c4], al
movzx eax, byte [0x45b3b5]
xor al, 0xc
mov byte [0x45b5c5], al
movzx eax, byte [0x45b3b6]
xor al, 0x21
mov byte [0x45b5c6], al
movzx eax, byte [0x45b3b7]
xor al, 0x37
mov byte [0x45b5c7], al
movzx eax, byte [0x45b3b8]
mov ecx, eax
add cl, al
and cl, 0x9e
sub al, cl
add al, 0xcf
mov byte [0x45b5c8], al
mov eax, 0x45b4f74c
xor eax, dword [0x45b3b9]
mov dword [0x45b5c9], eax
movzx eax, byte [0x45b3bd]
xor al, 0x3f
mov byte [str..aMB], al
movzx eax, byte [0x45b3be]
xor al, 0x5e
mov byte [0x45b5ce], al
movzx eax, byte [0x45b3bf]
mov ecx, eax
add cl, al
and cl, 0xac
sub al, cl
add al, 0x56
mov byte [0x45b5cf], al
movzx eax, byte [0x45b3c0]
mov ecx, eax
add cl, al
and cl, 0x8c
sub al, cl
add al, 0xc6
mov byte [0x45b5d0], al
movzx eax, byte [0x45b3c1]
xor al, 0xc9
mov byte [0x45b5d1], al
movzx eax, byte [0x45b3c2]
xor al, 0x9d
mov byte [0x45b5d2], al
movzx eax, byte [0x45b3c3]
mov ecx, eax
add cl, al
and cl, 0xa
sub al, cl
add al, 0x85
mov byte [0x45b5d3], al
movzx eax, byte [0x45b3c4]
mov ecx, eax
add cl, al
and cl, 0xa2
sub al, cl
add al, 0x51
mov byte [0x45b5d4], al
mov eax, 0xae5b0ff5
xor eax, dword [0x45b3c5]
mov dword [0x45b5d5], eax
movzx eax, byte [0x45b3c9]
mov ecx, eax
not cl
or cl, 0x8b
or al, 0x74
and al, cl
mov byte [0x45b5d9], al
mov eax, 0xf558e17b
xor eax, dword [0x45b3ca]
mov dword [0x45b5da], eax
movzx eax, byte [0x45b3ce]
xor al, 0x9e
mov byte [0x45b5de], al
movzx eax, byte [0x45b3cf]
xor al, 0x91
mov byte [0x45b5df], al
movzx eax, byte [0x45b3d0]
mov ecx, eax
add cl, al
and cl, 0x5e
sub al, cl
add al, 0x2f
mov byte [0x45b5e0], al
movzx eax, byte [0x45b3d1]
xor al, 0x91
mov byte [0x45b5e1], al
movzx eax, byte [0x45b3d2]
mov ecx, eax
add cl, al
and cl, 0xe6
sub al, cl
add al, 0x73
movsd xmm0, qword [0x45b3d3]
xorps xmm0, xmmword [0x455b50]
mov byte [0x45b5e2], al
movlps qword [0x45b5e3], xmm0
movzx eax, byte [0x45b3db]
xor al, 0x94
mov byte [0x45b5eb], al
movzx eax, byte [0x45b3dc]
xor al, 0x7f
mov byte [0x45b5ec], al
movzx eax, byte [0x45b3dd]
mov ecx, eax
add cl, al
and cl, 0x9e
sub al, cl
add al, 0xcf
mov byte [0x45b5ed], al
movzx eax, byte [0x45b3de]
mov ecx, eax
add cl, al
and cl, 0x90
sub al, cl
add al, 0x48
mov byte [0x45b5ee], al
movzx eax, byte [0x45b3df]
xor al, 0x3d
mov byte [0x45b5ef], al
movzx eax, byte [0x45b3e0]
mov ecx, eax
add cl, al
and cl, 0xe2
sub al, cl
add al, 0x71
mov byte [0x45b5f0], al
movzx eax, byte [0x45b3e1]
xor al, 0x81
mov byte [0x45b5f1], al
movzx eax, byte [0x45b3e2]
xor al, 0x9f
mov byte [0x45b5f2], al
movzx eax, byte [0x45b3e3]
mov ecx, eax
not cl
or al, 0xc
or cl, 0xf3
and cl, al
not cl
movsd xmm0, qword [0x45b3e4]
xorps xmm0, xmmword [0x455b60]
mov byte [0x45b5f3], cl
movlps qword [0x45b5f4], xmm0
movzx eax, byte [0x45b3ec]
xor al, 0x20
mov byte [0x45b5fc], al
movzx eax, byte [0x45b3ed]
mov ecx, eax
add cl, al
and cl, 0xf2
sub al, cl
add al, 0xf9
mov byte [0x45b5fd], al
mov eax, 0xef6df651
xor eax, dword [0x45b3ee]
mov dword [0x45b5fe], eax
movzx eax, byte [0x45b3f2]
mov ecx, eax
not cl
or cl, 0xe2
or al, 0x1d
and al, cl
mov byte [0x45b602], al
movzx eax, byte [0x45b3f3]
mov ecx, eax
add cl, al
and cl, 0xdc
sub al, cl
add al, 0xee
movsd xmm0, qword [0x45b3f4]
xorps xmm0, xmmword [0x455b70]
mov byte [0x45b603], al
movlps qword [0x45b604], xmm0
movzx eax, byte [0x45b3fc]
mov ecx, eax
not cl
or cl, 8
or al, 0xf7
and al, cl
mov byte [0x45b60c], al
movzx eax, byte [0x45b3fd]
xor al, 0x28
mov byte [0x45b60d], al
movzx eax, byte [0x45b3fe]
xor al, 6
mov byte [0x45b60e], al
movzx eax, byte [0x45b3ff]
xor al, 0x68
mov byte [0x45b60f], al
movzx eax, byte [0x45b400]
mov ecx, eax
add cl, al
and cl, 0x16
sub al, cl
add al, 0x8b
mov byte [0x45b610], al
movzx eax, byte [0x45b401]
xor al, 0xdc
mov byte [0x45b611], al
movzx eax, byte [0x45b402]
xor al, 0x62
mov byte [0x45b612], al
movzx eax, byte [0x45b403]
xor al, 0x45
mov byte [0x45b613], al
movzx eax, byte [0x45b404]
mov ecx, eax
add cl, al
and cl, 0x64
sub al, cl
add al, 0x32
mov byte [0x45b614], al
movsd xmm0, qword [0x45b405]
xorps xmm0, xmmword [0x455b80]
movlps qword [0x45b615], xmm0
movzx eax, byte [0x45b40d]
xor al, 0x33
mov byte [0x45b61d], al
movzx eax, byte [0x45b40e]
xor al, 0x84
mov byte [0x45b61e], al
movzx eax, byte [0x45b40f]
mov ecx, eax
add cl, al
and cl, 0xbe
sub al, cl
add al, 0xdf
movaps xmm0, xmmword [0x45b410]
xorps xmm0, xmmword [0x455b90]
mov byte [0x45b61f], al
movss dword [0x45b620], xmm0
movzx eax, byte [0x45b414]
xor al, 0x5a
mov byte [0x45b624], al
movzx eax, byte [0x45b415]
mov ecx, eax
add cl, al
and cl, 0xa0
sub al, cl
add al, 0xd0
mov byte [0x45b625], al
movsd xmm0, qword [0x45b416]
xorps xmm0, xmmword [str.FyR]
movlps qword [0x45b626], xmm0
movzx eax, byte [0x45b41e]
add al, 0x80
mov byte [0x45b62e], al
movzx eax, byte [0x45b41f]
mov ecx, eax
add cl, al
and cl, 0xa6
sub al, cl
add al, 0xd3
movaps xmm0, xmmword [0x45b420]
xorps xmm0, xmmword [0x455bb0]
mov byte [0x45b62f], al
movss dword [0x45b630], xmm0
movzx eax, byte [0x45b424]
mov ecx, eax
add cl, al
and cl, 0x3e
sub al, cl
add al, 0x1f
mov byte [0x45b634], al
mov eax, 0x27c797c8
xor eax, dword [0x45b425]
mov dword [0x45b635], eax
movzx eax, byte [0x45b429]
xor al, 0xf4
mov byte [0x45b639], al
movzx eax, byte [0x45b42a]
mov ecx, eax
not cl
or al, 0x32
or cl, 0xcd
and cl, al
not cl
mov byte [0x45b63a], cl
mov eax, 0x100188a5
xor eax, dword [0x45b42b]
mov dword [0x45b63b], eax
movzx eax, byte [0x45b42f]
not al
mov byte [0x45b63f], al
movzx eax, byte [0x45b430]
xor al, 0x8d
movaps xmm0, xmmword [0x45b090]
xorps xmm0, xmmword [0x455bc0]
mov byte [0x45b640], al
movss dword [0x45b160], xmm0
movzx eax, byte [0x45b094]
mov ecx, eax
add cl, al
and cl, 6
sub al, cl
add al, 3
mov byte [0x45b164], al
movzx eax, byte [0x45b095]
mov ecx, eax
not cl
or cl, 0x7d
or al, 0x82
and al, cl
mov byte [0x45b165], al
movzx eax, byte [0x45b096]
xor al, 0xc4
mov byte [0x45b166], al
movzx eax, byte [0x45b097]
xor al, 0xe7
mov byte [0x45b167], al
movzx eax, byte [0x45b098]
mov ecx, eax
add cl, al
and cl, 0xe6
sub al, cl
add al, 0x73
mov byte [0x45b168], al
movzx eax, byte [0x45b099]
add al, 0x80
mov byte [str._iQc], al
movzx eax, byte [0x45b09a]
mov ecx, eax
add cl, al
and cl, 0xc
sub al, cl
add al, 0x86
mov byte [0x45b16a], al
mov eax, 0x613b16b9
xor eax, dword [0x45b09b]
mov dword [0x45b16b], eax
movzx eax, byte [0x45b09f]
xor al, 0xd7
mov byte [0x45b16f], al
movzx eax, byte [0x45b0a0]
xor al, 0xee
mov byte [0x45b170], al
movzx eax, byte [0x45b0a1]
xor al, 0x17
mov byte [0x45b171], al
movzx eax, byte [0x45b0a2]
mov ecx, eax
not cl
or cl, 0x34
or al, 0xcb
and al, cl
mov byte [0x45b172], al
movsd xmm0, qword [0x45b0a3]
xorps xmm0, xmmword [0x455bd0]
movlps qword [0x45b173], xmm0
movzx eax, byte [0x45b0ab]
mov ecx, eax
add cl, al
and cl, 0x86
sub al, cl
add al, 0xc3
mov ecx, 0x9018b4f2
xor ecx, dword [0x45b0ac]
mov byte [0x45b17b], al
mov dword [0x45b17c], ecx
movzx eax, byte [0x45b0b0]
xor al, 0x79
mov byte [0x45b180], al
movzx eax, byte [0x45b0b1]
xor al, 0xe
mov byte [0x45b181], al
movzx eax, byte [0x45b0b2]
mov ecx, eax
add cl, al
and cl, 0xb8
sub al, cl
add al, 0x5c
mov byte [0x45b182], al
movzx eax, byte [0x45b0b3]
mov ecx, eax
add cl, al
and cl, 0x76
sub al, cl
add al, 0xbb
mov byte [0x45b183], al
movzx eax, byte [0x45b0b4]
xor al, 0xc2
mov byte [0x45b184], al
movzx eax, byte [0x45b0b5]
mov ecx, eax
add cl, al
and cl, 0xe
sub al, cl
add al, 7
mov byte [0x45b185], al
mov eax, 0x32e21fd6
xor eax, dword [0x45b0b6]
mov dword [0x45b186], eax
movzx eax, byte [0x45b0ba]
xor al, 0x45
mov byte [0x45b18a], al
movzx eax, byte [0x45b0bb]
xor al, 0xe
mov byte [0x45b18b], al
movzx eax, byte [0x45b0bc]
xor al, 0xe5
mov byte [0x45b18c], al
movzx eax, byte [0x45b0bd]
mov ecx, eax
not cl
or al, 4
or cl, 0xfb
and cl, al
not cl
mov byte [0x45b18d], cl
mov eax, 0xa35a19cc
xor eax, dword [0x45b0be]
mov dword [0x45b18e], eax
movzx eax, byte [0x45b0c2]
mov ecx, eax
add cl, al
and cl, 0x98
sub al, cl
add al, 0xcc
mov byte [0x45b192], al
movzx eax, byte [0x45b0c3]
mov ecx, eax
not cl
or cl, 0x9b
or al, 0x64
and al, cl
mov byte [0x45b193], al
movzx eax, byte [0x45b0c4]
xor al, 0xa6
mov byte [0x45b194], al
movzx eax, byte [0x45b0c5]
xor al, 0x67
mov byte [0x45b195], al
movzx eax, byte [0x45b0c6]
xor al, 0x88
mov byte [0x45b196], al
movzx eax, byte [0x45b0c7]
mov ecx, eax
add cl, al
and cl, 0xac
sub al, cl
add al, 0xd6
mov byte [0x45b197], al
movzx eax, byte [str._r___]
xor al, 0x3f
mov byte [0x45b198], al
movzx eax, byte [0x45b0c9]
xor al, 6
mov byte [0x45b199], al
movzx eax, byte [0x45b0ca]
mov ecx, eax
add cl, al
and cl, 0xe4
sub al, cl
add al, 0x72
mov byte [0x45b19a], al
mov eax, 0x25878c62
xor eax, dword [0x45b0cb]
mov dword [0x45b19b], eax
movzx eax, byte [0x45b0cf]
xor al, 0xb7
mov byte [0x45b19f], al
movzx eax, byte [0x45b0d0]
xor al, 0xd2
mov byte [0x45b1a0], al
movzx eax, byte [0x45b0d1]
xor al, 0x43
mov byte [0x45b1a1], al
movzx eax, byte [0x45b0d2]
mov ecx, eax
add cl, al
and cl, 0xa2
sub al, cl
add al, 0xd1
mov byte [0x45b1a2], al
movzx eax, byte [0x45b0d3]
xor al, 1
mov byte [0x45b1a3], al
movzx eax, byte [0x45b0d4]
mov ecx, eax
add cl, al
and cl, 0xb4
sub al, cl
add al, 0xda
mov ecx, 0x6488716
xor ecx, dword [0x45b0d5]
mov byte [0x45b1a4], al
mov dword [0x45b1a5], ecx
movzx eax, byte [0x45b0d9]
xor al, 0xd6
mov byte [0x45b1a9], al
movzx eax, byte [0x45b0da]
mov ecx, eax
not cl
or al, 0x92
or cl, 0x6d
and cl, al
not cl
mov byte [0x45b1aa], cl
movzx eax, byte [0x45b0db]
xor al, 0x2c
mov byte [0x45b1ab], al
movzx eax, byte [0x45b0dc]
xor al, 0xa5
mov byte [0x45b1ac], al
movzx eax, byte [0x45b0dd]
xor al, 0xb3
mov byte [0x45b1ad], al
movzx eax, byte [0x45b0de]
mov ecx, eax
add cl, al
and cl, 0x92
sub al, cl
add al, 0xc9
mov byte [0x45b1ae], al
mov eax, 0x20aa6fa4
xor eax, dword [0x45b0df]
mov dword [0x45b1af], eax
movzx eax, byte [0x45b0e3]
mov ecx, eax
add cl, al
and cl, 0x50
sub al, cl
add al, 0x28
mov byte [0x45b1b3], al
movzx eax, byte [0x45b0e4]
mov ecx, eax
add cl, al
and cl, 0xea
sub al, cl
add al, 0xf5
mov byte [0x45b1b4], al
movsd xmm0, qword [0x45b0e5]
xorps xmm0, xmmword [0x455be0]
movlps qword [0x45b1b5], xmm0
mov eax, 0xb19b43d7
xor eax, dword [0x45b0ed]
mov dword [0x45b1bd], eax
movzx eax, byte [0x45b0f1]
xor al, 0x9e
mov byte [0x45b1c1], al
movzx eax, byte [0x45b0f2]
xor al, 0x54
mov byte [0x45b1c2], al
movzx eax, byte [0x45b0f3]
mov ecx, eax
add cl, al
and cl, 0x8c
sub al, cl
add al, 0xc6
mov byte [0x45b1c3], al
movzx eax, byte [0x45b0f4]
xor al, 0x78
mov byte [0x45b1c4], al
movzx eax, byte [0x45b0f5]
mov ecx, eax
not cl
or cl, 1
or al, 0xfe
and al, cl
mov byte [0x45b1c5], al
movzx eax, byte [0x45b0f6]
xor al, 0xb2
mov byte [0x45b1c6], al
movzx eax, byte [0x45b0f7]
xor al, 0x9c
mov byte [0x45b1c7], al
movzx eax, byte [0x45b0f8]
mov ecx, eax
add cl, al
and cl, 0xbc
sub al, cl
add al, 0xde
mov byte [0x45b1c8], al
movzx eax, byte [0x45b0f9]
xor al, 0xb7
mov byte [0x45b1c9], al
movzx eax, byte [0x45b0fa]
xor al, 0x1f
mov byte [0x45b1ca], al
movzx eax, byte [0x45b0fb]
mov ecx, eax
not cl
or cl, 0xc5
or al, 0x3a
and al, cl
mov byte [0x45b1cb], al
movsd xmm0, qword [0x45b0fc]
xorps xmm0, xmmword [0x455bf0]
movlps qword [0x45b1cc], xmm0
mov eax, 0xd03a2ef0
xor eax, dword [0x45b104]
mov dword [0x45b1d4], eax
movzx eax, byte [0x45b108]
xor al, 0x85
mov byte [0x45b1d8], al
movzx eax, byte [0x45b109]
xor al, 0x27
mov byte [0x45b1d9], al
movzx eax, byte [0x45b10a]
mov ecx, eax
add cl, al
and cl, 0x7a
sub al, cl
add al, 0xbd
mov byte [0x45b1da], al
movups xmm0, xmmword [0x45b10b]
xorps xmm0, xmmword [0x455c00]
movups xmmword [0x45b1db], xmm0
movzx eax, byte [0x45b11b]
mov ecx, eax
not cl
or cl, 0x47
or al, 0xb8
and al, cl
mov byte [0x45b1eb], al
mov eax, 0xd87489df
xor eax, dword [0x45b11c]
mov dword [0x45b1ec], eax
movzx eax, byte [0x45b120]
xor al, 0xec
mov byte [0x45b1f0], al
movzx eax, byte [0x45b121]
mov ecx, eax
add cl, al
and cl, 0x74
sub al, cl
add al, 0x3a
mov ecx, 0x52ecfef2
xor ecx, dword [0x45b122]
mov byte [0x45b1f1], al
mov dword [0x45b1f2], ecx
movzx eax, byte [0x45b126]
mov ecx, eax
not cl
or al, 0x7e
or cl, 0x81
and cl, al
not cl
mov eax, 0xfd271f73
xor eax, dword [0x45b127]
mov byte [0x45b1f6], cl
mov dword [0x45b1f7], eax
movzx eax, byte [0x45b12b]
xor al, 0x20
mov byte [0x45b1fb], al
movzx eax, byte [0x45b12c]
xor al, 0x47
mov byte [0x45b1fc], al
movzx eax, byte [0x45b12d]
mov ecx, eax
add cl, al
and cl, 0xf0
sub al, cl
add al, 0xf8
mov byte [0x45b1fd], al
movzx eax, byte [0x45b12e]
xor al, 0xc1
mov byte [0x45b1fe], al
movzx eax, byte [0x45b12f]
xor al, 0xb3
mov byte [0x45b1ff], al
movzx eax, byte [0x45b130]
mov ecx, eax
add cl, al
and cl, 0xac
sub al, cl
add al, 0x56
mov byte [0x45b200], al
movsd xmm0, qword [0x45b131]
xorps xmm0, xmmword [0x455c10]
movlps qword [0x45b201], xmm0
movzx eax, byte [0x45b139]
xor al, 0x1d
mov byte [0x45b209], al
movzx eax, byte [0x45b13a]
mov ecx, eax
add cl, al
and cl, 0xae
sub al, cl
add al, 0xd7
mov ecx, 0x149e3632
xor ecx, dword [0x45b13b]
mov byte [0x45b20a], al
mov dword [0x45b20b], ecx
movzx eax, byte [0x45b13f]
xor al, 0xa0
mov byte [0x45b20f], al
movzx eax, byte [0x45b140]
mov ecx, eax
add cl, al
and cl, 0x6a
sub al, cl
add al, 0xb5
mov byte [0x45b210], al
movsd xmm0, qword [0x45b141]
xorps xmm0, xmmword [0x455c20]
movlps qword [0x45b211], xmm0
movzx eax, byte [0x45b149]
xor al, 0x95
mov byte [0x45b219], al
movzx eax, byte [0x45b14a]
mov ecx, eax
add cl, al
and cl, 0x36
sub al, cl
add al, 0x1b
mov byte [0x45b21a], al
movzx eax, byte [0x45b14b]
mov ecx, eax
add cl, al
and cl, 0xc6
sub al, cl
add al, 0x63
mov byte [0x45b21b], al
movzx eax, byte [0x45b14c]
xor al, 0xb3
mov byte [0x45b21c], al
movzx eax, byte [0x45b14d]
mov ecx, eax
add cl, al
and cl, 0x56
sub al, cl
add al, 0x2b
mov byte [0x45b21d], al
movzx eax, byte [str.OVn]
xor al, 0x76
mov byte [0x45b21e], al
movzx eax, byte [0x45b14f]
xor al, 0x63
mov byte [0x45b21f], al
movzx eax, byte [0x45b150]
mov ecx, eax
add cl, al
and cl, 0x8a
sub al, cl
add al, 0x45
mov byte [0x45b220], al
mov eax, 0x4ea19158
xor eax, dword [0x45b151]
mov dword [str.lGVlIE], eax
movzx eax, byte [0x45b155]
mov ecx, eax
add cl, al
and cl, 8
sub al, cl
add al, 4
mov byte [0x45b225], al
movzx eax, byte [0x45b156]
xor al, 0x87
mov byte [0x45b226], al
movzx eax, byte [0x45b157]
mov ecx, eax
add cl, al
and cl, 0x90
sub al, cl
add al, 0xc8
mov byte [0x45b227], al
movzx eax, byte [0x45b158]
xor al, 0x65
mov byte [0x45b228], al
mov edx, dword [esp + 0x14]
mov dword [0x472b4c], 1
test esi, esi
js 0x41b448
cmp esi, 1
je 0x41b448
cmp esi, 0x24
ja 0x41b448
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 0x41b450
cmp esi, 0xa
je 0x41b457
cmp esi, 0x10
jne 0x41b430
movzx edx, al
cmp al, 0xf
ja 0x41b4a5
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
jmp 0x41b4de
movzx eax, al
xor edx, edx
idiv esi
movzx edx, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ecx - 1], dl
dec ecx
test al, al
jne 0x41b430
jmp 0x41b44a
mov ecx, edx
mov eax, ecx
pop esi
pop edi
pop ebx
ret
mov byte [ecx - 1], 0x30
dec ecx
jmp 0x41b44a
cmp al, 0x64
jb 0x41b4d0
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 + 0x45b161]
mov byte [ecx - 1], bl
movzx eax, byte [edi + eax + 0x45b160]
mov byte [ecx - 2], al
add ecx, 0xfffffffe
mov eax, edx
jmp 0x41b4d4
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 + 0x45b441]
mov byte [ecx - 1], al
movzx eax, byte [esi + edx + 0x45b440]
jmp 0x41b513
cmp al, 9
ja 0x41b4e7
movzx eax, al
movzx eax, byte [eax + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ecx - 1], al
dec ecx
jmp 0x41b44a
movzx eax, al
mov edx, eax
and edx, 2
mov esi, eax
or eax, 2
imul eax, edx
xor edx, 2
and esi, 0x7d
imul esi, edx
movzx edx, byte [esi + eax + 0x45b161]
mov byte [ecx - 1], dl
movzx eax, byte [esi + eax + 0x45b160]
mov byte [ecx - 2], al
add ecx, 0xfffffffe
jmp 0x41b44a