Function at 0x419610
Capabilities:
Authenticate hmac
Parse pe header

Disassembly:
push ebx
push edi
push esi
mov esi, dword [esp + 0x1c]
mov eax, dword [0x488074]
test eax, eax
jne 0x41aec5
movzx eax, byte [0x469530]
mov ecx, eax
not cl
or cl, 0x2d
or al, 0xd2
and al, cl
mov byte [0x469600], al
mov eax, 0xe1d73f22
xor eax, dword [0x469531]
mov dword [0x469601], eax
movzx eax, byte [str.j]
xor al, 0xe2
mov byte [0x469605], al
movzx eax, byte [0x469536]
xor al, 0xab
mov byte [0x469606], al
movzx eax, byte [0x469537]
xor al, 0x59
mov byte [0x469607], al
movzx eax, byte [0x469538]
mov ecx, eax
add cl, al
and cl, 0xf2
sub al, cl
add al, 0xf9
mov byte [0x469608], al
mov eax, 0x898ceb80
xor eax, dword [0x469539]
mov dword [0x469609], eax
movzx eax, byte [0x46953d]
xor al, 0xd6
mov byte [0x46960d], al
movzx eax, byte [0x46953e]
mov ecx, eax
add cl, al
and cl, 0xe2
sub al, cl
add al, 0x71
mov byte [0x46960e], al
movzx eax, byte [0x46953f]
xor al, 0xe3
mov byte [0x46960f], al
movzx eax, byte [0x469540]
mov ecx, eax
add cl, al
and cl, 0x66
sub al, cl
add al, 0x33
mov byte [0x469610], al
mov eax, 0x54fdeb09
xor eax, dword [0x469541]
mov dword [0x469611], eax
movzx eax, byte [0x469545]
xor al, 0x59
mov byte [0x469615], al
movzx eax, byte [0x469546]
xor al, 0xd0
mov byte [0x469616], al
movzx eax, byte [0x469547]
mov ecx, eax
not cl
or al, 0x24
or cl, 0xdb
and cl, al
not cl
mov byte [0x469617], cl
movzx eax, byte [0x469548]
xor al, 8
mov byte [0x469618], al
movzx eax, byte [0x469549]
xor al, 0xbc
mov byte [0x469619], al
movzx eax, byte [0x46954a]
mov ecx, eax
add cl, al
and cl, 0x48
sub al, cl
add al, 0x24
mov byte [0x46961a], al
movsd xmm0, qword [0x46954b]
xorps xmm0, xmmword [0x463aa0]
movlps qword [0x46961b], xmm0
movzx eax, byte [0x469553]
mov ecx, eax
add cl, al
and cl, 0xe0
sub al, cl
add al, 0xf0
movsd xmm0, qword [0x469554]
xorps xmm0, xmmword [0x463ab0]
mov byte [0x469623], al
mov eax, 0xe42f1096
xor eax, dword [0x46955c]
movlps qword [0x469624], xmm0
mov dword [0x46962c], eax
movzx eax, byte [0x469560]
xor al, 0x75
mov byte [0x469630], al
movzx eax, byte [0x469561]
mov ecx, eax
add cl, al
and cl, 0xb4
sub al, cl
add al, 0x5a
mov byte [0x469631], al
movzx eax, byte [0x469562]
xor al, 0xa
mov byte [0x469632], al
movzx eax, byte [0x469563]
xor al, 0xf4
mov byte [0x469633], al
movzx eax, byte [0x469564]
mov ecx, eax
add cl, al
and cl, 0x28
sub al, cl
add al, 0x14
mov byte [0x469634], al
movzx eax, byte [0x469565]
mov ecx, eax
add cl, al
and cl, 0x34
sub al, cl
add al, 0x9a
mov byte [0x469635], al
movsd xmm0, qword [0x469566]
xorps xmm0, xmmword [0x463ac0]
movlps qword [0x469636], xmm0
mov eax, 0x22e598d8
xor eax, dword [0x46956e]
mov dword [0x46963e], eax
movzx eax, byte [0x469572]
xor al, 0x1b
mov byte [0x469642], al
movzx eax, byte [0x469573]
mov ecx, eax
add cl, al
and cl, 0x7c
sub al, cl
add al, 0xbe
movups xmm0, xmmword [0x469574]
xorps xmm0, xmmword [0x463ad0]
mov byte [0x469643], al
movups xmmword [0x469644], xmm0
movzx eax, byte [0x469584]
xor al, 0xbf
mov byte [0x469654], al
movzx eax, byte [0x469585]
mov ecx, eax
not cl
or cl, 0x7d
or al, 0x82
and al, cl
mov byte [0x469655], al
mov eax, 0x566241d
xor eax, dword [0x469586]
mov dword [0x469656], eax
movzx eax, byte [0x46958a]
xor al, 6
mov byte [str.r_x], al
movzx eax, byte [0x46958b]
xor al, 0xe6
mov byte [0x46965b], al
movzx eax, byte [0x46958c]
xor al, 0x63
mov byte [0x46965c], al
movzx eax, byte [0x46958d]
mov ecx, eax
add cl, al
and cl, 0x16
sub al, cl
add al, 0xb
mov byte [0x46965d], al
mov eax, 0xf67fc587
xor eax, dword [0x46958e]
mov dword [0x46965e], eax
movzx eax, byte [0x469592]
xor al, 0x19
mov byte [0x469662], al
movzx eax, byte [0x469593]
xor al, 0x81
mov byte [0x469663], al
movzx eax, byte [0x469594]
xor al, 0x51
mov byte [0x469664], al
movzx eax, byte [0x469595]
mov ecx, eax
add cl, al
and cl, 0xe
sub al, cl
add al, 0x87
mov byte [0x469665], al
movzx eax, byte [0x469596]
mov ecx, eax
add cl, al
and cl, 0x8a
sub al, cl
add al, 0xc5
mov byte [0x469666], al
mov eax, 0x6cf9f0aa
xor eax, dword [0x469597]
mov dword [0x469667], eax
movzx eax, byte [0x46959b]
xor al, 0x29
mov byte [0x46966b], al
movzx eax, byte [0x46959c]
xor al, 0xad
mov byte [0x46966c], al
movzx eax, byte [0x46959d]
mov ecx, eax
not cl
or cl, 0x4d
or al, 0xb2
and al, cl
mov byte [0x46966d], al
movzx eax, byte [0x46959e]
xor al, 0x83
mov byte [0x46966e], al
movzx eax, byte [0x46959f]
xor al, 0xa8
mov byte [0x46966f], al
movzx eax, byte [0x4695a0]
mov ecx, eax
add cl, al
and cl, 0xd2
sub al, cl
add al, 0x69
mov byte [0x469670], al
movzx eax, byte [0x4695a1]
mov ecx, eax
add cl, al
and cl, 0xba
sub al, cl
add al, 0xdd
mov byte [0x469671], al
movzx eax, byte [0x4695a2]
mov ecx, eax
add cl, al
and cl, 0xcc
sub al, cl
add al, 0x66
mov byte [0x469672], al
mov eax, 0x722d9234
xor eax, dword [0x4695a3]
mov dword [0x469673], eax
movzx eax, byte [0x4695a7]
mov ecx, eax
add cl, al
and cl, 0xb4
sub al, cl
add al, 0x5a
mov byte [0x469677], al
movzx eax, byte [0x4695a8]
xor al, 0x76
mov byte [0x469678], al
movzx eax, byte [0x4695a9]
mov ecx, eax
add cl, al
and cl, 0x5e
sub al, cl
add al, 0x2f
mov byte [0x469679], al
movzx eax, byte [0x4695aa]
mov ecx, eax
not cl
or al, 0x82
or cl, 0x7d
and cl, al
not cl
mov byte [0x46967a], cl
movzx eax, byte [0x4695ab]
xor al, 0x7a
mov byte [0x46967b], al
movzx eax, byte [0x4695ac]
mov ecx, eax
add cl, al
and cl, 0x88
sub al, cl
add al, 0xc4
mov byte [0x46967c], al
movzx eax, byte [0x4695ad]
xor al, 0xfc
mov byte [0x46967d], al
movzx eax, byte [0x4695ae]
mov ecx, eax
add cl, al
and cl, 0x88
sub al, cl
add al, 0x44
mov byte [0x46967e], al
mov eax, 0x197912bb
xor eax, dword [0x4695af]
mov dword [0x46967f], eax
movzx eax, byte [0x4695b3]
mov ecx, eax
add cl, al
and cl, 0xb8
sub al, cl
add al, 0x5c
mov byte [0x469683], al
movzx eax, byte [0x4695b4]
xor al, 0x62
mov byte [0x469684], al
movzx eax, byte [0x4695b5]
xor al, 0xe5
mov byte [0x469685], al
movzx eax, byte [0x4695b6]
xor al, 0xa0
mov byte [0x469686], al
movzx eax, byte [0x4695b7]
mov ecx, eax
add cl, al
and cl, 0x7e
sub al, cl
add al, 0xbf
mov byte [0x469687], al
movsd xmm0, qword [0x4695b8]
xorps xmm0, xmmword [0x463ae0]
movlps qword [0x469688], xmm0
movzx eax, byte [0x4695c0]
xor al, 0x20
mov byte [0x469690], al
movzx eax, byte [0x4695c1]
xor al, 0x45
mov byte [0x469691], al
movzx eax, byte [0x4695c2]
mov ecx, eax
add cl, al
and cl, 0x9e
sub al, cl
add al, 0x4f
mov byte [0x469692], al
movzx eax, byte [0x4695c3]
xor al, 0x20
mov byte [0x469693], al
movzx eax, byte [0x4695c4]
xor al, 0xb6
mov byte [0x469694], al
movzx eax, byte [0x4695c5]
xor al, 0x19
mov byte [0x469695], al
movzx eax, byte [0x4695c6]
mov ecx, eax
add cl, al
and cl, 0x18
sub al, cl
add al, 0xc
mov byte [0x469696], al
movsd xmm0, qword [0x4695c7]
xorps xmm0, xmmword [0x463af0]
movlps qword [0x469697], xmm0
movzx eax, byte [0x4695cf]
mov ecx, eax
add cl, al
and cl, 0xd8
sub al, cl
add al, 0xec
mov byte [0x46969f], al
movzx eax, byte [0x4695d0]
xor al, 0x9f
mov byte [0x4696a0], al
movzx eax, byte [0x4695d1]
mov ecx, eax
add cl, al
and cl, 0xe4
sub al, cl
add al, 0xf2
mov byte [0x4696a1], al
mov eax, 0x3bf9c3b
xor eax, dword [0x4695d2]
mov dword [0x4696a2], eax
movzx eax, byte [0x4695d6]
xor al, 0xd0
mov byte [0x4696a6], al
movzx eax, byte [0x4695d7]
xor al, 0x33
mov byte [0x4696a7], al
movzx eax, byte [0x4695d8]
mov ecx, eax
add cl, al
and cl, 0x3c
sub al, cl
add al, 0x9e
movsd xmm0, qword [0x4695d9]
xorps xmm0, xmmword [0x463b00]
mov byte [0x4696a8], al
mov eax, 0xcc79134c
xor eax, dword [0x4695e1]
movlps qword [0x4696a9], xmm0
mov dword [0x4696b1], eax
movzx eax, byte [0x4695e5]
xor al, 0x3e
mov byte [0x4696b5], al
movzx eax, byte [0x4695e6]
mov ecx, eax
add cl, al
and cl, 0xb4
sub al, cl
add al, 0x5a
mov byte [0x4696b6], al
movups xmm0, xmmword [0x4695e7]
xorps xmm0, xmmword [0x463b10]
movups xmmword [0x4696b7], xmm0
movzx eax, byte [0x4695f7]
xor al, 0x3c
mov byte [0x4696c7], al
movzx eax, byte [0x4695f8]
xor al, 0x61
movsd xmm0, qword [0x469110]
xorps xmm0, xmmword [0x463b20]
mov byte [0x4696c8], al
movlps qword [0x469320], xmm0
movzx eax, byte [0x469118]
mov ecx, eax
add cl, al
and cl, 0xde
sub al, cl
add al, 0xef
mov byte [0x469328], al
movzx eax, byte [0x469119]
mov ecx, eax
add cl, al
and cl, 0x10
sub al, cl
add al, 8
mov byte [0x469329], al
mov eax, 0xc00aaaca
xor eax, dword [0x46911a]
mov dword [0x46932a], eax
movzx eax, byte [0x46911e]
xor al, 0xc3
mov byte [0x46932e], al
movzx eax, byte [0x46911f]
xor al, 0xa7
mov byte [0x46932f], al
movzx eax, byte [0x469120]
mov ecx, eax
not cl
or cl, 0x70
or al, 0x8f
and al, cl
mov byte [0x469330], al
movsd xmm0, qword [0x469121]
xorps xmm0, xmmword [0x463b30]
movlps qword [str.iD5_], xmm0
movzx eax, byte [str.3eD]
xor al, 0x70
mov byte [0x469339], al
movzx eax, byte [0x46912a]
mov ecx, eax
add cl, al
and cl, 0x56
sub al, cl
add al, 0x2b
mov byte [0x46933a], al
movzx eax, byte [0x46912b]
mov byte [0x46933b], al
movzx eax, byte [0x46912c]
xor al, 0x4b
mov byte [0x46933c], al
movzx eax, byte [0x46912d]
xor al, 0xcc
mov byte [str.l:VsB], al
movzx eax, byte [0x46912e]
xor al, 0x6f
mov byte [0x46933e], al
movzx eax, byte [0x46912f]
mov ecx, eax
add cl, al
and cl, 6
sub al, cl
add al, 3
mov byte [0x46933f], al
movzx eax, byte [0x469130]
mov ecx, eax
add cl, al
and cl, 0x48
sub al, cl
add al, 0x24
mov byte [0x469340], al
movups xmm0, xmmword [0x469131]
xorps xmm0, xmmword [0x463b40]
movups xmmword [0x469341], xmm0
movzx eax, byte [0x469141]
mov ecx, eax
add cl, al
and cl, 0x9a
sub al, cl
add al, 0xcd
mov byte [0x469351], al
movzx eax, byte [str._i_v]
mov ecx, eax
add cl, al
and cl, 0x14
sub al, cl
add al, 0xa
movsd xmm0, qword [0x469143]
xorps xmm0, xmmword [0x463b50]
mov byte [0x469352], al
movlps qword [0x469353], xmm0
movzx eax, byte [0x46914b]
mov ecx, eax
add cl, al
and cl, 0x7e
sub al, cl
add al, 0x3f
mov byte [0x46935b], al
movsd xmm0, qword [0x46914c]
xorps xmm0, xmmword [0x463b60]
movlps qword [0x46935c], xmm0
movzx eax, byte [0x469154]
xor al, 0x16
mov byte [0x469364], al
movzx eax, byte [0x469155]
mov ecx, eax
add cl, al
and cl, 0xd6
sub al, cl
add al, 0xeb
mov byte [str.j__D_U], al
movsd xmm0, qword [0x469156]
xorps xmm0, xmmword [0x463b70]
movlps qword [0x469366], xmm0
mov eax, 0x7bbf8105
xor eax, dword [0x46915e]
mov dword [0x46936e], eax
movzx eax, byte [0x469162]
mov ecx, eax
add cl, al
and cl, 0xee
sub al, cl
add al, 0xf7
movups xmm0, xmmword [0x469163]
xorps xmm0, xmmword [0x463b80]
mov byte [0x469372], al
movups xmmword [0x469373], xmm0
movzx eax, byte [0x469173]
xor al, 0xb7
mov byte [0x469383], al
movzx eax, byte [str.qM_f]
mov ecx, eax
add cl, al
and cl, 0x84
sub al, cl
add al, 0x42
mov byte [0x469384], al
movzx eax, byte [0x469175]
xor al, 0xe4
mov byte [0x469385], al
movzx eax, byte [0x469176]
mov ecx, eax
add cl, al
and cl, 0xe
sub al, cl
add al, 0x87
mov byte [0x469386], al
movzx eax, byte [0x469177]
xor al, 0x7e
mov byte [0x469387], al
movzx eax, byte [0x469178]
xor al, 0x3f
mov byte [0x469388], al
movzx eax, byte [0x469179]
xor al, 0xbb
mov byte [0x469389], al
movzx eax, byte [0x46917a]
mov ecx, eax
add cl, al
and cl, 0x1a
sub al, cl
add al, 0xd
mov ecx, 0xdb0f748e
xor ecx, dword [0x46917b]
mov byte [0x46938a], al
mov dword [0x46938b], ecx
movzx eax, byte [0x46917f]
xor al, 0xa4
mov byte [0x46938f], al
movzx eax, byte [0x469180]
xor al, 0xe9
mov byte [0x469390], al
movzx eax, byte [0x469181]
xor al, 0xea
mov byte [0x469391], al
movzx eax, byte [0x469182]
mov ecx, eax
not cl
or cl, 0x41
or al, 0xbe
and al, cl
mov byte [0x469392], al
movzx eax, byte [0x469183]
mov ecx, eax
not cl
or cl, 0x5e
or al, 0xa1
and al, cl
mov byte [0x469393], al
movzx eax, byte [0x469184]
xor al, 0xcf
mov byte [0x469394], al
movzx eax, byte [0x469185]
xor al, 0x96
mov byte [0x469395], al
movzx eax, byte [0x469186]
xor al, 0x15
mov byte [0x469396], al
movzx eax, byte [0x469187]
mov ecx, eax
add cl, al
and cl, 0x98
sub al, cl
add al, 0xcc
mov byte [0x469397], al
movsd xmm0, qword [0x469188]
xorps xmm0, xmmword [0x463b90]
movlps qword [0x469398], xmm0
movzx eax, byte [0x469190]
mov ecx, eax
add cl, al
and cl, 0x8a
sub al, cl
add al, 0x45
mov byte [0x4693a0], al
movzx eax, byte [0x469191]
xor al, 0x7c
mov byte [0x4693a1], al
movzx eax, byte [0x469192]
xor al, 0x49
mov byte [0x4693a2], al
movzx eax, byte [0x469193]
xor al, 0xcf
mov byte [0x4693a3], al
movzx eax, byte [0x469194]
mov ecx, eax
not cl
or al, 0xa2
or cl, 0x5d
and cl, al
not cl
mov byte [0x4693a4], cl
movzx eax, byte [0x469195]
xor al, 0x83
mov byte [str._Im], al
movzx eax, byte [0x469196]
xor al, 0x4e
mov byte [0x4693a6], al
movzx eax, byte [0x469197]
mov ecx, eax
add cl, al
and cl, 0x2a
sub al, cl
add al, 0x15
mov byte [0x4693a7], al
movzx eax, byte [0x469198]
xor al, 0xc5
mov byte [0x4693a8], al
movzx eax, byte [0x469199]
xor al, 0x8a
mov byte [0x4693a9], al
movzx eax, byte [0x46919a]
xor al, 0xf8
mov byte [0x4693aa], al
movzx eax, byte [0x46919b]
mov ecx, eax
add cl, al
and cl, 0x4e
sub al, cl
add al, 0x27
movsd xmm0, qword [0x46919c]
xorps xmm0, xmmword [0x463ba0]
mov byte [0x4693ab], al
mov eax, 0x7ba3043b
xor eax, dword [0x4691a4]
movlps qword [0x4693ac], xmm0
mov dword [0x4693b4], eax
movzx eax, byte [0x4691a8]
xor al, 0xac
mov byte [0x4693b8], al
movzx eax, byte [0x4691a9]
mov ecx, eax
add cl, al
and cl, 0xd8
sub al, cl
add al, 0xec
mov byte [0x4693b9], al
movzx eax, byte [0x4691aa]
xor al, 0x10
mov byte [0x4693ba], al
movzx eax, byte [0x4691ab]
xor al, 0x24
mov byte [str.TGv_], al
movzx eax, byte [0x4691ac]
xor al, 0xbb
mov byte [0x4693bc], al
movzx eax, byte [0x4691ad]
mov ecx, eax
add cl, al
and cl, 0x82
sub al, cl
add al, 0xc1
mov byte [0x4693bd], al
movzx eax, byte [0x4691ae]
xor al, 0xf7
mov byte [0x4693be], al
movzx eax, byte [0x4691af]
mov ecx, eax
add cl, al
and cl, 0xbe
sub al, cl
add al, 0xdf
movsd xmm0, qword [0x4691b0]
xorps xmm0, xmmword [0x463bb0]
mov byte [0x4693bf], al
movlps qword [0x4693c0], xmm0
movzx eax, byte [0x4691b8]
xor al, 0xa4
mov byte [0x4693c8], al
movzx eax, byte [0x4691b9]
xor al, 0xcb
mov byte [0x4693c9], al
movzx eax, byte [0x4691ba]
xor al, 0x65
mov byte [0x4693ca], al
movzx eax, byte [0x4691bb]
mov ecx, eax
add cl, al
and cl, 0x84
sub al, cl
add al, 0xc2
mov ecx, 0xf8655a98
xor ecx, dword [0x4691bc]
mov byte [0x4693cb], al
mov dword [0x4693cc], ecx
movzx eax, byte [0x4691c0]
mov ecx, eax
add cl, al
and cl, 0xb0
sub al, cl
add al, 0x58
mov byte [0x4693d0], al
movzx eax, byte [0x4691c1]
xor al, 0xc0
mov byte [0x4693d1], al
movzx eax, byte [str.EeWH3J]
mov ecx, eax
add cl, al
and cl, 0xe0
sub al, cl
add al, 0x70
mov byte [0x4693d2], al
movzx eax, byte [0x4691c3]
xor al, 0x5c
mov byte [0x4693d3], al
movzx eax, byte [0x4691c4]
xor al, 0x62
mov byte [0x4693d4], al
movzx eax, byte [0x4691c5]
xor al, 9
mov byte [0x4693d5], al
movzx eax, byte [0x4691c6]
mov ecx, eax
add cl, al
and cl, 0xc
sub al, cl
add al, 6
mov byte [0x4693d6], al
movzx eax, byte [0x4691c7]
xor al, 8
mov byte [0x4693d7], al
movzx eax, byte [0x4691c8]
xor al, 0xa7
mov byte [0x4693d8], al
movzx eax, byte [0x4691c9]
mov ecx, eax
add cl, al
and cl, 0x60
sub al, cl
add al, 0xb0
mov byte [0x4693d9], al
movzx eax, byte [0x4691ca]
mov ecx, eax
not cl
or cl, 0x3b
or al, 0xc4
and al, cl
mov byte [0x4693da], al
movzx eax, byte [0x4691cb]
xor al, 0x15
mov byte [0x4693db], al
movzx eax, byte [0x4691cc]
xor al, 0x31
mov byte [0x4693dc], al
movzx eax, byte [0x4691cd]
mov ecx, eax
add cl, al
and cl, 0xc
sub al, cl
add al, 6
mov byte [0x4693dd], al
movsd xmm0, qword [0x4691ce]
xorps xmm0, xmmword [0x463bc0]
movlps qword [0x4693de], xmm0
mov eax, 0x35424b7
xor eax, dword [0x4691d6]
mov dword [0x4693e6], eax
movzx eax, byte [0x4691da]
xor al, 0x83
mov byte [str.fv_], al
movzx eax, byte [0x4691db]
xor al, 0x4d
mov byte [0x4693eb], al
movzx eax, byte [0x4691dc]
mov ecx, eax
not cl
or al, 0x77
or cl, 0x88
and cl, al
not cl
mov byte [0x4693ec], cl
movzx eax, byte [0x4691dd]
xor al, 0xb9
mov byte [0x4693ed], al
movzx eax, byte [0x4691de]
xor al, 0xcd
mov byte [0x4693ee], al
movzx eax, byte [0x4691df]
xor al, 0xdc
mov byte [0x4693ef], al
movzx eax, byte [0x4691e0]
mov ecx, eax
add cl, al
and cl, 6
sub al, cl
add al, 0x83
mov ecx, 0x1efffbc1
xor ecx, dword [0x4691e1]
mov byte [0x4693f0], al
mov dword [0x4693f1], ecx
movzx eax, byte [0x4691e5]
xor al, 0x55
mov byte [0x4693f5], al
movzx eax, byte [0x4691e6]
mov ecx, eax
not cl
or cl, 0x4c
or al, 0xb3
and al, cl
mov byte [0x4693f6], al
mov eax, 0x59f49141
xor eax, dword [0x4691e7]
mov dword [0x4693f7], eax
movzx eax, byte [0x4691eb]
mov ecx, eax
add cl, al
and cl, 0xce
sub al, cl
add al, 0x67
mov byte [0x4693fb], al
movzx eax, byte [0x4691ec]
xor al, 0xda
mov byte [0x4693fc], al
movzx eax, byte [0x4691ed]
xor al, 0x10
mov byte [0x4693fd], al
movzx eax, byte [0x4691ee]
mov ecx, eax
add cl, al
and cl, 0x78
sub al, cl
add al, 0x3c
mov byte [0x4693fe], al
movzx eax, byte [0x4691ef]
xor al, 0x8f
mov byte [0x4693ff], al
movzx eax, byte [0x4691f0]
xor al, 0x84
mov byte [0x469400], al
movzx eax, byte [0x4691f1]
mov ecx, eax
add cl, al
and cl, 0x92
sub al, cl
add al, 0xc9
mov byte [0x469401], al
movsd xmm0, qword [0x4691f2]
xorps xmm0, xmmword [0x463bd0]
movlps qword [0x469402], xmm0
mov eax, 0xd27355ca
xor eax, dword [0x4691fa]
mov dword [0x46940a], eax
movzx eax, byte [0x4691fe]
mov ecx, eax
add cl, al
and cl, 0x6e
sub al, cl
add al, 0x37
mov byte [0x46940e], al
mov eax, 0xd35ec2b7
xor eax, dword [0x4691ff]
mov dword [0x46940f], eax
movzx eax, byte [0x469203]
xor al, 0x31
mov byte [0x469413], al
movzx eax, byte [0x469204]
xor al, 0x14
mov byte [0x469414], al
movzx eax, byte [0x469205]
xor al, 0x52
mov byte [0x469415], al
movzx eax, byte [0x469206]
mov ecx, eax
add cl, al
and cl, 0xcc
sub al, cl
add al, 0x66
mov byte [0x469416], al
mov eax, 0xf3ffc01
xor eax, dword [0x469207]
mov dword [0x469417], eax
movzx eax, byte [0x46920b]
mov ecx, eax
add cl, al
and cl, 0x20
sub al, cl
add al, 0x90
mov byte [0x46941b], al
mov eax, 0xea210723
xor eax, dword [0x46920c]
mov dword [0x46941c], eax
movzx eax, byte [0x469210]
xor al, 0x9b
mov byte [0x469420], al
movzx eax, byte [0x469211]
mov ecx, eax
add cl, al
and cl, 0x24
sub al, cl
add al, 0x92
mov byte [0x469421], al
movsd xmm0, qword [0x469212]
xorps xmm0, xmmword [0x463be0]
movlps qword [0x469422], xmm0
movzx eax, byte [0x46921a]
xor al, 0xde
mov byte [0x46942a], al
movzx eax, byte [0x46921b]
xor al, 0xab
mov byte [0x46942b], al
movzx eax, byte [0x46921c]
xor al, 0xb3
mov byte [0x46942c], al
movzx eax, byte [0x46921d]
mov ecx, eax
add cl, al
and cl, 0x80
add cl, al
add cl, 0x40
mov byte [0x46942d], cl
movzx eax, byte [0x46921e]
xor al, 0x93
mov byte [0x46942e], al
movzx eax, byte [0x46921f]
mov ecx, eax
add cl, al
and cl, 0xc
sub al, cl
add al, 6
mov byte [0x46942f], al
movaps xmm0, xmmword [0x469220]
xorps xmm0, xmmword [0x463bf0]
movss dword [0x469430], xmm0
movzx eax, byte [0x469224]
xor al, 0x73
mov byte [0x469434], al
movzx eax, byte [0x469225]
mov ecx, eax
add cl, al
and cl, 6
sub al, cl
add al, 0x83
mov byte [0x469435], al
mov eax, 0x5d3bb1ef
xor eax, dword [0x469226]
mov dword [0x469436], eax
movzx eax, byte [0x46922a]
xor al, 0x1b
mov byte [0x46943a], al
movzx eax, byte [0x46922b]
xor al, 0x68
mov byte [0x46943b], al
movzx eax, byte [0x46922c]
mov ecx, eax
add cl, al
and cl, 0x1a
sub al, cl
add al, 0x8d
movsd xmm0, qword [0x46922d]
xorps xmm0, xmmword [0x463c00]
mov byte [0x46943c], al
mov eax, 0x787bfcfe
xor eax, dword [0x469235]
movlps qword [0x46943d], xmm0
mov dword [0x469445], eax
movzx eax, byte [0x469239]
mov ecx, eax
add cl, al
and cl, 0xc8
sub al, cl
add al, 0xe4
mov byte [0x469449], al
movzx eax, byte [0x46923a]
xor al, 0xb9
mov byte [0x46944a], al
movzx eax, byte [0x46923b]
xor al, 0x81
mov byte [0x46944b], al
movzx eax, byte [str.nN_o]
mov ecx, eax
add cl, al
and cl, 0xae
sub al, cl
add al, 0x57
mov byte [0x46944c], al
movzx eax, byte [0x46923d]
mov ecx, eax
add cl, al
and cl, 0x16
sub al, cl
add al, 0xb
mov byte [0x46944d], al
movzx eax, byte [0x46923e]
mov ecx, eax
not cl
or cl, 0x88
or al, 0x77
and al, cl
mov byte [0x46944e], al
movzx eax, byte [0x46923f]
mov ecx, eax
add cl, al
and cl, 0xee
sub al, cl
add al, 0x77
mov byte [str._d_h], al
movzx eax, byte [0x469240]
mov ecx, eax
add cl, al
and cl, 0xac
sub al, cl
add al, 0x56
movsd xmm0, qword [0x469241]
xorps xmm0, xmmword [0x463c10]
mov byte [0x469450], al
movlps qword [0x469451], xmm0
movzx eax, byte [0x469249]
mov ecx, eax
add cl, al
and cl, 0x56
sub al, cl
add al, 0x2b
mov byte [0x469459], al
mov eax, 0xf93a92ce
xor eax, dword [0x46924a]
mov dword [0x46945a], eax
movzx eax, byte [0x46924e]
xor al, 0xb
mov byte [0x46945e], al
movzx eax, byte [0x46924f]
mov ecx, eax
add cl, al
and cl, 0x36
sub al, cl
add al, 0x9b
mov byte [0x46945f], al
movaps xmm0, xmmword [0x469250]
xorps xmm0, xmmword [0x463c20]
movss dword [0x469460], xmm0
movzx eax, byte [0x469254]
mov ecx, eax
not cl
or cl, 0xc
or al, 0xf3
and al, cl
mov ecx, 0x90f45b1a
xor ecx, dword [0x469255]
mov byte [str.rt_O_f], al
mov dword [0x469465], ecx
movzx eax, byte [0x469259]
mov ecx, eax
add cl, al
and cl, 0xf6
sub al, cl
add al, 0x7b
mov byte [0x469469], al
movzx eax, byte [0x46925a]
xor al, 0x1a
mov byte [0x46946a], al
movzx eax, byte [0x46925b]
mov ecx, eax
add cl, al
and cl, 0xfa
sub al, cl
add al, 0xfd
mov byte [0x46946b], al
movzx eax, byte [0x46925c]
mov ecx, eax
not cl
or al, 0xfc
or cl, 3
and cl, al
not cl
mov byte [0x46946c], cl
movzx eax, byte [0x46925d]
mov ecx, eax
add cl, al
and cl, 0x46
sub al, cl
add al, 0x23
mov byte [0x46946d], al
movzx eax, byte [0x46925e]
mov ecx, eax
not cl
or al, 8
or cl, 0xf7
and cl, al
not cl
mov byte [0x46946e], cl
movzx eax, byte [0x46925f]
xor al, 0xb9
mov byte [0x46946f], al
movzx eax, byte [0x469260]
xor al, 0xc2
mov byte [0x469470], al
movzx eax, byte [0x469261]
mov ecx, eax
not cl
or cl, 0x3a
or al, 0xc5
and al, cl
mov byte [0x469471], al
movzx eax, byte [0x469262]
mov ecx, eax
not cl
or al, 0x26
or cl, 0xd9
and cl, al
not cl
mov byte [0x469472], cl
movzx eax, byte [0x469263]
xor al, 0x95
mov byte [0x469473], al
movzx eax, byte [0x469264]
xor al, 0x4a
mov byte [0x469474], al
movzx eax, byte [0x469265]
mov ecx, eax
add cl, al
and cl, 0xb2
sub al, cl
add al, 0xd9
mov byte [0x469475], al
mov eax, 0x850a3fcb
xor eax, dword [0x469266]
mov dword [0x469476], eax
movzx eax, byte [0x46926a]
mov ecx, eax
add cl, al
and cl, 0xd6
sub al, cl
add al, 0xeb
mov byte [0x46947a], al
movzx eax, byte [0x46926b]
xor al, 5
mov byte [0x46947b], al
movzx eax, byte [0x46926c]
xor al, 0x89
mov byte [0x46947c], al
movzx eax, byte [0x46926d]
xor al, 0xa7
mov byte [0x46947d], al
movzx eax, byte [0x46926e]
mov ecx, eax
add cl, al
and cl, 0x8a
sub al, cl
add al, 0xc5
mov byte [0x46947e], al
movzx eax, byte [0x46926f]
xor al, 0x83
mov byte [0x46947f], al
movzx eax, byte [0x469270]
xor al, 0xd6
mov byte [0x469480], al
movzx eax, byte [0x469271]
mov byte [0x469481], al
movzx eax, byte [0x469272]
xor al, 0x71
mov byte [0x469482], al
movzx eax, byte [0x469273]
xor al, 0xf2
mov byte [0x469483], al
movzx eax, byte [str.O3_t]
mov ecx, eax
add cl, al
and cl, 0x1a
sub al, cl
add al, 0xd
mov byte [0x469484], al
mov eax, 0x883a7114
xor eax, dword [0x469275]
mov dword [0x469485], eax
movzx eax, byte [0x469279]
xor al, 0x6b
mov byte [0x469489], al
movzx eax, byte [0x46927a]
xor al, 0x48
mov byte [0x46948a], al
movzx eax, byte [0x46927b]
mov ecx, eax
add cl, al
and cl, 0x58
sub al, cl
add al, 0x2c
mov byte [0x46948b], al
movsd xmm0, qword [0x46927c]
xorps xmm0, xmmword [0x463c30]
movlps qword [0x46948c], xmm0
movzx eax, byte [0x469284]
mov ecx, eax
add cl, al
and cl, 0xf6
sub al, cl
add al, 0xfb
mov byte [0x469494], al
mov eax, 0x41fb240c
xor eax, dword [0x469285]
mov dword [0x469495], eax
movzx eax, byte [0x469289]
xor al, 0xbb
mov byte [0x469499], al
movzx eax, byte [str.__Z]
mov ecx, eax
add cl, al
and cl, 0xc6
sub al, cl
add al, 0x63
movsd xmm0, qword [0x46928b]
xorps xmm0, xmmword [0x463c40]
mov byte [0x46949a], al
mov eax, 0x2b88f98a
xor eax, dword [0x469293]
movlps qword [0x46949b], xmm0
mov dword [0x4694a3], eax
movzx eax, byte [0x469297]
xor al, 0x98
mov byte [0x4694a7], al
movzx eax, byte [0x469298]
mov ecx, eax
add cl, al
and cl, 0x5a
sub al, cl
add al, 0xad
mov byte [0x4694a8], al
movzx eax, byte [0x469299]
xor al, 0xb5
mov byte [0x4694a9], al
movzx eax, byte [0x46929a]
mov ecx, eax
add cl, al
and cl, 0xa8
sub al, cl
add al, 0x54
mov byte [0x4694aa], al
movzx eax, byte [0x46929b]
mov ecx, eax
not cl
or cl, 0x7f
or al, 0x80
and al, cl
mov byte [0x4694ab], al
mov eax, 0x298fa59c
xor eax, dword [0x46929c]
mov dword [0x4694ac], eax
movzx eax, byte [0x4692a0]
mov ecx, eax
add cl, al
and cl, 0xda
sub al, cl
add al, 0x6d
mov byte [0x4694b0], al
movzx eax, byte [0x4692a1]
xor al, 0xb0
mov byte [0x4694b1], al
movzx eax, byte [0x4692a2]
xor al, 0xfd
mov byte [0x4694b2], al
movzx eax, byte [0x4692a3]
mov ecx, eax
add cl, al
and cl, 0x60
sub al, cl
add al, 0xb0
mov byte [0x4694b3], al
movzx eax, byte [0x4692a4]
mov ecx, eax
add cl, al
and cl, 0x9c
sub al, cl
add al, 0xce
mov byte [0x4694b4], al
movzx eax, byte [0x4692a5]
xor al, 0x2b
mov byte [0x4694b5], al
movzx eax, byte [0x4692a6]
mov ecx, eax
add cl, al
and cl, 0x74
sub al, cl
add al, 0xba
movups xmm0, xmmword [0x4692a7]
xorps xmm0, xmmword [0x463c50]
mov byte [0x4694b6], al
movups xmmword [0x4694b7], xmm0
movzx eax, byte [0x4692b7]
xor al, 0xe0
mov byte [0x4694c7], al
movzx eax, byte [0x4692b8]
mov ecx, eax
add cl, al
and cl, 0xe0
sub al, cl
add al, 0xf0
mov byte [0x4694c8], al
movzx eax, byte [0x4692b9]
xor al, 0xd1
mov byte [0x4694c9], al
movzx eax, byte [str.xF6_]
xor al, 0x3c
mov byte [0x4694ca], al
movzx eax, byte [0x4692bb]
xor al, 0x73
mov byte [0x4694cb], al
movzx eax, byte [0x4692bc]
mov ecx, eax
add cl, al
and cl, 0xe4
sub al, cl
add al, 0x72
mov byte [0x4694cc], al
movsd xmm0, qword [0x4692bd]
xorps xmm0, xmmword [0x463c60]
movlps qword [0x4694cd], xmm0
movzx eax, byte [0x4692c5]
xor al, 0x58
mov byte [0x4694d5], al
movzx eax, byte [0x4692c6]
xor al, 0x46
mov byte [0x4694d6], al
movzx eax, byte [0x4692c7]
xor al, 0xb1
mov byte [0x4694d7], al
movzx eax, byte [0x4692c8]
mov ecx, eax
add cl, al
and cl, 0x42
sub al, cl
add al, 0xa1
mov byte [0x4694d8], al
movzx eax, byte [0x4692c9]
xor al, 0x7e
mov byte [0x4694d9], al
movzx eax, byte [0x4692ca]
mov ecx, eax
not cl
or al, 0xde
or cl, 0x21
and cl, al
not cl
mov byte [0x4694da], cl
movsd xmm0, qword [0x4692cb]
xorps xmm0, xmmword [0x463c70]
movlps qword [0x4694db], xmm0
mov eax, 0xaffda455
xor eax, dword [0x4692d3]
mov dword [0x4694e3], eax
movzx eax, byte [0x4692d7]
xor al, 0xa7
mov byte [0x4694e7], al
movzx eax, byte [0x4692d8]
mov ecx, eax
add cl, al
and cl, 0x6e
sub al, cl
add al, 0x37
mov byte [0x4694e8], al
movzx eax, byte [0x4692d9]
mov ecx, eax
add cl, al
and cl, 0xf2
sub al, cl
add al, 0xf9
mov byte [0x4694e9], al
mov eax, 0xcbe12b52
xor eax, dword [0x4692da]
mov dword [0x4694ea], eax
movzx eax, byte [0x4692de]
xor al, 0x47
mov byte [0x4694ee], al
movzx eax, byte [0x4692df]
xor al, 0xf5
mov byte [0x4694ef], al
movzx eax, byte [0x4692e0]
mov ecx, eax
add cl, al
and cl, 0x6c
sub al, cl
add al, 0x36
mov byte [0x4694f0], al
movzx eax, byte [0x4692e1]
xor al, 0x93
mov byte [0x4694f1], al
movzx eax, byte [0x4692e2]
xor al, 0x50
mov byte [0x4694f2], al
movzx eax, byte [0x4692e3]
xor al, 0xd9
mov byte [0x4694f3], al
movzx eax, byte [0x4692e4]
mov ecx, eax
not cl
or cl, 0x12
or al, 0xed
and al, cl
mov byte [0x4694f4], al
movzx eax, byte [0x4692e5]
xor al, 0x35
mov byte [0x4694f5], al
movzx eax, byte [0x4692e6]
xor al, 0x27
mov byte [0x4694f6], al
movzx eax, byte [0x4692e7]
mov ecx, eax
add cl, al
and cl, 0xb2
sub al, cl
add al, 0x59
mov byte [0x4694f7], al
movzx eax, byte [0x4692e8]
xor al, 0x46
mov byte [0x4694f8], al
movzx eax, byte [0x4692e9]
xor al, 0xc3
mov byte [0x4694f9], al
movzx eax, byte [0x4692ea]
mov ecx, eax
add cl, al
and cl, 0x28
sub al, cl
add al, 0x94
mov byte [0x4694fa], al
movzx eax, byte [0x4692eb]
xor al, 0x17
mov byte [0x4694fb], al
movzx eax, byte [0x4692ec]
xor al, 0xd9
mov byte [0x4694fc], al
movzx eax, byte [0x4692ed]
mov ecx, eax
add cl, al
and cl, 0x6c
sub al, cl
add al, 0xb6
mov byte [0x4694fd], al
mov eax, 0xb70c5b7
xor eax, dword [0x4692ee]
mov dword [0x4694fe], eax
movzx eax, byte [0x4692f2]
mov ecx, eax
add cl, al
and cl, 0xf0
sub al, cl
add al, 0xf8
mov byte [0x469502], al
movsd xmm0, qword [0x4692f3]
xorps xmm0, xmmword [0x463c80]
movlps qword [0x469503], xmm0
movzx eax, byte [0x4692fb]
mov byte [0x46950b], al
movsd xmm0, qword [0x4692fc]
xorps xmm0, xmmword [0x463c90]
movlps qword [0x46950c], xmm0
movzx eax, byte [0x469304]
mov ecx, eax
not cl
or cl, 0x45
or al, 0xba
and al, cl
mov byte [0x469514], al
movzx eax, byte [0x469305]
xor al, 0x9d
mov byte [0x469515], al
movzx eax, byte [0x469306]
xor al, 0x39
mov byte [0x469516], al
movzx eax, byte [0x469307]
xor al, 0x32
mov byte [0x469517], al
movzx eax, byte [0x469308]
mov ecx, eax
add cl, al
and cl, 0x5a
sub al, cl
add al, 0xad
mov byte [0x469518], al
movzx eax, byte [0x469309]
mov ecx, eax
add cl, al
and cl, 0x5a
sub al, cl
add al, 0x2d
mov byte [0x469519], al
mov eax, 0x29528c9e
xor eax, dword [0x46930a]
mov dword [0x46951a], eax
movzx eax, byte [0x46930e]
xor al, 0x77
mov byte [0x46951e], al
movzx eax, byte [0x46930f]
xor al, 0x37
mov byte [0x46951f], al
movzx eax, byte [0x469310]
xor al, 0x81
mov byte [0x469520], al
mov edx, dword [esp + 0x14]
mov dword [0x488074], 1
cmp esi, 0x24
ja 0x41af2b
cmp esi, 1
je 0x41af2b
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 0x41af32
cmp esi, 0xa
je 0x41af3c
cmp esi, 0x10
jne 0x41af10
movzx edx, al
cmp al, 0xf
ja 0x41af74
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
jmp 0x41af97
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 0x41af10
jmp 0x41afcf
mov ecx, edx
jmp 0x41afcf
mov byte [ecx - 1], 0x30
dec ecx
jmp 0x41afcf
cmp al, 0x64
jb 0x41af89
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
movzx ebx, byte [eax + eax + 0x469601]
mov byte [ecx - 1], bl
movzx eax, byte [eax + eax + 0x469600]
mov byte [ecx - 2], al
add ecx, 0xfffffffe
mov eax, edx
jmp 0x41af8d
movzx eax, byte [edx + edx + 0x469321]
mov byte [ecx - 1], al
movzx eax, byte [edx + edx + 0x469320]
jmp 0x41afc9
cmp al, 9
ja 0x41af9d
movzx eax, al
movzx eax, byte [eax + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ecx - 1], al
dec ecx
jmp 0x41afcf
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 + 0x469601]
mov byte [ecx - 1], dl
movzx eax, byte [esi + eax + 0x469600]
mov byte [ecx - 2], al
add ecx, 0xfffffffe
mov eax, ecx
pop esi
pop edi
pop ebx
ret