Function at 0x419200
Capabilities:
Authenticate hmac

Disassembly:
push ebx
push edi
push esi
mov esi, dword [esp + 0x1c]
mov eax, dword [0x481d78]
test eax, eax
jne 0x41ad64
movzx eax, byte [0x4642a0]
xor al, 0xe8
mov byte [0x4644b0], al
movzx eax, byte [0x4642a1]
xor al, 0x17
mov byte [0x4644b1], al
movzx eax, byte [0x4642a2]
xor al, 0xa0
mov byte [0x4644b2], al
movzx eax, byte [0x4642a3]
mov ecx, eax
add cl, al
and cl, 0x24
sub al, cl
add al, 0x12
mov byte [0x4644b3], al
movups xmm0, xmmword [0x4642a4]
xorps xmm0, xmmword [0x45ea70]
movups xmmword [str.E_v_o], xmm0
movzx eax, byte [0x4642b4]
xor al, 0x95
mov byte [0x4644c4], al
movzx eax, byte [0x4642b5]
xor al, 0xd1
mov byte [0x4644c5], al
movzx eax, byte [0x4642b6]
mov ecx, eax
add cl, al
and cl, 0x4a
sub al, cl
add al, 0x25
mov byte [0x4644c6], al
movzx eax, byte [0x4642b7]
mov ecx, eax
add cl, al
and cl, 0x4c
sub al, cl
add al, 0xa6
mov byte [0x4644c7], al
movsd xmm0, qword [0x4642b8]
xorps xmm0, xmmword [0x45ea80]
movlps qword [0x4644c8], xmm0
movzx eax, byte [0x4642c0]
mov ecx, eax
add cl, al
and cl, 0xe2
sub al, cl
add al, 0x71
mov byte [0x4644d0], al
movzx eax, byte [0x4642c1]
mov ecx, eax
not cl
or cl, 0xe8
or al, 0x17
and al, cl
mov byte [0x4644d1], al
movzx eax, byte [0x4642c2]
xor al, 0x34
mov byte [0x4644d2], al
movzx eax, byte [0x4642c3]
xor al, 0x66
mov byte [0x4644d3], al
movzx eax, byte [0x4642c4]
xor al, 0x31
mov byte [0x4644d4], al
movzx eax, byte [str.Ue.]
mov ecx, eax
add cl, al
and cl, 0x9c
sub al, cl
add al, 0x4e
mov byte [0x4644d5], al
movzx eax, byte [0x4642c6]
xor al, 0x64
mov byte [0x4644d6], al
movzx eax, byte [0x4642c7]
mov ecx, eax
add cl, al
and cl, 0xac
sub al, cl
add al, 0x56
mov byte [0x4644d7], al
movzx eax, byte [0x4642c8]
mov ecx, eax
not cl
or cl, 0xe0
or al, 0x1f
and al, cl
mov byte [0x4644d8], al
movzx eax, byte [0x4642c9]
xor al, 0xbd
mov byte [0x4644d9], al
movzx eax, byte [0x4642ca]
xor al, 0x4f
mov byte [0x4644da], al
movzx eax, byte [0x4642cb]
mov ecx, eax
add cl, al
and cl, 0x8e
sub al, cl
add al, 0xc7
mov byte [0x4644db], al
movzx eax, byte [0x4642cc]
mov ecx, eax
add cl, al
and cl, 0xf4
sub al, cl
add al, 0x7a
mov byte [0x4644dc], al
movzx eax, byte [0x4642cd]
xor al, 0x76
mov byte [0x4644dd], al
movzx eax, byte [0x4642ce]
mov ecx, eax
not cl
or cl, 0x73
or al, 0x8c
and al, cl
mov byte [0x4644de], al
movzx eax, byte [0x4642cf]
mov ecx, eax
not cl
or al, 0xb1
or cl, 0x4e
and cl, al
not cl
mov byte [0x4644df], cl
movaps xmm0, xmmword [0x4642d0]
xorps xmm0, xmmword [0x45ea90]
movss dword [0x4644e0], xmm0
movzx eax, byte [0x4642d4]
xor al, 0x8c
mov byte [0x4644e4], al
movzx eax, byte [0x4642d5]
xor al, 0x20
mov byte [0x4644e5], al
movzx eax, byte [0x4642d6]
mov ecx, eax
add cl, al
and cl, 0x4c
sub al, cl
add al, 0x26
mov ecx, 0x4d63ad68
xor ecx, dword [0x4642d7]
mov byte [0x4644e6], al
mov dword [0x4644e7], ecx
movzx eax, byte [0x4642db]
xor al, 0xbb
mov byte [0x4644eb], al
movzx eax, byte [0x4642dc]
xor al, 0xb0
mov byte [0x4644ec], al
movzx eax, byte [0x4642dd]
mov ecx, eax
add cl, al
and cl, 0x6a
sub al, cl
add al, 0xb5
mov byte [0x4644ed], al
movzx eax, byte [0x4642de]
xor al, 0xa
mov byte [0x4644ee], al
movzx eax, byte [0x4642df]
xor al, 0x2a
mov byte [0x4644ef], al
movzx eax, byte [0x4642e0]
xor al, 0xbe
mov byte [0x4644f0], al
movzx eax, byte [0x4642e1]
mov ecx, eax
not cl
or cl, 0x9d
or al, 0x62
and al, cl
mov byte [0x4644f1], al
movzx eax, byte [0x4642e2]
mov ecx, eax
not cl
or al, 0x10
or cl, 0xef
and cl, al
not cl
mov byte [0x4644f2], cl
movzx eax, byte [0x4642e3]
xor al, 0xf5
mov byte [0x4644f3], al
movzx eax, byte [0x4642e4]
xor al, 0xac
mov byte [0x4644f4], al
movzx eax, byte [0x4642e5]
mov ecx, eax
add cl, al
and cl, 6
sub al, cl
add al, 3
mov byte [0x4644f5], al
movzx eax, byte [0x4642e6]
xor al, 0xf0
mov byte [0x4644f6], al
movzx eax, byte [0x4642e7]
xor al, 0x2f
mov byte [0x4644f7], al
movzx eax, byte [0x4642e8]
mov ecx, eax
add cl, al
and cl, 0x48
sub al, cl
add al, 0xa4
mov byte [0x4644f8], al
mov eax, 0x9b1c43c4
xor eax, dword [0x4642e9]
mov dword [0x4644f9], eax
movzx eax, byte [0x4642ed]
xor al, 0x11
mov byte [0x4644fd], al
movzx eax, byte [0x4642ee]
mov ecx, eax
add cl, al
and cl, 0x3c
sub al, cl
add al, 0x1e
mov byte [0x4644fe], al
movzx eax, byte [0x4642ef]
xor al, 0x2a
mov byte [0x4644ff], al
movzx eax, byte [0x4642f0]
xor al, 0x43
mov byte [0x464500], al
movzx eax, byte [0x4642f1]
mov ecx, eax
add cl, al
and cl, 0x8c
sub al, cl
add al, 0xc6
mov byte [0x464501], al
movzx eax, byte [0x4642f2]
mov ecx, eax
add cl, al
and cl, 0x2c
sub al, cl
add al, 0x16
mov byte [0x464502], al
movzx eax, byte [0x4642f3]
mov ecx, eax
add cl, al
and cl, 0xee
sub al, cl
add al, 0xf7
mov ecx, 0x7ead73f3
xor ecx, dword [0x4642f4]
mov byte [0x464503], al
mov dword [0x464504], ecx
movzx eax, byte [0x4642f8]
xor al, 0x3a
mov byte [0x464508], al
movzx eax, byte [0x4642f9]
xor al, 0x72
mov byte [0x464509], al
movzx eax, byte [0x4642fa]
mov ecx, eax
add cl, al
and cl, 0xbc
sub al, cl
add al, 0x5e
mov byte [0x46450a], al
mov eax, 0x7f54c8d8
xor eax, dword [0x4642fb]
mov dword [0x46450b], eax
movzx eax, byte [0x4642ff]
xor al, 0xfa
mov byte [0x46450f], al
movzx eax, byte [0x464300]
mov ecx, eax
add cl, al
and cl, 0x90
sub al, cl
add al, 0x48
mov byte [0x464510], al
mov eax, 0x7d91daf5
xor eax, dword [0x464301]
mov dword [0x464511], eax
movzx eax, byte [0x464305]
mov ecx, eax
add cl, al
and cl, 0x74
sub al, cl
add al, 0x3a
mov byte [0x464515], al
movzx eax, byte [0x464306]
xor al, 0x20
mov byte [0x464516], al
movzx eax, byte [0x464307]
xor al, 0x5d
mov byte [0x464517], al
movzx eax, byte [0x464308]
mov ecx, eax
add cl, al
and cl, 0x7c
sub al, cl
add al, 0x3e
mov byte [0x464518], al
movzx eax, byte [0x464309]
mov ecx, eax
not cl
or cl, 0xaf
or al, 0x50
and al, cl
mov byte [0x464519], al
movzx eax, byte [0x46430a]
mov ecx, eax
add cl, al
and cl, 0x2a
sub al, cl
add al, 0x95
mov byte [0x46451a], al
movzx eax, byte [0x46430b]
xor al, 0x55
mov byte [0x46451b], al
movzx eax, byte [0x46430c]
mov ecx, eax
add cl, al
and cl, 0x6c
sub al, cl
add al, 0xb6
mov byte [0x46451c], al
movsd xmm0, qword [0x46430d]
xorps xmm0, xmmword [0x45eaa0]
movlps qword [0x46451d], xmm0
movzx eax, byte [0x464315]
xor al, 0xd7
mov byte [0x464525], al
movzx eax, byte [0x464316]
mov ecx, eax
not cl
or cl, 0xf1
or al, 0xe
and al, cl
mov byte [0x464526], al
movsd xmm0, qword [0x464317]
xorps xmm0, xmmword [0x45eab0]
movlps qword [0x464527], xmm0
mov eax, 0xe0aeaf92
xor eax, dword [0x46431f]
mov dword [0x46452f], eax
movzx eax, byte [0x464323]
mov ecx, eax
add cl, al
and cl, 0x70
sub al, cl
add al, 0x38
mov byte [0x464533], al
movzx eax, byte [0x464324]
add al, 0x80
mov byte [0x464534], al
movzx eax, byte [0x464325]
mov ecx, eax
add cl, al
and cl, 0xe4
sub al, cl
add al, 0xf2
mov byte [0x464535], al
mov eax, 0xd485549b
xor eax, dword [0x464326]
mov dword [0x464536], eax
movzx eax, byte [0x46432a]
mov ecx, eax
not cl
or al, 0xc9
or cl, 0x36
and cl, al
not cl
mov byte [0x46453a], cl
movsd xmm0, qword [0x46432b]
xorps xmm0, xmmword [0x45eac0]
movlps qword [0x46453b], xmm0
mov eax, 0xb0d0830f
xor eax, dword [0x464333]
mov dword [0x464543], eax
movzx eax, byte [0x464337]
mov ecx, eax
add cl, al
and cl, 0xd8
sub al, cl
add al, 0x6c
mov byte [0x464547], al
movzx eax, byte [0x464338]
xor al, 0xda
mov byte [0x464548], al
movzx eax, byte [0x464339]
xor al, 0x16
mov byte [0x464549], al
movzx eax, byte [0x46433a]
xor al, 0xbf
mov byte [0x46454a], al
movzx eax, byte [str.::Q_]
mov ecx, eax
add cl, al
and cl, 0xfc
sub al, cl
add al, 0x7e
mov byte [0x46454b], al
movzx eax, byte [0x46433c]
xor al, 0xe
mov byte [0x46454c], al
movzx eax, byte [0x46433d]
mov ecx, eax
add cl, al
and cl, 0x28
sub al, cl
add al, 0x14
mov byte [0x46454d], al
movzx eax, byte [0x46433e]
mov ecx, eax
add cl, al
and cl, 0x1e
sub al, cl
add al, 0xf
mov byte [0x46454e], al
mov eax, 0x68e983bb
xor eax, dword [0x46433f]
mov dword [0x46454f], eax
movzx eax, byte [0x464343]
mov ecx, eax
add cl, al
and cl, 0x5e
sub al, cl
add al, 0xaf
mov byte [0x464553], al
movzx eax, byte [0x464344]
xor al, 0xf0
mov byte [0x464554], al
movzx eax, byte [0x464345]
xor al, 0xfb
mov byte [0x464555], al
movzx eax, byte [0x464346]
xor al, 0x1d
mov byte [0x464556], al
movzx eax, byte [0x464347]
mov ecx, eax
add cl, al
and cl, 0x9e
sub al, cl
add al, 0x4f
mov byte [0x464557], al
movzx eax, byte [0x464348]
xor al, 0xa7
mov byte [0x464558], al
movzx eax, byte [0x464349]
xor al, 0x3f
mov byte [0x464559], al
movzx eax, byte [0x46434a]
mov ecx, eax
add cl, al
and cl, 0x34
sub al, cl
add al, 0x1a
mov byte [0x46455a], al
movzx eax, byte [0x46434b]
xor al, 0xb9
mov byte [0x46455b], al
movzx eax, byte [0x46434c]
xor al, 0x16
mov byte [0x46455c], al
movzx eax, byte [0x46434d]
mov ecx, eax
add cl, al
and cl, 0x7c
sub al, cl
add al, 0x3e
mov byte [0x46455d], al
movsd xmm0, qword [0x46434e]
xorps xmm0, xmmword [0x45ead0]
movlps qword [0x46455e], xmm0
movzx eax, byte [0x464356]
mov ecx, eax
add cl, al
and cl, 0x8c
sub al, cl
add al, 0xc6
mov byte [0x464566], al
movsd xmm0, qword [0x464357]
xorps xmm0, xmmword [0x45eae0]
movlps qword [0x464567], xmm0
movzx eax, byte [0x46435f]
xor al, 0xa9
mov byte [0x46456f], al
movzx eax, byte [0x464360]
mov ecx, eax
add cl, al
and cl, 0x7a
sub al, cl
add al, 0xbd
movsd xmm0, qword [0x464361]
xorps xmm0, xmmword [0x45eaf0]
mov byte [0x464570], al
movlps qword [0x464571], xmm0
movzx eax, byte [0x464369]
xor al, 0xda
mov byte [0x464579], al
movzx eax, byte [0x46436a]
mov ecx, eax
add cl, al
and cl, 0xbc
sub al, cl
add al, 0xde
mov byte [0x46457a], al
movzx eax, byte [0x46436b]
xor al, 0x40
mov byte [0x46457b], al
movzx eax, byte [0x46436c]
xor al, 0xbf
mov byte [0x46457c], al
movzx eax, byte [0x46436d]
mov ecx, eax
add cl, al
not cl
add cl, al
mov byte [0x46457d], cl
movzx eax, byte [0x46436e]
mov ecx, eax
add cl, al
and cl, 0xf6
sub al, cl
add al, 0x7b
mov byte [0x46457e], al
movzx eax, byte [0x46436f]
xor al, 0xd9
mov byte [0x46457f], al
movzx eax, byte [0x464370]
xor al, 0x5d
mov byte [0x464580], al
movzx eax, byte [0x464371]
mov ecx, eax
add cl, al
and cl, 0xec
sub al, cl
add al, 0x76
mov byte [0x464581], al
movsd xmm0, qword [0x464372]
xorps xmm0, xmmword [0x45eb00]
movlps qword [0x464582], xmm0
mov eax, 0x960e8c08
xor eax, dword [0x46437a]
mov dword [str.So_5], eax
movzx eax, byte [0x46437e]
mov ecx, eax
add cl, al
and cl, 0xc8
sub al, cl
add al, 0xe4
mov byte [0x46458e], al
mov eax, 0xa070263c
xor eax, dword [0x46437f]
mov dword [0x46458f], eax
movzx eax, byte [0x464383]
mov ecx, eax
not cl
or al, 0x33
or cl, 0xcc
and cl, al
not cl
mov byte [0x464593], cl
movsd xmm0, qword [0x464384]
xorps xmm0, xmmword [0x45eb10]
movlps qword [0x464594], xmm0
movzx eax, byte [0x46438c]
xor al, 0x1c
mov byte [0x46459c], al
movzx eax, byte [0x46438d]
mov ecx, eax
add cl, al
and cl, 0x56
sub al, cl
add al, 0xab
mov byte [0x46459d], al
movzx eax, byte [0x46438e]
xor al, 0x5e
mov byte [0x46459e], al
movzx eax, byte [0x46438f]
xor al, 0x5a
mov byte [0x46459f], al
movzx eax, byte [0x464390]
xor al, 0xab
mov byte [0x4645a0], al
movzx eax, byte [0x464391]
mov ecx, eax
add cl, al
and cl, 0xba
sub al, cl
add al, 0xdd
mov byte [0x4645a1], al
movzx eax, byte [0x464392]
xor al, 0x73
mov byte [0x4645a2], al
movzx eax, byte [0x464393]
mov ecx, eax
add cl, al
and cl, 0x3e
sub al, cl
add al, 0x9f
mov byte [0x4645a3], al
movzx eax, byte [0x464394]
xor al, 7
mov byte [0x4645a4], al
movzx eax, byte [0x464395]
xor al, 0x5a
mov byte [0x4645a5], al
movzx eax, byte [0x464396]
xor al, 0xc5
mov byte [0x4645a6], al
movzx eax, byte [0x464397]
mov ecx, eax
add cl, al
and cl, 0xe6
sub al, cl
add al, 0xf3
mov byte [0x4645a7], al
movzx eax, byte [0x464398]
xor al, 0xac
mov byte [0x4645a8], al
movzx eax, byte [0x464399]
mov ecx, eax
not cl
or cl, 0x92
or al, 0x6d
and al, cl
mov byte [str.uK_LXv], al
mov eax, 0x1734bb02
xor eax, dword [0x46439a]
mov dword [0x4645aa], eax
movzx eax, byte [0x46439e]
mov ecx, eax
add cl, al
and cl, 0xf4
sub al, cl
add al, 0x7a
mov byte [0x4645ae], al
movzx eax, byte [0x46439f]
mov ecx, eax
add cl, al
and cl, 8
sub al, cl
add al, 4
mov byte [0x4645af], al
movzx eax, byte [0x4643a0]
mov ecx, eax
add cl, al
and cl, 0x8a
sub al, cl
add al, 0xc5
mov ecx, 0x151edbc0
xor ecx, dword [0x4643a1]
mov byte [0x4645b0], al
mov dword [0x4645b1], ecx
movzx eax, byte [0x4643a5]
xor al, 0xc0
mov byte [0x4645b5], al
movzx eax, byte [0x4643a6]
mov ecx, eax
add cl, al
and cl, 0x22
sub al, cl
add al, 0x11
mov byte [0x4645b6], al
mov eax, 0xb5cd8d2
xor eax, dword [0x4643a7]
mov dword [0x4645b7], eax
movzx eax, byte [0x4643ab]
xor al, 0x96
mov byte [0x4645bb], al
movzx eax, byte [0x4643ac]
xor al, 0x96
mov byte [0x4645bc], al
movzx eax, byte [0x4643ad]
xor al, 0x4c
mov byte [0x4645bd], al
movzx eax, byte [0x4643ae]
mov ecx, eax
add cl, al
and cl, 0x96
sub al, cl
add al, 0xcb
mov byte [0x4645be], al
mov eax, 0x452c71f3
xor eax, dword [0x4643af]
mov dword [0x4645bf], eax
movzx eax, byte [0x4643b3]
xor al, 0x88
mov byte [0x4645c3], al
movzx eax, byte [0x4643b4]
xor al, 0x2b
mov byte [0x4645c4], al
movzx eax, byte [0x4643b5]
mov ecx, eax
add cl, al
and cl, 0x3a
sub al, cl
add al, 0x9d
mov byte [str.3__n_v], al
movzx eax, byte [0x4643b6]
xor al, 0x22
mov byte [0x4645c6], al
movzx eax, byte [0x4643b7]
xor al, 0x70
mov byte [0x4645c7], al
movzx eax, byte [0x4643b8]
mov ecx, eax
add cl, al
and cl, 0x50
sub al, cl
add al, 0x28
mov byte [0x4645c8], al
movzx eax, byte [0x4643b9]
xor al, 0x8b
mov byte [0x4645c9], al
movzx eax, byte [0x4643ba]
mov ecx, eax
add cl, al
and cl, 0x18
sub al, cl
add al, 0xc
mov byte [0x4645ca], al
movzx eax, byte [0x4643bb]
xor al, 0x65
mov byte [0x4645cb], al
movzx eax, byte [0x4643bc]
xor al, 0xad
mov byte [str.__f1m], al
movzx eax, byte [0x4643bd]
mov ecx, eax
add cl, al
and cl, 0x3a
sub al, cl
add al, 0x1d
mov byte [0x4645cd], al
movzx eax, byte [0x4643be]
xor al, 0x94
mov byte [0x4645ce], al
movzx eax, byte [0x4643bf]
xor al, 0xa2
mov byte [0x4645cf], al
movzx eax, byte [0x4643c0]
mov ecx, eax
add cl, al
and cl, 0x52
sub al, cl
add al, 0x29
mov byte [0x4645d0], al
movzx eax, byte [0x4643c1]
xor al, 0xae
mov byte [0x4645d1], al
movzx eax, byte [0x4643c2]
mov ecx, eax
not cl
or cl, 0x38
or al, 0xc7
and al, cl
mov byte [0x4645d2], al
mov eax, 0x4c736f3b
xor eax, dword [str._nVAu]
mov dword [0x4645d3], eax
movzx eax, byte [0x4643c7]
xor al, 0x4d
mov byte [0x4645d7], al
movzx eax, byte [0x4643c8]
xor al, 0xd9
mov byte [0x4645d8], al
movzx eax, byte [0x4643c9]
xor al, 0x79
mov byte [0x4645d9], al
movzx eax, byte [0x4643ca]
mov ecx, eax
add cl, al
and cl, 0xcc
sub al, cl
add al, 0x66
mov byte [0x4645da], al
movzx eax, byte [0x4643cb]
xor al, 0xd9
mov byte [0x4645db], al
movzx eax, byte [0x4643cc]
xor al, 0xdd
mov byte [0x4645dc], al
movzx eax, byte [0x4643cd]
mov ecx, eax
add cl, al
and cl, 0xac
sub al, cl
add al, 0x56
mov byte [0x4645dd], al
movzx eax, byte [0x4643ce]
mov ecx, eax
not cl
or cl, 0xea
or al, 0x15
and al, cl
mov byte [0x4645de], al
movzx eax, byte [0x4643cf]
mov ecx, eax
add cl, al
and cl, 0xa0
sub al, cl
add al, 0xd0
mov byte [0x4645df], al
movzx eax, byte [0x4643d0]
xor al, 0xdc
mov byte [0x4645e0], al
movzx eax, byte [0x4643d1]
xor al, 0xe3
mov byte [0x4645e1], al
movzx eax, byte [0x4643d2]
mov ecx, eax
add cl, al
and cl, 0x60
sub al, cl
add al, 0x30
mov byte [0x4645e2], al
movsd xmm0, qword [0x4643d3]
xorps xmm0, xmmword [0x45eb20]
movlps qword [0x4645e3], xmm0
movzx eax, byte [0x4643db]
xor al, 0xca
mov byte [0x4645eb], al
movzx eax, byte [0x4643dc]
mov ecx, eax
not cl
or al, 0x3b
or cl, 0xc4
and cl, al
not cl
mov byte [0x4645ec], cl
movzx eax, byte [0x4643dd]
mov ecx, eax
add cl, al
and cl, 0x70
sub al, cl
add al, 0x38
mov ecx, 0x6bcb372c
xor ecx, dword [0x4643de]
mov byte [0x4645ed], al
mov dword [str.VzlU], ecx
movzx eax, byte [0x4643e2]
xor al, 0x2e
mov byte [0x4645f2], al
movzx eax, byte [0x4643e3]
xor al, 0x11
mov byte [0x4645f3], al
movzx eax, byte [0x4643e4]
xor al, 0x12
mov byte [0x4645f4], al
movzx eax, byte [0x4643e5]
mov ecx, eax
not cl
or al, 0x4c
or cl, 0xb3
and cl, al
not cl
mov byte [0x4645f5], cl
movzx eax, byte [0x4643e6]
xor al, 0xfd
mov byte [0x4645f6], al
movzx eax, byte [0x4643e7]
mov ecx, eax
add cl, al
and cl, 0x9a
sub al, cl
add al, 0xcd
mov byte [0x4645f7], al
movups xmm0, xmmword [0x4643e8]
xorps xmm0, xmmword [0x45eb30]
movups xmmword [0x4645f8], xmm0
movzx eax, byte [0x4643f8]
xor al, 0x9d
mov byte [0x464608], al
movzx eax, byte [0x4643f9]
mov ecx, eax
add cl, al
and cl, 0xf8
sub al, cl
add al, 0xfc
mov byte [0x464609], al
movzx eax, byte [0x4643fa]
xor al, 0xcd
mov byte [0x46460a], al
movzx eax, byte [0x4643fb]
mov ecx, eax
add cl, al
and cl, 0xe6
sub al, cl
add al, 0xf3
mov byte [0x46460b], al
mov eax, 0x3783c8ee
xor eax, dword [0x4643fc]
mov dword [0x46460c], eax
movzx eax, byte [0x464400]
xor al, 0xbb
mov byte [0x464610], al
movzx eax, byte [0x464401]
mov ecx, eax
add cl, al
and cl, 0xf4
sub al, cl
add al, 0xfa
mov byte [0x464611], al
movzx eax, byte [0x464402]
mov ecx, eax
add cl, al
and cl, 0x3e
sub al, cl
add al, 0x1f
mov byte [0x464612], al
movzx eax, byte [0x464403]
xor al, 0xf3
mov byte [0x464613], al
movzx eax, byte [0x464404]
xor al, 0x92
mov byte [0x464614], al
movzx eax, byte [0x464405]
movups xmm0, xmmword [0x464406]
xorps xmm0, xmmword [0x45eb40]
mov byte [0x464615], al
mov eax, 0x7f07dfed
xor eax, dword [0x464416]
movups xmmword [0x464616], xmm0
mov dword [0x464626], eax
movzx eax, byte [0x46441a]
xor al, 0xaf
mov byte [0x46462a], al
movzx eax, byte [0x46441b]
xor al, 0x81
mov byte [0x46462b], al
movzx eax, byte [0x46441c]
mov ecx, eax
not cl
or cl, 0xb5
or al, 0x4a
and al, cl
mov byte [0x46462c], al
movsd xmm0, qword [0x46441d]
xorps xmm0, xmmword [0x45eb50]
movlps qword [0x46462d], xmm0
movzx eax, byte [0x464425]
mov ecx, eax
not cl
or cl, 0x30
or al, 0xcf
and al, cl
mov ecx, 0x9a78f088
xor ecx, dword [0x464426]
mov byte [0x464635], al
mov dword [0x464636], ecx
movzx eax, byte [0x46442a]
xor al, 0x4e
mov byte [0x46463a], al
movzx eax, byte [0x46442b]
xor al, 9
mov byte [0x46463b], al
movzx eax, byte [0x46442c]
xor al, 0xbf
mov byte [0x46463c], al
movzx eax, byte [0x46442d]
mov ecx, eax
not cl
or al, 0x6d
or cl, 0x92
and cl, al
not cl
mov byte [0x46463d], cl
movzx eax, byte [0x46442e]
mov ecx, eax
add cl, al
and cl, 0x8e
sub al, cl
add al, 0x47
mov byte [0x46463e], al
movzx eax, byte [0x46442f]
xor al, 0xce
mov byte [0x46463f], al
movzx eax, byte [0x464430]
xor al, 1
mov byte [0x464640], al
movzx eax, byte [0x464431]
mov ecx, eax
add cl, al
and cl, 0xa2
sub al, cl
add al, 0xd1
mov byte [0x464641], al
movzx eax, byte [0x464432]
mov ecx, eax
not cl
or cl, 0xde
or al, 0x21
and al, cl
mov ecx, 0x937cc442
xor ecx, dword [0x464433]
mov byte [0x464642], al
mov dword [0x464643], ecx
movzx eax, byte [0x464437]
xor al, 0x4c
mov byte [0x464647], al
movzx eax, byte [0x464438]
mov ecx, eax
add cl, al
and cl, 0x7c
sub al, cl
add al, 0x3e
mov byte [0x464648], al
movsd xmm0, qword [0x464439]
xorps xmm0, xmmword [str.e5._v]
movlps qword [0x464649], xmm0
mov eax, 0x969773c8
xor eax, dword [0x464441]
mov dword [0x464651], eax
movzx eax, byte [0x464445]
xor al, 0x7c
mov byte [0x464655], al
movzx eax, byte [0x464446]
mov ecx, eax
not cl
or al, 0x87
or cl, 0x78
and cl, al
not cl
mov byte [0x464656], cl
mov eax, 0xfcda0ca0
xor eax, dword [0x464447]
mov dword [0x464657], eax
movzx eax, byte [0x46444b]
xor al, 0xd
mov byte [0x46465b], al
movzx eax, byte [0x46444c]
xor al, 0xed
mov byte [0x46465c], al
movzx eax, byte [0x46444d]
mov ecx, eax
add cl, al
and cl, 0x20
sub al, cl
add al, 0x90
mov byte [0x46465d], al
movzx eax, byte [0x46444e]
mov ecx, eax
add cl, al
and cl, 0xf4
sub al, cl
add al, 0x7a
mov byte [0x46465e], al
movzx eax, byte [0x46444f]
xor al, 0xba
mov byte [0x46465f], al
movzx eax, byte [0x464450]
mov ecx, eax
add cl, al
and cl, 0x7e
sub al, cl
add al, 0xbf
mov byte [0x464660], al
movzx eax, byte [0x464451]
xor al, 0x1b
mov byte [0x464661], al
movzx eax, byte [0x464452]
xor al, 0xf3
mov byte [0x464662], al
movzx eax, byte [0x464453]
mov ecx, eax
not cl
or al, 0x61
or cl, 0x9e
and cl, al
not cl
mov byte [str.3OC], cl
movzx eax, byte [0x464454]
xor al, 0x95
mov byte [0x464664], al
movzx eax, byte [0x464455]
xor al, 0x4d
mov byte [0x464665], al
movzx eax, byte [0x464456]
xor al, 0x27
mov byte [0x464666], al
movzx eax, byte [0x464457]
mov ecx, eax
add cl, al
and cl, 0xc6
sub al, cl
add al, 0xe3
mov byte [0x464667], al
mov eax, 0xc308f1e6
xor eax, dword [0x464458]
mov dword [0x464668], eax
movzx eax, byte [0x46445c]
xor al, 0xd7
mov byte [0x46466c], al
movzx eax, byte [0x46445d]
mov ecx, eax
add cl, al
and cl, 0x18
sub al, cl
add al, 0xc
mov byte [0x46466d], al
mov eax, 0xa1f1f970
xor eax, dword [0x46445e]
mov dword [0x46466e], eax
movzx eax, byte [0x464462]
xor al, 0x16
mov byte [0x464672], al
movzx eax, byte [0x464463]
mov ecx, eax
not cl
or al, 0x6a
or cl, 0x95
and cl, al
not cl
mov byte [0x464673], cl
movzx eax, byte [0x464464]
xor al, 0xd5
mov byte [0x464674], al
movzx eax, byte [0x464465]
xor al, 0x56
mov byte [0x464675], al
movzx eax, byte [0x464466]
mov ecx, eax
add cl, al
and cl, 0xb4
sub al, cl
add al, 0x5a
mov byte [0x464676], al
movzx eax, byte [0x464467]
xor al, 6
mov byte [0x464677], al
movzx eax, byte [0x464468]
xor al, 5
mov byte [0x464678], al
movzx eax, byte [0x464469]
mov ecx, eax
add cl, al
and cl, 0x98
sub al, cl
add al, 0xcc
mov byte [0x464679], al
movzx eax, byte [0x46446a]
xor al, 0xa1
mov byte [0x46467a], al
movzx eax, byte [0x46446b]
xor al, 0x76
mov byte [0x46467b], al
movzx eax, byte [0x46446c]
xor al, 0x85
mov byte [0x46467c], al
movzx eax, byte [0x46446d]
mov ecx, eax
add cl, al
and cl, 0x34
sub al, cl
add al, 0x9a
movsd xmm0, qword [0x46446e]
xorps xmm0, xmmword [0x45eb70]
mov byte [0x46467d], al
movlps qword [0x46467e], xmm0
movzx eax, byte [0x464476]
xor al, 0xdd
mov byte [0x464686], al
movzx eax, byte [0x464477]
xor al, 0xc4
mov byte [0x464687], al
movzx eax, byte [0x464478]
xor al, 0xc6
mov byte [0x464688], al
movzx eax, byte [0x464479]
mov ecx, eax
add cl, al
and cl, 0xee
sub al, cl
add al, 0xf7
mov byte [0x464689], al
movzx eax, byte [0x46447a]
xor al, 0xa9
mov byte [0x46468a], al
movzx eax, byte [0x46447b]
xor al, 0xb3
mov byte [0x46468b], al
movzx eax, byte [0x46447c]
xor al, 0xca
mov byte [0x46468c], al
movzx eax, byte [0x46447d]
mov ecx, eax
not cl
or cl, 0xe0
or al, 0x1f
and al, cl
mov byte [0x46468d], al
movzx eax, byte [0x46447e]
xor al, 0xb5
mov byte [0x46468e], al
movzx eax, byte [0x46447f]
xor al, 0x93
mov byte [0x46468f], al
movzx eax, byte [0x464480]
mov ecx, eax
add cl, al
and cl, 0xe8
sub al, cl
add al, 0x74
mov byte [0x464690], al
movsd xmm0, qword [0x464481]
xorps xmm0, xmmword [0x45eb80]
movlps qword [0x464691], xmm0
movzx eax, byte [0x464489]
mov ecx, eax
add cl, al
and cl, 0x66
sub al, cl
add al, 0xb3
mov ecx, 0x4a888c35
xor ecx, dword [0x46448a]
mov byte [str.8zV], al
mov dword [0x46469a], ecx
movzx eax, byte [0x46448e]
add al, 0x80
mov byte [0x46469e], al
movzx eax, byte [0x46448f]
xor al, 0x59
mov byte [0x46469f], al
movzx eax, byte [0x464490]
mov ecx, eax
not cl
or al, 0x26
or cl, 0xd9
and cl, al
not cl
mov byte [0x4646a0], cl
mov eax, 0x2318c395
xor eax, dword [0x464491]
mov dword [0x4646a1], eax
movzx eax, byte [0x464495]
xor al, 0x1f
mov byte [str.K_FMB], al
movzx eax, byte [0x464496]
mov ecx, eax
add cl, al
and cl, 0x64
sub al, cl
add al, 0xb2
movsd xmm0, qword [0x464497]
xorps xmm0, xmmword [0x45eb90]
mov byte [0x4646a6], al
movlps qword [0x4646a7], xmm0
movzx eax, byte [0x46449f]
mov ecx, eax
add cl, al
and cl, 0xea
sub al, cl
add al, 0xf5
mov byte [0x4646af], al
movzx eax, byte [0x4644a0]
xor al, 0x52
mov byte [0x4646b0], al
movaps xmm0, xmmword [0x464100]
xorps xmm0, xmmword [0x45eba0]
movss dword [0x4641d0], xmm0
movzx eax, byte [0x464104]
xor al, 0xfd
mov byte [0x4641d4], al
movzx eax, byte [0x464105]
mov ecx, eax
add cl, al
and cl, 0x5c
sub al, cl
add al, 0xae
movups xmm0, xmmword [0x464106]
xorps xmm0, xmmword [0x45ebb0]
mov byte [0x4641d5], al
movups xmmword [0x4641d6], xmm0
movzx eax, byte [0x464116]
xor al, 0x34
mov byte [0x4641e6], al
movzx eax, byte [0x464117]
mov ecx, eax
add cl, al
and cl, 0x4e
sub al, cl
add al, 0x27
mov byte [0x4641e7], al
movzx eax, byte [0x464118]
mov ecx, eax
add cl, al
and cl, 0x84
sub al, cl
add al, 0x42
mov byte [0x4641e8], al
movzx eax, byte [0x464119]
xor al, 0x59
mov byte [0x4641e9], al
movzx eax, byte [0x46411a]
xor al, 0x5d
mov byte [0x4641ea], al
movzx eax, byte [0x46411b]
mov ecx, eax
add cl, al
and cl, 0x8a
sub al, cl
add al, 0xc5
mov byte [0x4641eb], al
mov eax, 0x278fd13e
xor eax, dword [0x46411c]
mov dword [str..r1_W6_4W3], eax
movzx eax, byte [0x464120]
mov ecx, eax
add cl, al
and cl, 0x7a
sub al, cl
add al, 0xbd
mov byte [0x4641f0], al
movzx eax, byte [0x464121]
xor al, 0xa8
mov byte [0x4641f1], al
movzx eax, byte [0x464122]
xor al, 0xae
mov byte [0x4641f2], al
movzx eax, byte [0x464123]
xor al, 0x12
mov byte [0x4641f3], al
movzx eax, byte [0x464124]
mov ecx, eax
not cl
or al, 0xc5
or cl, 0x3a
and cl, al
not cl
mov byte [0x4641f4], cl
movzx eax, byte [0x464125]
mov ecx, eax
not cl
or al, 0x7f
or cl, 0x80
and cl, al
not cl
mov byte [0x4641f5], cl
movsd xmm0, qword [0x464126]
xorps xmm0, xmmword [0x45ebc0]
movlps qword [0x4641f6], xmm0
mov eax, 0x88c7050
xor eax, dword [0x46412e]
mov dword [0x4641fe], eax
movzx eax, byte [0x464132]
xor al, 0x5f
mov byte [0x464202], al
movzx eax, byte [0x464133]
mov ecx, eax
not cl
or al, 0xf8
or cl, 7
and cl, al
not cl
mov byte [0x464203], cl
movzx eax, byte [0x464134]
mov ecx, eax
not cl
or al, 0x1c
or cl, 0xe3
and cl, al
not cl
mov byte [0x464204], cl
movzx eax, byte [0x464135]
xor al, 0xa3
mov byte [0x464205], al
movzx eax, byte [0x464136]
mov ecx, eax
not cl
or cl, 0x24
or al, 0xdb
and al, cl
mov byte [0x464206], al
movzx eax, byte [0x464137]
mov ecx, eax
add cl, al
and cl, 0xf0
sub al, cl
add al, 0xf8
mov byte [0x464207], al
movzx eax, byte [0x464138]
xor al, 0x15
mov byte [0x464208], al
movzx eax, byte [0x464139]
mov ecx, eax
not cl
or cl, 0xc4
or al, 0x3b
and al, cl
movups xmm0, xmmword [0x46413a]
xorps xmm0, xmmword [0x45ebd0]
mov byte [0x464209], al
movups xmmword [0x46420a], xmm0
movzx eax, byte [0x46414a]
xor al, 6
mov byte [0x46421a], al
movzx eax, byte [0x46414b]
mov ecx, eax
add cl, al
and cl, 0x9c
sub al, cl
add al, 0x4e
mov byte [0x46421b], al
movzx eax, byte [0x46414c]
xor al, 0x65
mov byte [0x46421c], al
movzx eax, byte [0x46414d]
xor al, 0xb9
mov byte [0x46421d], al
movzx eax, byte [0x46414e]
mov ecx, eax
add cl, al
and cl, 0xb6
sub al, cl
add al, 0xdb
mov byte [0x46421e], al
mov eax, 0x3a1cd0ed
xor eax, dword [0x46414f]
mov dword [0x46421f], eax
movzx eax, byte [0x464153]
xor al, 0xfc
mov byte [0x464223], al
movzx eax, byte [0x464154]
xor al, 0x10
mov byte [0x464224], al
movzx eax, byte [0x464155]
xor al, 0x7c
mov byte [0x464225], al
movzx eax, byte [0x464156]
mov ecx, eax
not cl
or cl, 0xc8
or al, 0x37
and al, cl
mov byte [0x464226], al
movzx eax, byte [0x464157]
xor al, 0x5d
mov byte [0x464227], al
movzx eax, byte [0x464158]
mov ecx, eax
add cl, al
and cl, 0x5e
sub al, cl
add al, 0xaf
mov byte [str.nH_rJ], al
movsd xmm0, qword [0x464159]
xorps xmm0, xmmword [0x45ebe0]
movlps qword [0x464229], xmm0
movzx eax, byte [0x464161]
xor al, 0x2c
mov byte [0x464231], al
movzx eax, byte [0x464162]
xor al, 0xf9
mov byte [0x464232], al
movzx eax, byte [0x464163]
xor al, 0xbd
mov byte [0x464233], al
movzx eax, byte [0x464164]
mov ecx, eax
add cl, al
and cl, 0xb0
sub al, cl
add al, 0x58
mov byte [0x464234], al
movzx eax, byte [0x464165]
xor al, 0xb9
mov byte [0x464235], al
movzx eax, byte [0x464166]
xor al, 0x6f
mov byte [0x464236], al
movzx eax, byte [0x464167]
xor al, 0x8f
mov byte [0x464237], al
movzx eax, byte [0x464168]
mov ecx, eax
add cl, al
and cl, 0x7a
sub al, cl
add al, 0x3d
mov byte [0x464238], al
mov eax, 0x3f60713
xor eax, dword [0x464169]
mov dword [0x464239], eax
movzx eax, byte [0x46416d]
xor al, 0xd7
mov byte [0x46423d], al
movzx eax, byte [0x46416e]
mov ecx, eax
add cl, al
and cl, 0x76
sub al, cl
add al, 0x3b
mov byte [0x46423e], al
movzx eax, byte [0x46416f]
xor al, 0xfc
mov byte [str.__su], al
movzx eax, byte [0x464170]
mov ecx, eax
add cl, al
and cl, 0xf6
sub al, cl
add al, 0x7b
mov byte [0x464240], al
movzx eax, byte [0x464171]
xor al, 0x24
mov byte [0x464241], al
movzx eax, byte [0x464172]
mov ecx, eax
add cl, al
and cl, 0x5a
sub al, cl
add al, 0x2d
mov byte [0x464242], al
movzx eax, byte [0x464173]
xor al, 0xb1
mov byte [0x464243], al
movzx eax, byte [0x464174]
mov ecx, eax
not cl
or al, 8
or cl, 0xf7
and cl, al
not cl
mov byte [0x464244], cl
movzx eax, byte [0x464175]
xor al, 0xc1
mov byte [0x464245], al
movzx eax, byte [0x464176]
xor al, 0x61
mov byte [0x464246], al
movzx eax, byte [0x464177]
xor al, 0x3a
mov byte [0x464247], al
movzx eax, byte [0x464178]
mov ecx, eax
not cl
or cl, 0x9b
or al, 0x64
and al, cl
mov byte [0x464248], al
movzx eax, byte [0x464179]
xor al, 0xbf
mov byte [0x464249], al
movzx eax, byte [0x46417a]
xor al, 0x38
mov byte [0x46424a], al
movzx eax, byte [str.6kh]
xor al, 7
mov byte [0x46424b], al
movzx eax, byte [0x46417c]
mov ecx, eax
add cl, al
and cl, 0xba
sub al, cl
add al, 0x5d
mov byte [0x46424c], al
mov eax, 0x418e685a
xor eax, dword [0x46417d]
mov dword [0x46424d], eax
movzx eax, byte [0x464181]
mov ecx, eax
add cl, al
and cl, 0xd4
sub al, cl
add al, 0x6a
mov byte [0x464251], al
mov eax, 0xd6779ddc
xor eax, dword [0x464182]
mov dword [0x464252], eax
movzx eax, byte [0x464186]
xor al, 0xd5
mov byte [0x464256], al
movzx eax, byte [0x464187]
xor al, 0x98
mov byte [0x464257], al
movzx eax, byte [0x464188]
xor al, 0xfc
mov byte [0x464258], al
movzx eax, byte [0x464189]
movsd xmm0, qword [0x46418a]
xorps xmm0, xmmword [0x45ebf0]
mov byte [0x464259], al
mov eax, 0x12859259
xor eax, dword [0x464192]
movlps qword [0x46425a], xmm0
mov dword [0x464262], eax
movzx eax, byte [0x464196]
xor al, 0xdc
mov byte [0x464266], al
movzx eax, byte [0x464197]
xor al, 0x97
mov byte [0x464267], al
movzx eax, byte [0x464198]
mov ecx, eax
add cl, al
and cl, 0xce
sub al, cl
add al, 0x67
mov byte [0x464268], al
mov eax, 0x63ebd729
xor eax, dword [0x464199]
mov dword [0x464269], eax
movzx eax, byte [0x46419d]
xor al, 0x3d
mov byte [0x46426d], al
movzx eax, byte [0x46419e]
xor al, 7
mov byte [0x46426e], al
movzx eax, byte [0x46419f]
mov ecx, eax
add cl, al
and cl, 0x3e
sub al, cl
add al, 0x9f
mov byte [0x46426f], al
movaps xmm0, xmmword [0x4641a0]
xorps xmm0, xmmword [0x45ec00]
movss dword [0x464270], xmm0
movzx eax, byte [0x4641a4]
xor al, 0x5f
mov byte [0x464274], al
movzx eax, byte [0x4641a5]
xor al, 0x56
mov byte [0x464275], al
movzx eax, byte [0x4641a6]
xor al, 0xc7
mov byte [str._e6G], al
movzx eax, byte [0x4641a7]
mov ecx, eax
add cl, al
and cl, 0xe6
sub al, cl
add al, 0x73
mov byte [0x464277], al
movzx eax, byte [0x4641a8]
xor al, 0xa8
mov byte [0x464278], al
movzx eax, byte [0x4641a9]
xor al, 0x20
mov byte [0x464279], al
movzx eax, byte [0x4641aa]
mov ecx, eax
add cl, al
and cl, 0x3a
sub al, cl
add al, 0x9d
mov byte [0x46427a], al
movzx eax, byte [0x4641ab]
xor al, 0xa5
mov byte [0x46427b], al
movzx eax, byte [0x4641ac]
mov ecx, eax
add cl, al
and cl, 0xba
sub al, cl
add al, 0xdd
mov byte [0x46427c], al
mov eax, 0x22ea3d86
xor eax, dword [0x4641ad]
mov dword [0x46427d], eax
movzx eax, byte [0x4641b1]
xor al, 0xbd
mov byte [0x464281], al
movzx eax, byte [0x4641b2]
mov ecx, eax
not cl
or al, 7
or cl, 0xf8
and cl, al
not cl
mov byte [0x464282], cl
movzx eax, byte [0x4641b3]
xor al, 0xe9
mov byte [0x464283], al
movzx eax, byte [0x4641b4]
xor al, 0xae
mov byte [0x464284], al
movzx eax, byte [0x4641b5]
mov ecx, eax
add cl, al
and cl, 0xf6
sub al, cl
add al, 0xfb
mov byte [0x464285], al
movzx eax, byte [0x4641b6]
xor al, 0x34
mov byte [0x464286], al
movzx eax, byte [0x4641b7]
xor al, 0xe1
mov byte [0x464287], al
movzx eax, byte [0x4641b8]
mov ecx, eax
add cl, al
and cl, 0x92
sub al, cl
add al, 0x49
mov byte [0x464288], al
movzx eax, byte [0x4641b9]
mov ecx, eax
add cl, al
and cl, 0x90
sub al, cl
add al, 0xc8
mov byte [0x464289], al
movzx eax, byte [0x4641ba]
mov ecx, eax
add cl, al
and cl, 0xda
sub al, cl
add al, 0x6d
movsd xmm0, qword [0x4641bb]
xorps xmm0, xmmword [str.804]
mov byte [0x46428a], al
movlps qword [0x46428b], xmm0
movzx eax, byte [0x4641c3]
mov ecx, eax
add cl, al
and cl, 0x62
sub al, cl
add al, 0x31
mov byte [0x464293], al
mov eax, 0x8810ea10
xor eax, dword [0x4641c4]
mov dword [0x464294], eax
movzx eax, byte [0x4641c8]
xor al, 0x3a
mov byte [0x464298], al
mov edx, dword [esp + 0x14]
mov dword [0x481d78], 1
cmp esi, 0x24
ja 0x41addb
cmp esi, 1
je 0x41addb
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 0x41ade2
cmp esi, 0xa
je 0x41adec
cmp esi, 0x10
jne 0x41adc0
movzx edx, al
cmp al, 0xf
ja 0x41ae3a
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
jmp 0x41ae73
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 0x41adc0
jmp 0x41aeab
mov ecx, edx
jmp 0x41aeab
mov byte [ecx - 1], 0x30
dec ecx
jmp 0x41aeab
cmp al, 0x64
jb 0x41ae65
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, 0x7d
mov edi, eax
and edi, 2
or eax, 2
imul eax, edi
xor edi, 2
imul edi, esi
movzx ebx, byte [edi + eax + 0x4641d1]
mov byte [ecx - 1], bl
movzx eax, byte [edi + eax + 0x4641d0]
mov byte [ecx - 2], al
add ecx, 0xfffffffe
mov eax, edx
jmp 0x41ae69
mov eax, edx
or eax, 2
mov esi, edx
and esi, 2
imul eax, esi
and edx, 0xfffffffd
xor esi, 2
imul esi, edx
movzx edx, byte [esi + eax + 0x4644b1]
mov byte [ecx - 1], dl
movzx eax, byte [esi + eax + 0x4644b0]
jmp 0x41aea5
cmp al, 9
ja 0x41ae79
movzx eax, al
movzx eax, byte [eax + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ecx - 1], al
dec ecx
jmp 0x41aeab
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 + 0x4641d1]
mov byte [ecx - 1], dl
movzx eax, byte [esi + eax + 0x4641d0]
mov byte [ecx - 2], al
add ecx, 0xfffffffe
mov eax, ecx
pop esi
pop edi
pop ebx
ret