Function at 0x43e886
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
mov esi, dword [ebp + 0x14]
mov eax, dword [0x472750]
test eax, eax
jne 0x44030b
movsd xmm0, qword [0x468840]
xorps xmm0, xmmword [0x455c90]
mov eax, 0x68bd4e07
xor eax, dword [0x468848]
movlps qword [0x468a50], xmm0
mov dword [0x468a58], eax
movzx eax, byte [0x46884c]
xor al, 0xe1
mov byte [0x468a5c], al
movzx eax, byte [0x46884d]
xor al, 0xb8
mov byte [0x468a5d], al
movzx eax, byte [0x46884e]
mov ecx, eax
add cl, al
and cl, 0x5e
sub al, cl
add al, 0xaf
mov byte [0x468a5e], al
movzx eax, byte [0x46884f]
mov ecx, eax
add cl, al
and cl, 0x7a
sub al, cl
add al, 0x3d
mov byte [0x468a5f], al
movzx eax, byte [0x468850]
xor al, 0x16
mov byte [0x468a60], al
movzx eax, byte [0x468851]
xor al, 7
mov byte [0x468a61], al
movzx eax, byte [0x468852]
mov ecx, eax
add cl, al
and cl, 0x64
sub al, cl
add al, 0x32
mov byte [0x468a62], al
movzx eax, byte [0x468853]
add al, 0x80
mov byte [0x468a63], al
movzx eax, byte [0x468854]
mov ecx, eax
add cl, al
sub al, cl
add al, 0x7f
mov byte [0x468a64], al
movzx eax, byte [0x468855]
mov ecx, eax
add cl, al
and cl, 0x88
sub al, cl
add al, 0x44
mov byte [0x468a65], al
movzx eax, byte [0x468856]
mov ecx, eax
add cl, al
and cl, 0xf8
sub al, cl
add al, 0xfc
mov byte [0x468a66], al
movzx eax, byte [0x468857]
xor al, 0x9d
mov byte [0x468a67], al
movzx eax, byte [0x468858]
xor al, 0x37
mov byte [0x468a68], al
movzx eax, byte [0x468859]
mov ecx, eax
add cl, al
and cl, 0xa4
sub al, cl
add al, 0x52
mov byte [0x468a69], al
movzx eax, byte [0x46885a]
mov ecx, eax
add cl, al
and cl, 0x32
sub al, cl
add al, 0x99
movsd xmm0, qword [0x46885b]
xorps xmm0, xmmword [0x455ca0]
mov byte [0x468a6a], al
mov eax, 0x3f4144f4
xor eax, dword [0x468863]
movlps qword [0x468a6b], xmm0
mov dword [0x468a73], eax
movzx eax, byte [0x468867]
mov ecx, eax
not cl
or cl, 0x40
or al, 0xbf
and al, cl
mov byte [0x468a77], al
mov eax, 0xe6ecbd3c
xor eax, dword [0x468868]
mov dword [0x468a78], eax
movzx eax, byte [0x46886c]
xor al, 0x56
mov byte [0x468a7c], al
movzx eax, byte [0x46886d]
xor al, 0xe5
mov byte [0x468a7d], al
movzx eax, byte [0x46886e]
xor al, 0xeb
mov byte [0x468a7e], al
movzx eax, byte [str.Xp8s]
mov ecx, eax
add cl, al
and cl, 0xde
sub al, cl
add al, 0x6f
mov byte [0x468a7f], al
movzx eax, byte [0x468870]
xor al, 0x41
mov byte [0x468a80], al
movzx eax, byte [0x468871]
movups xmm0, xmmword [0x468872]
xorps xmm0, xmmword [0x455cb0]
mov byte [0x468a81], al
movups xmmword [0x468a82], xmm0
movzx eax, byte [0x468882]
xor al, 0x76
mov byte [0x468a92], al
movzx eax, byte [0x468883]
xor al, 0x54
mov byte [0x468a93], al
movzx eax, byte [0x468884]
mov ecx, eax
not cl
or cl, 0x42
or al, 0xbd
and al, cl
mov byte [0x468a94], al
movzx eax, byte [0x468885]
mov ecx, eax
add cl, al
and cl, 0x9a
sub al, cl
add al, 0x4d
movsd xmm0, qword [0x468886]
xorps xmm0, xmmword [0x455cc0]
mov byte [0x468a95], al
movlps qword [0x468a96], xmm0
movzx eax, byte [0x46888e]
add al, 0x80
mov byte [0x468a9e], al
movzx eax, byte [0x46888f]
mov ecx, eax
not cl
or al, 0x8a
or cl, 0x75
and cl, al
not cl
mov byte [0x468a9f], cl
movsd xmm0, qword [0x468890]
xorps xmm0, xmmword [0x455cd0]
movlps qword [0x468aa0], xmm0
movzx eax, byte [0x468898]
xor al, 0x2a
mov byte [0x468aa8], al
movzx eax, byte [0x468899]
mov ecx, eax
add cl, al
and cl, 8
sub al, cl
add al, 0x84
mov byte [0x468aa9], al
movzx eax, byte [0x46889a]
mov ecx, eax
add cl, al
and cl, 0xa8
sub al, cl
add al, 0xd4
mov byte [0x468aaa], al
movzx eax, byte [0x46889b]
mov ecx, eax
add cl, al
and cl, 0x54
sub al, cl
add al, 0xaa
mov byte [str._u_f_], al
mov eax, 0x7b575218
xor eax, dword [0x46889c]
mov dword [0x468aac], eax
movzx eax, byte [0x4688a0]
xor al, 0x78
mov byte [0x468ab0], al
movzx eax, byte [0x4688a1]
mov ecx, eax
add cl, al
and cl, 0x96
sub al, cl
add al, 0x4b
mov byte [0x468ab1], al
movzx eax, byte [0x4688a2]
xor al, 0x5a
mov byte [0x468ab2], al
movzx eax, byte [0x4688a3]
xor al, 0x14
mov byte [0x468ab3], al
movzx eax, byte [0x4688a4]
xor al, 0x59
mov byte [0x468ab4], al
movzx eax, byte [0x4688a5]
mov ecx, eax
not cl
or al, 0xc5
or cl, 0x3a
and cl, al
not cl
mov byte [0x468ab5], cl
movzx eax, byte [0x4688a6]
mov ecx, eax
add cl, al
and cl, 0x68
sub al, cl
add al, 0x34
mov byte [str.KBSo], al
movzx eax, byte [0x4688a7]
xor al, 0xda
mov byte [0x468ab7], al
movzx eax, byte [0x4688a8]
xor al, 0xf2
mov byte [0x468ab8], al
movzx eax, byte [0x4688a9]
mov ecx, eax
add cl, al
and cl, 0xe0
sub al, cl
add al, 0xf0
mov byte [0x468ab9], al
movzx eax, byte [0x4688aa]
mov ecx, eax
add cl, al
and cl, 0xa
sub al, cl
add al, 5
mov byte [0x468aba], al
mov eax, 0xde7af04
xor eax, dword [0x4688ab]
mov dword [0x468abb], eax
movzx eax, byte [0x4688af]
xor al, 0x87
mov byte [0x468abf], al
movzx eax, byte [0x4688b0]
mov ecx, eax
add cl, al
and cl, 0xf8
sub al, cl
add al, 0xfc
mov byte [0x468ac0], al
movzx eax, byte [0x4688b1]
xor al, 0x60
mov byte [0x468ac1], al
movzx eax, byte [0x4688b2]
mov ecx, eax
add cl, al
and cl, 0x20
sub al, cl
add al, 0x90
mov byte [0x468ac2], al
movzx eax, byte [0x4688b3]
xor al, 0x83
mov byte [0x468ac3], al
movzx eax, byte [0x4688b4]
xor al, 0x3d
mov byte [0x468ac4], al
movzx eax, byte [str.RB2]
xor al, 0x13
mov byte [0x468ac5], al
movzx eax, byte [0x4688b6]
mov ecx, eax
not cl
or cl, 0x8e
or al, 0x71
and al, cl
mov byte [0x468ac6], al
mov eax, 0x3ac5011e
xor eax, dword [0x4688b7]
mov dword [0x468ac7], eax
movzx eax, byte [0x4688bb]
xor al, 0xce
mov byte [0x468acb], al
movzx eax, byte [0x4688bc]
xor al, 0x35
mov byte [0x468acc], al
movzx eax, byte [0x4688bd]
mov ecx, eax
add cl, al
and cl, 0x72
sub al, cl
add al, 0x39
mov byte [0x468acd], al
movsd xmm0, qword [0x4688be]
xorps xmm0, xmmword [0x455ce0]
movlps qword [0x468ace], xmm0
movzx eax, byte [0x4688c6]
xor al, 0xf8
mov byte [0x468ad6], al
movzx eax, byte [0x4688c7]
xor al, 0x77
mov byte [0x468ad7], al
movzx eax, byte [0x4688c8]
mov ecx, eax
not cl
or al, 0xc5
or cl, 0x3a
and cl, al
not cl
mov eax, 0x4bf536a0
xor eax, dword [0x4688c9]
mov byte [0x468ad8], cl
mov dword [0x468ad9], eax
movzx eax, byte [0x4688cd]
xor al, 0x74
mov byte [0x468add], al
movzx eax, byte [0x4688ce]
xor al, 0xbc
mov byte [0x468ade], al
movzx eax, byte [0x4688cf]
mov ecx, eax
add cl, al
and cl, 0x4a
sub al, cl
add al, 0x25
mov byte [0x468adf], al
movsd xmm0, qword [0x4688d0]
xorps xmm0, xmmword [0x455cf0]
movlps qword [0x468ae0], xmm0
mov eax, 0xf9f74586
xor eax, dword [0x4688d8]
mov dword [0x468ae8], eax
movzx eax, byte [0x4688dc]
mov ecx, eax
add cl, al
and cl, 0xc
sub al, cl
add al, 0x86
mov byte [0x468aec], al
movzx eax, byte [0x4688dd]
xor al, 0x71
mov byte [0x468aed], al
movzx eax, byte [0x4688de]
xor al, 0x99
mov byte [0x468aee], al
movzx eax, byte [0x4688df]
xor al, 6
mov byte [0x468aef], al
movzx eax, byte [0x4688e0]
mov ecx, eax
add cl, al
and cl, 0x26
sub al, cl
add al, 0x93
mov byte [0x468af0], al
movzx eax, byte [0x4688e1]
xor al, 6
mov byte [0x468af1], al
movzx eax, byte [0x4688e2]
xor al, 0x18
mov byte [0x468af2], al
movzx eax, byte [0x4688e3]
xor al, 0x69
mov byte [0x468af3], al
movzx eax, byte [0x4688e4]
mov ecx, eax
not cl
or cl, 0xdd
or al, 0x22
and al, cl
mov byte [0x468af4], al
movzx eax, byte [0x4688e5]
xor al, 0x23
mov byte [0x468af5], al
movzx eax, byte [0x4688e6]
xor al, 0x7d
mov byte [0x468af6], al
movzx eax, byte [0x4688e7]
xor al, 0xfb
mov byte [0x468af7], al
movzx eax, byte [0x4688e8]
mov ecx, eax
add cl, al
and cl, 0x46
sub al, cl
add al, 0x23
movsd xmm0, qword [0x4688e9]
xorps xmm0, xmmword [0x455d00]
mov byte [0x468af8], al
mov eax, 0xc4b34606
xor eax, dword [0x4688f1]
movlps qword [0x468af9], xmm0
mov dword [0x468b01], eax
movzx eax, byte [0x4688f5]
xor al, 0x55
mov byte [str.BPeq], al
movzx eax, byte [0x4688f6]
xor al, 0x33
mov byte [0x468b06], al
movzx eax, byte [0x4688f7]
mov ecx, eax
add cl, al
and cl, 0x3e
sub al, cl
add al, 0x9f
mov byte [0x468b07], al
movzx eax, byte [0x4688f8]
xor al, 0x3f
mov byte [0x468b08], al
movzx eax, byte [0x4688f9]
xor al, 0xbb
mov byte [0x468b09], al
movzx eax, byte [0x4688fa]
xor al, 0xd7
mov byte [0x468b0a], al
movzx eax, byte [0x4688fb]
mov ecx, eax
add cl, al
and cl, 0xd6
sub al, cl
add al, 0x6b
mov byte [0x468b0b], al
movzx eax, byte [0x4688fc]
mov ecx, eax
add cl, al
and cl, 0x14
sub al, cl
add al, 0xa
mov ecx, 0x5c4721e9
xor ecx, dword [0x4688fd]
mov byte [0x468b0c], al
mov dword [0x468b0d], ecx
movzx eax, byte [0x468901]
xor al, 0x3e
mov byte [0x468b11], al
movzx eax, byte [0x468902]
mov ecx, eax
add cl, al
and cl, 4
sub al, cl
add al, 2
mov byte [0x468b12], al
movzx eax, byte [0x468903]
xor al, 0xe9
mov byte [0x468b13], al
movzx eax, byte [0x468904]
mov ecx, eax
add cl, al
and cl, 0xac
sub al, cl
add al, 0xd6
mov byte [0x468b14], al
movzx eax, byte [str.C_Z9zV]
xor al, 0x71
mov byte [0x468b15], al
movzx eax, byte [0x468906]
xor al, 0x13
mov byte [0x468b16], al
movzx eax, byte [0x468907]
xor al, 0x69
mov byte [0x468b17], al
movzx eax, byte [0x468908]
mov ecx, eax
add cl, al
and cl, 0x3a
sub al, cl
add al, 0x1d
mov byte [0x468b18], al
movzx eax, byte [0x468909]
xor al, 0xd
mov byte [0x468b19], al
movzx eax, byte [0x46890a]
xor al, 0x4c
mov byte [0x468b1a], al
movzx eax, byte [0x46890b]
mov ecx, eax
add cl, al
and cl, 0xc6
sub al, cl
add al, 0x63
mov byte [0x468b1b], al
mov eax, 0x2cfe07cd
xor eax, dword [0x46890c]
mov dword [0x468b1c], eax
movzx eax, byte [0x468910]
mov ecx, eax
add cl, al
and cl, 0x72
sub al, cl
add al, 0xb9
movsd xmm0, qword [0x468911]
xorps xmm0, xmmword [0x455d10]
mov byte [0x468b20], al
mov eax, 0xd6f37b06
xor eax, dword [0x468919]
movlps qword [0x468b21], xmm0
mov dword [0x468b29], eax
movzx eax, byte [0x46891d]
xor al, 0x10
mov byte [0x468b2d], al
movzx eax, byte [0x46891e]
mov ecx, eax
add cl, al
and cl, 0x14
sub al, cl
add al, 0xa
mov byte [0x468b2e], al
movsd xmm0, qword [0x46891f]
xorps xmm0, xmmword [0x455d20]
movlps qword [0x468b2f], xmm0
movzx eax, byte [0x468927]
xor al, 0xb8
mov byte [0x468b37], al
movzx eax, byte [0x468928]
mov ecx, eax
add cl, al
and cl, 0x4e
sub al, cl
add al, 0xa7
mov byte [0x468b38], al
movzx eax, byte [0x468929]
xor al, 0x39
mov byte [0x468b39], al
movzx eax, byte [0x46892a]
mov ecx, eax
add cl, al
and cl, 0xc6
sub al, cl
add al, 0x63
mov byte [0x468b3a], al
movzx eax, byte [0x46892b]
xor al, 0x56
mov byte [0x468b3b], al
movzx eax, byte [0x46892c]
mov ecx, eax
add cl, al
and cl, 0x66
sub al, cl
add al, 0x33
mov byte [0x468b3c], al
movzx eax, byte [0x46892d]
mov ecx, eax
add cl, al
and cl, 0xb6
sub al, cl
add al, 0x5b
mov byte [0x468b3d], al
movzx eax, byte [0x46892e]
xor al, 0xbc
mov byte [str.j_ra], al
movzx eax, byte [0x46892f]
xor al, 0xf
mov byte [0x468b3f], al
movzx eax, byte [0x468930]
xor al, 0x58
mov byte [0x468b40], al
movzx eax, byte [0x468931]
mov ecx, eax
not cl
or al, 0xe1
or cl, 0x1e
and cl, al
not cl
mov byte [0x468b41], cl
movzx eax, byte [0x468932]
mov ecx, eax
add cl, al
and cl, 0x44
sub al, cl
add al, 0xa2
mov byte [0x468b42], al
mov eax, 0x97217b13
xor eax, dword [0x468933]
mov dword [0x468b43], eax
movzx eax, byte [0x468937]
xor al, 0x67
mov byte [0x468b47], al
movzx eax, byte [0x468938]
mov ecx, eax
add cl, al
and cl, 0xde
sub al, cl
add al, 0x6f
mov byte [0x468b48], al
movzx eax, byte [0x468939]
mov ecx, eax
add cl, al
and cl, 0xd0
sub al, cl
add al, 0xe8
mov byte [0x468b49], al
movzx eax, byte [0x46893a]
xor al, 0x4b
mov byte [0x468b4a], al
movzx eax, byte [0x46893b]
mov ecx, eax
add cl, al
and cl, 0x10
sub al, cl
add al, 8
mov byte [0x468b4b], al
movzx eax, byte [0x46893c]
mov ecx, eax
add cl, al
and cl, 0x5a
sub al, cl
add al, 0x2d
mov byte [0x468b4c], al
movzx eax, byte [str._F__]
xor al, 0x7b
mov byte [0x468b4d], al
movzx eax, byte [0x46893e]
mov ecx, eax
add cl, al
and cl, 0xe2
sub al, cl
add al, 0x71
mov byte [0x468b4e], al
movups xmm0, xmmword [0x46893f]
xorps xmm0, xmmword [0x455d30]
movups xmmword [0x468b4f], xmm0
movzx eax, byte [0x46894f]
xor al, 9
mov byte [0x468b5f], al
movzx eax, byte [0x468950]
mov ecx, eax
add cl, al
and cl, 0x2e
sub al, cl
add al, 0x97
mov byte [0x468b60], al
mov eax, 0xf24b2461
xor eax, dword [0x468951]
mov dword [0x468b61], eax
movzx eax, byte [0x468955]
mov ecx, eax
add cl, al
and cl, 0x70
sub al, cl
add al, 0x38
mov ecx, 0xfe524470
xor ecx, dword [0x468956]
mov byte [0x468b65], al
mov dword [0x468b66], ecx
movzx eax, byte [0x46895a]
xor al, 0x93
mov byte [0x468b6a], al
movzx eax, byte [0x46895b]
xor al, 0x20
mov byte [0x468b6b], al
movzx eax, byte [0x46895c]
xor al, 0x82
mov byte [0x468b6c], al
movzx eax, byte [0x46895d]
mov ecx, eax
not cl
or cl, 0x69
or al, 0x96
and al, cl
mov byte [0x468b6d], al
movzx eax, byte [0x46895e]
mov ecx, eax
add cl, al
and cl, 0xf6
sub al, cl
add al, 0x7b
mov byte [0x468b6e], al
movzx eax, byte [0x46895f]
xor al, 0x7c
mov byte [0x468b6f], al
movzx eax, byte [0x468960]
mov ecx, eax
add cl, al
and cl, 0xc2
sub al, cl
add al, 0x61
mov byte [0x468b70], al
movzx eax, byte [0x468961]
xor al, 0xdb
mov byte [0x468b71], al
movzx eax, byte [0x468962]
mov ecx, eax
add cl, al
and cl, 0x92
sub al, cl
add al, 0x49
mov byte [0x468b72], al
movzx eax, byte [0x468963]
xor al, 0x9a
mov byte [0x468b73], al
movzx eax, byte [0x468964]
mov ecx, eax
not cl
or cl, 0x32
or al, 0xcd
and al, cl
mov byte [0x468b74], al
movzx eax, byte [0x468965]
xor al, 0xd3
mov byte [0x468b75], al
movzx eax, byte [0x468966]
xor al, 0x55
mov byte [0x468b76], al
movzx eax, byte [0x468967]
xor al, 0x75
mov byte [0x468b77], al
movzx eax, byte [0x468968]
mov ecx, eax
add cl, al
and cl, 0xe
sub al, cl
add al, 0x87
mov byte [0x468b78], al
mov eax, 0xcd67cc35
xor eax, dword [0x468969]
mov dword [0x468b79], eax
movzx eax, byte [0x46896d]
xor al, 0x2e
mov byte [0x468b7d], al
movzx eax, byte [0x46896e]
xor al, 0xd5
mov byte [0x468b7e], al
movzx eax, byte [0x46896f]
mov ecx, eax
not cl
or al, 0x2d
or cl, 0xd2
and cl, al
not cl
mov byte [0x468b7f], cl
movzx eax, byte [0x468970]
xor al, 0xec
mov byte [0x468b80], al
movzx eax, byte [0x468971]
mov ecx, eax
add cl, al
and cl, 0xaa
sub al, cl
add al, 0x55
mov byte [0x468b81], al
movzx eax, byte [0x468972]
xor al, 0xee
mov byte [0x468b82], al
movzx eax, byte [0x468973]
mov ecx, eax
add cl, al
and cl, 8
sub al, cl
add al, 4
mov byte [0x468b83], al
movzx eax, byte [0x468974]
xor al, 0xad
mov byte [0x468b84], al
movzx eax, byte [0x468975]
mov ecx, eax
add cl, al
and cl, 0x9a
sub al, cl
add al, 0x4d
mov byte [0x468b85], al
movzx eax, byte [0x468976]
xor al, 0xee
mov byte [0x468b86], al
movzx eax, byte [0x468977]
mov ecx, eax
add cl, al
and cl, 0x7a
sub al, cl
add al, 0x3d
mov byte [0x468b87], al
mov eax, 0x8098bd98
xor eax, dword [0x468978]
mov dword [str._t_c_b_], eax
movzx eax, byte [0x46897c]
xor al, 0xe0
mov byte [0x468b8c], al
movzx eax, byte [0x46897d]
mov ecx, eax
add cl, al
and cl, 0xce
sub al, cl
add al, 0x67
mov byte [0x468b8d], al
mov eax, 0xb87c6138
xor eax, dword [0x46897e]
mov dword [0x468b8e], eax
movzx eax, byte [0x468982]
xor al, 0x23
mov byte [0x468b92], al
movzx eax, byte [0x468983]
mov ecx, eax
add cl, al
and cl, 0xd8
sub al, cl
add al, 0xec
mov byte [0x468b93], al
movzx eax, byte [0x468984]
mov ecx, eax
add cl, al
and cl, 0x42
sub al, cl
add al, 0xa1
mov byte [0x468b94], al
mov eax, 0x6fabe68b
xor eax, dword [0x468985]
mov dword [0x468b95], eax
movzx eax, byte [0x468989]
mov ecx, eax
add cl, al
and cl, 0xbe
sub al, cl
add al, 0xdf
mov byte [0x468b99], al
movzx eax, byte [0x46898a]
mov ecx, eax
add cl, al
and cl, 0xc0
sub al, cl
add al, 0x60
movsd xmm0, qword [0x46898b]
xorps xmm0, xmmword [0x455d40]
mov byte [0x468b9a], al
movlps qword [0x468b9b], xmm0
movzx eax, byte [0x468993]
xor al, 0x24
mov byte [0x468ba3], al
movzx eax, byte [0x468994]
mov ecx, eax
add cl, al
and cl, 0x48
sub al, cl
add al, 0xa4
mov byte [0x468ba4], al
movzx eax, byte [0x468995]
xor al, 0x6b
mov byte [0x468ba5], al
movzx eax, byte [0x468996]
xor al, 0xf
mov byte [0x468ba6], al
movzx eax, byte [0x468997]
xor al, 0x2d
mov byte [0x468ba7], al
movzx eax, byte [0x468998]
mov ecx, eax
add cl, al
and cl, 0x4c
sub al, cl
add al, 0xa6
mov byte [0x468ba8], al
movzx eax, byte [0x468999]
xor al, 0x5a
mov byte [0x468ba9], al
movzx eax, byte [0x46899a]
mov ecx, eax
add cl, al
and cl, 0x6e
sub al, cl
add al, 0xb7
mov byte [0x468baa], al
movzx eax, byte [0x46899b]
xor al, 0x67
mov byte [0x468bab], al
movzx eax, byte [0x46899c]
xor al, 0x1c
mov byte [0x468bac], al
movzx eax, byte [0x46899d]
mov ecx, eax
add cl, al
sub al, cl
add al, 0x7f
mov byte [0x468bad], al
movzx eax, byte [0x46899e]
xor al, 0xa9
mov byte [0x468bae], al
movzx eax, byte [0x46899f]
xor al, 0xc9
mov byte [0x468baf], al
movzx eax, byte [0x4689a0]
xor al, 0x66
mov byte [0x468bb0], al
movzx eax, byte [0x4689a1]
mov ecx, eax
add cl, al
and cl, 0x82
sub al, cl
add al, 0x41
movsd xmm0, qword [0x4689a2]
xorps xmm0, xmmword [0x455d50]
mov byte [0x468bb1], al
movlps qword [0x468bb2], xmm0
movzx eax, byte [0x4689aa]
xor al, 0x85
mov byte [0x468bba], al
movzx eax, byte [0x4689ab]
mov ecx, eax
add cl, al
and cl, 0x96
sub al, cl
add al, 0xcb
mov byte [0x468bbb], al
movzx eax, byte [0x4689ac]
mov ecx, eax
not cl
or cl, 0x31
or al, 0xce
and al, cl
mov byte [0x468bbc], al
movzx eax, byte [0x4689ad]
xor al, 0x64
mov byte [0x468bbd], al
movzx eax, byte [0x4689ae]
xor al, 0x34
mov byte [0x468bbe], al
movzx eax, byte [0x4689af]
mov ecx, eax
add cl, al
and cl, 0xdc
sub al, cl
add al, 0x6e
mov byte [0x468bbf], al
movsd xmm0, qword [0x4689b0]
xorps xmm0, xmmword [0x455d60]
movlps qword [0x468bc0], xmm0
movzx eax, byte [0x4689b8]
mov ecx, eax
not cl
or al, 0x24
or cl, 0xdb
and cl, al
not cl
mov byte [0x468bc8], cl
mov eax, 0x17ba1d93
xor eax, dword [0x4689b9]
mov dword [0x468bc9], eax
movzx eax, byte [0x4689bd]
mov ecx, eax
add cl, al
and cl, 4
sub al, cl
add al, 0x82
mov byte [0x468bcd], al
movzx eax, byte [0x4689be]
xor al, 0x6e
mov byte [0x468bce], al
movzx eax, byte [0x4689bf]
xor al, 0x5f
mov byte [0x468bcf], al
movzx eax, byte [0x4689c0]
xor al, 0x4e
mov byte [0x468bd0], al
movzx eax, byte [0x4689c1]
mov ecx, eax
add cl, al
and cl, 0x70
sub al, cl
add al, 0xb8
mov byte [0x468bd1], al
movzx eax, byte [0x4689c2]
xor al, 0x7f
mov byte [0x468bd2], al
movzx eax, byte [0x4689c3]
mov ecx, eax
add cl, al
and cl, 0xb6
sub al, cl
add al, 0x5b
mov byte [0x468bd3], al
movzx eax, byte [0x4689c4]
xor al, 0x2a
mov byte [0x468bd4], al
movzx eax, byte [0x4689c5]
xor al, 0x2c
mov byte [0x468bd5], al
movzx eax, byte [0x4689c6]
xor al, 0xb1
mov byte [0x468bd6], al
movzx eax, byte [0x4689c7]
mov ecx, eax
add cl, al
and cl, 0xc2
sub al, cl
add al, 0x61
mov byte [0x468bd7], al
mov eax, 0x6feb3c3b
xor eax, dword [0x4689c8]
mov dword [0x468bd8], eax
movzx eax, byte [0x4689cc]
mov ecx, eax
add cl, al
and cl, 0x22
sub al, cl
add al, 0x91
mov byte [0x468bdc], al
mov eax, 0x9fcfeff4
xor eax, dword [0x4689cd]
mov dword [0x468bdd], eax
movzx eax, byte [0x4689d1]
mov ecx, eax
not cl
or cl, 0x6c
or al, 0x93
and al, cl
mov byte [0x468be1], al
movzx eax, byte [0x4689d2]
mov ecx, eax
add cl, al
and cl, 0x3e
sub al, cl
add al, 0x1f
mov ecx, 0xbb3254bb
xor ecx, dword [0x4689d3]
mov byte [0x468be2], al
mov dword [0x468be3], ecx
movzx eax, byte [0x4689d7]
xor al, 0x77
mov byte [0x468be7], al
movzx eax, byte [0x4689d8]
xor al, 0xd0
mov byte [0x468be8], al
movzx eax, byte [0x4689d9]
mov ecx, eax
add cl, al
and cl, 0xec
sub al, cl
add al, 0xf6
mov byte [0x468be9], al
movzx eax, byte [0x4689da]
mov ecx, eax
not cl
or al, 6
or cl, 0xf9
and cl, al
not cl
mov byte [0x468bea], cl
movsd xmm0, qword [0x4689db]
xorps xmm0, xmmword [0x455d70]
movlps qword [0x468beb], xmm0
movzx eax, byte [0x4689e3]
xor al, 0x21
mov byte [0x468bf3], al
movzx eax, byte [0x4689e4]
xor al, 0xb7
mov byte [0x468bf4], al
movzx eax, byte [0x4689e5]
mov ecx, eax
add cl, al
and cl, 0xce
sub al, cl
add al, 0xe7
mov byte [0x468bf5], al
mov eax, 0xb6afb72a
xor eax, dword [0x4689e6]
mov dword [0x468bf6], eax
movzx eax, byte [0x4689ea]
xor al, 0xc9
mov byte [0x468bfa], al
movzx eax, byte [0x4689eb]
mov ecx, eax
add cl, al
and cl, 0x66
sub al, cl
add al, 0xb3
mov byte [0x468bfb], al
movzx eax, byte [str._abW_]
xor al, 0x43
mov byte [0x468bfc], al
movzx eax, byte [0x4689ed]
mov ecx, eax
add cl, al
and cl, 0xa8
sub al, cl
add al, 0x54
mov byte [0x468bfd], al
movzx eax, byte [0x4689ee]
mov ecx, eax
add cl, al
and cl, 0x56
sub al, cl
add al, 0xab
mov byte [0x468bfe], al
movsd xmm0, qword [0x4689ef]
xorps xmm0, xmmword [0x455d80]
movlps qword [0x468bff], xmm0
movzx eax, byte [0x4689f7]
xor al, 0xda
mov byte [0x468c07], al
movzx eax, byte [0x4689f8]
mov ecx, eax
add cl, al
and cl, 0x90
sub al, cl
add al, 0x48
mov byte [0x468c08], al
mov eax, 0x9cdf6542
xor eax, dword [0x4689f9]
mov dword [0x468c09], eax
movzx eax, byte [0x4689fd]
xor al, 0x3a
mov byte [0x468c0d], al
movzx eax, byte [0x4689fe]
xor al, 0xca
mov byte [0x468c0e], al
movzx eax, byte [0x4689ff]
mov ecx, eax
add cl, al
and cl, 0x20
sub al, cl
add al, 0x10
movaps xmm0, xmmword [0x468a00]
xorps xmm0, xmmword [0x455d90]
mov byte [0x468c0f], al
movss dword [0x468c10], xmm0
movzx eax, byte [0x468a04]
mov ecx, eax
add cl, al
and cl, 0xa8
sub al, cl
add al, 0xd4
mov byte [0x468c14], al
movzx eax, byte [0x468a05]
mov ecx, eax
add cl, al
and cl, 0xea
sub al, cl
add al, 0x75
mov byte [0x468c15], al
movzx eax, byte [0x468a06]
mov ecx, eax
add cl, al
and cl, 0x4e
sub al, cl
add al, 0xa7
mov byte [0x468c16], al
movzx eax, byte [0x468a07]
xor al, 0x61
mov byte [0x468c17], al
movzx eax, byte [0x468a08]
mov ecx, eax
add cl, al
and cl, 0x5a
sub al, cl
add al, 0x2d
mov byte [0x468c18], al
mov eax, 0x83a484e4
xor eax, dword [0x468a09]
mov dword [0x468c19], eax
movzx eax, byte [0x468a0d]
xor al, 0xab
mov byte [0x468c1d], al
movzx eax, byte [0x468a0e]
mov ecx, eax
add cl, al
and cl, 8
sub al, cl
add al, 0x84
mov byte [0x468c1e], al
movzx eax, byte [0x468a0f]
xor al, 0x67
mov byte [0x468c1f], al
movzx eax, byte [0x468a10]
mov ecx, eax
add cl, al
and cl, 0xec
sub al, cl
add al, 0x76
mov byte [0x468c20], al
movzx eax, byte [0x468a11]
mov ecx, eax
add cl, al
and cl, 0x36
sub al, cl
add al, 0x9b
mov byte [0x468c21], al
mov eax, 0xaf3cd5c6
xor eax, dword [0x468a12]
mov dword [0x468c22], eax
movzx eax, byte [0x468a16]
xor al, 0x66
mov byte [0x468c26], al
movzx eax, byte [0x468a17]
xor al, 0xe0
mov byte [0x468c27], al
movzx eax, byte [0x468a18]
mov ecx, eax
add cl, al
and cl, 0x1a
sub al, cl
add al, 0x8d
mov byte [0x468c28], al
mov eax, 0x8845149a
xor eax, dword [0x468a19]
mov dword [0x468c29], eax
movzx eax, byte [0x468a1d]
xor al, 0x33
mov byte [0x468c2d], al
movzx eax, byte [0x468a1e]
xor al, 8
mov byte [0x468c2e], al
movzx eax, byte [0x468a1f]
mov ecx, eax
add cl, al
and cl, 0xe2
sub al, cl
add al, 0x71
mov byte [0x468c2f], al
movzx eax, byte [0x468a20]
xor al, 0x50
mov byte [0x468c30], al
movzx eax, byte [0x468a21]
mov ecx, eax
add cl, al
and cl, 0x4a
sub al, cl
add al, 0xa5
mov byte [str.O_Mp], al
mov eax, 0x8057a781
xor eax, dword [0x468a22]
mov dword [0x468c32], eax
movzx eax, byte [0x468a26]
xor al, 0xb1
mov byte [str.eJ6_jG], al
movzx eax, byte [0x468a27]
xor al, 0x2f
mov byte [0x468c37], al
movzx eax, byte [0x468a28]
xor al, 0xd5
mov byte [0x468c38], al
movzx eax, byte [0x468a29]
mov ecx, eax
not cl
or cl, 0x61
or al, 0x9e
and al, cl
mov byte [0x468c39], al
movzx eax, byte [0x468a2a]
xor al, 0x90
mov byte [0x468c3a], al
movzx eax, byte [0x468a2b]
mov ecx, eax
not cl
or cl, 0xa5
or al, 0x5a
and al, cl
movsd xmm0, qword [0x468a2c]
xorps xmm0, xmmword [0x455da0]
mov byte [0x468c3b], al
mov eax, 0xab67da5c
xor eax, dword [0x468a34]
movlps qword [0x468c3c], xmm0
mov dword [0x468c44], eax
movzx eax, byte [0x468a38]
xor al, 0x89
mov byte [0x468c48], al
movzx eax, byte [0x468a39]
xor al, 3
mov byte [0x468c49], al
movzx eax, byte [0x468a3a]
xor al, 0x47
mov byte [0x468c4a], al
movzx eax, byte [0x468a3b]
mov ecx, eax
not cl
or al, 0xc9
or cl, 0x36
and cl, al
not cl
mov byte [0x468c4b], cl
movzx eax, byte [0x468a3c]
xor al, 0x5c
mov byte [0x468c4c], al
movzx eax, byte [0x468a3d]
xor al, 0x7b
mov byte [0x468c4d], al
movzx eax, byte [0x468a3e]
mov ecx, eax
add cl, al
and cl, 0x5a
sub al, cl
add al, 0xad
mov byte [0x468c4e], al
movzx eax, byte [0x468a3f]
add al, 0x80
mov byte [0x468c4f], al
movzx eax, byte [0x468a40]
mov ecx, eax
add cl, al
and cl, 0x22
sub al, cl
add al, 0x91
movsd xmm0, qword [0x468c60]
xorps xmm0, xmmword [0x455db0]
mov byte [0x468c50], al
movlps qword [0x468d30], xmm0
movzx eax, byte [0x468c68]
mov ecx, eax
add cl, al
and cl, 0xf2
sub al, cl
add al, 0x79
mov byte [0x468d38], al
movups xmm0, xmmword [0x468c69]
xorps xmm0, xmmword [str._F_b]
movups xmmword [0x468d39], xmm0
movzx eax, byte [0x468c79]
xor al, 0x6e
mov byte [0x468d49], al
movzx eax, byte [0x468c7a]
xor al, 0x70
mov byte [0x468d4a], al
movzx eax, byte [0x468c7b]
mov ecx, eax
not cl
or cl, 0xc7
or al, 0x38
and al, cl
mov byte [0x468d4b], al
movzx eax, byte [0x468c7c]
xor al, 0xcb
mov byte [0x468d4c], al
movzx eax, byte [str.u_Vw]
xor al, 0x41
mov byte [0x468d4d], al
movzx eax, byte [0x468c7e]
mov ecx, eax
add cl, al
and cl, 0x3c
sub al, cl
add al, 0x1e
mov byte [0x468d4e], al
movzx eax, byte [0x468c7f]
xor al, 0x63
mov byte [0x468d4f], al
movzx eax, byte [0x468c80]
xor al, 0x46
mov byte [0x468d50], al
movzx eax, byte [0x468c81]
mov ecx, eax
add cl, al
and cl, 0xa2
sub al, cl
add al, 0xd1
mov byte [0x468d51], al
mov eax, 0x512be891
xor eax, dword [0x468c82]
mov dword [0x468d52], eax
movzx eax, byte [0x468c86]
xor al, 0xa8
mov byte [0x468d56], al
movzx eax, byte [0x468c87]
xor al, 0xe4
mov byte [0x468d57], al
movzx eax, byte [0x468c88]
xor al, 0x9e
mov byte [0x468d58], al
movzx eax, byte [0x468c89]
mov ecx, eax
not cl
or cl, 0xa3
or al, 0x5c
and al, cl
mov byte [0x468d59], al
movzx eax, byte [0x468c8a]
xor al, 0xd4
mov byte [0x468d5a], al
movzx eax, byte [0x468c8b]
xor al, 0x96
mov byte [0x468d5b], al
movzx eax, byte [0x468c8c]
mov ecx, eax
not cl
or cl, 0xc
or al, 0xf3
and al, cl
mov byte [0x468d5c], al
movsd xmm0, qword [0x468c8d]
xorps xmm0, xmmword [0x455dd0]
movlps qword [0x468d5d], xmm0
movzx eax, byte [0x468c95]
mov ecx, eax
add cl, al
and cl, 0xd8
sub al, cl
add al, 0xec
mov byte [0x468d65], al
mov eax, 0x5d4e5828
xor eax, dword [0x468c96]
mov dword [0x468d66], eax
movzx eax, byte [0x468c9a]
xor al, 0x72
mov byte [0x468d6a], al
movzx eax, byte [0x468c9b]
mov ecx, eax
add cl, al
and cl, 0x26
sub al, cl
add al, 0x93
mov byte [0x468d6b], al
movzx eax, byte [0x468c9c]
xor al, 0x2a
mov byte [0x468d6c], al
movzx eax, byte [0x468c9d]
xor al, 0x76
mov byte [0x468d6d], al
movzx eax, byte [0x468c9e]
xor al, 0x73
mov byte [0x468d6e], al
movzx eax, byte [0x468c9f]
mov ecx, eax
add cl, al
and cl, 0x1c
sub al, cl
add al, 0x8e
mov byte [0x468d6f], al
movzx eax, byte [0x468ca0]
mov ecx, eax
add cl, al
and cl, 0x50
sub al, cl
add al, 0xa8
mov byte [0x468d70], al
movzx eax, byte [0x468ca1]
xor al, 0x2b
mov byte [0x468d71], al
movzx eax, byte [0x468ca2]
xor al, 0x77
mov byte [0x468d72], al
movzx eax, byte [0x468ca3]
mov ecx, eax
not cl
or al, 0x82
or cl, 0x7d
and cl, al
not cl
mov byte [0x468d73], cl
movzx eax, byte [0x468ca4]
xor al, 0x93
mov byte [0x468d74], al
movzx eax, byte [0x468ca5]
mov ecx, eax
not cl
or cl, 0x6d
or al, 0x92
and al, cl
mov byte [0x468d75], al
movzx eax, byte [0x468ca6]
xor al, 0x53
mov byte [0x468d76], al
movzx eax, byte [0x468ca7]
xor al, 0x48
mov byte [0x468d77], al
movzx eax, byte [0x468ca8]
xor al, 0xbe
mov byte [0x468d78], al
movzx eax, byte [0x468ca9]
mov ecx, eax
add cl, al
and cl, 0x84
sub al, cl
add al, 0x42
mov byte [0x468d79], al
mov eax, 0x225977a3
xor eax, dword [0x468caa]
mov dword [0x468d7a], eax
movzx eax, byte [0x468cae]
mov ecx, eax
add cl, al
and cl, 0x16
sub al, cl
add al, 0x8b
mov byte [0x468d7e], al
movzx eax, byte [0x468caf]
mov ecx, eax
add cl, al
and cl, 0x9e
sub al, cl
add al, 0xcf
mov byte [0x468d7f], al
movzx eax, byte [0x468cb0]
xor al, 0xd5
mov byte [0x468d80], al
movzx eax, byte [0x468cb1]
mov ecx, eax
add cl, al
and cl, 0xa
sub al, cl
add al, 5
mov byte [0x468d81], al
mov eax, 0x9fe9bcb6
xor eax, dword [0x468cb2]
mov dword [0x468d82], eax
movzx eax, byte [0x468cb6]
xor al, 0x11
mov byte [0x468d86], al
movzx eax, byte [0x468cb7]
xor al, 0x72
mov byte [0x468d87], al
movzx eax, byte [0x468cb8]
xor al, 0xc5
mov byte [0x468d88], al
movzx eax, byte [0x468cb9]
mov ecx, eax
add cl, al
and cl, 0xea
sub al, cl
add al, 0xf5
mov byte [0x468d89], al
movzx eax, byte [0x468cba]
xor al, 0x91
mov byte [0x468d8a], al
movzx eax, byte [0x468cbb]
xor al, 0x89
mov byte [0x468d8b], al
movzx eax, byte [0x468cbc]
mov ecx, eax
add cl, al
and cl, 0x7a
sub al, cl
add al, 0xbd
mov byte [0x468d8c], al
movzx eax, byte [0x468cbd]
xor al, 4
mov byte [0x468d8d], al
movzx eax, byte [0x468cbe]
mov ecx, eax
add cl, al
and cl, 0xca
sub al, cl
add al, 0xe5
mov byte [0x468d8e], al
movzx eax, byte [0x468cbf]
xor al, 0x5d
mov byte [0x468d8f], al
movzx eax, byte [0x468cc0]
xor al, 0xe9
mov byte [0x468d90], al
movzx eax, byte [0x468cc1]
mov ecx, eax
not cl
or cl, 8
or al, 0xf7
and al, cl
mov byte [0x468d91], al
movzx eax, byte [0x468cc2]
xor al, 0x15
mov byte [0x468d92], al
movzx eax, byte [0x468cc3]
xor al, 0xc7
mov byte [0x468d93], al
movzx eax, byte [0x468cc4]
xor al, 0xcb
mov byte [0x468d94], al
movzx eax, byte [0x468cc5]
mov ecx, eax
add cl, al
and cl, 0xa2
sub al, cl
add al, 0xd1
mov byte [0x468d95], al
mov eax, 0x91d21b6c
xor eax, dword [0x468cc6]
mov dword [0x468d96], eax
movzx eax, byte [0x468cca]
mov ecx, eax
add cl, al
and cl, 0xfa
sub al, cl
add al, 0xfd
mov byte [0x468d9a], al
mov eax, 0xd37eb1a
xor eax, dword [0x468ccb]
mov dword [0x468d9b], eax
movzx eax, byte [0x468ccf]
xor al, 0xbe
mov byte [0x468d9f], al
movzx eax, byte [str.1k_f8O]
xor al, 4
mov byte [case.0x443cdf.0], al
movzx eax, byte [0x468cd1]
mov ecx, eax
add cl, al
and cl, 0xba
sub al, cl
add al, 0x5d
mov byte [0x468da1], al
mov eax, 0xff7a0f39
xor eax, dword [0x468cd2]
mov dword [0x468da2], eax
movzx eax, byte [0x468cd6]
mov ecx, eax
add cl, al
and cl, 0x4e
sub al, cl
add al, 0xa7
mov byte [0x468da6], al
movsd xmm0, qword [0x468cd7]
xorps xmm0, xmmword [0x455de0]
movlps qword [0x468da7], xmm0
movzx eax, byte [0x468cdf]
xor al, 0xac
mov byte [0x468daf], al
movzx eax, byte [0x468ce0]
xor al, 0x73
mov byte [0x468db0], al
movzx eax, byte [0x468ce1]
xor al, 0x9b
mov byte [0x468db1], al
movzx eax, byte [0x468ce2]
mov ecx, eax
add cl, al
and cl, 0x60
sub al, cl
add al, 0x30
mov byte [0x468db2], al
movzx eax, byte [0x468ce3]
mov ecx, eax
add cl, al
and cl, 0xf6
sub al, cl
add al, 0xfb
mov byte [0x468db3], al
movzx eax, byte [0x468ce4]
xor al, 0x8a
mov byte [0x468db4], al
movzx eax, byte [0x468ce5]
mov ecx, eax
add cl, al
and cl, 0x12
sub al, cl
add al, 9
mov byte [0x468db5], al
movzx eax, byte [0x468ce6]
xor al, 0x37
mov byte [0x468db6], al
movzx eax, byte [0x468ce7]
mov ecx, eax
not cl
or al, 0xbe
or cl, 0x41
and cl, al
not cl
mov byte [0x468db7], cl
movsd xmm0, qword [0x468ce8]
xorps xmm0, xmmword [0x455df0]
movlps qword [str.j_o], xmm0
movaps xmm0, xmmword [0x468cf0]
xorps xmm0, xmmword [0x455e00]
movss dword [0x468dc0], xmm0
movzx eax, byte [0x468cf4]
xor al, 0x39
mov byte [0x468dc4], al
movzx eax, byte [0x468cf5]
xor al, 0xc7
mov byte [0x468dc5], al
movzx eax, byte [0x468cf6]
xor al, 0x22
mov byte [0x468dc6], al
movzx eax, byte [0x468cf7]
mov ecx, eax
not cl
or cl, 0xfd
or al, 2
and al, cl
mov byte [0x468dc7], al
movzx eax, byte [0x468cf8]
xor al, 0xc1
mov byte [0x468dc8], al
movzx eax, byte [0x468cf9]
mov ecx, eax
add cl, al
and cl, 0x92
sub al, cl
add al, 0xc9
mov byte [0x468dc9], al
movzx eax, byte [0x468cfa]
xor al, 0xb0
mov byte [0x468dca], al
movzx eax, byte [0x468cfb]
mov ecx, eax
not cl
or al, 0xb1
or cl, 0x4e
and cl, al
not cl
mov byte [0x468dcb], cl
mov eax, 0x42eb6820
xor eax, dword [0x468cfc]
mov dword [0x468dcc], eax
movzx eax, byte [0x468d00]
xor al, 0x34
mov byte [0x468dd0], al
movzx eax, byte [0x468d01]
mov ecx, eax
add cl, al
and cl, 0xba
sub al, cl
add al, 0x5d
mov byte [0x468dd1], al
movups xmm0, xmmword [0x468d02]
xorps xmm0, xmmword [0x455e10]
movups xmmword [0x468dd2], xmm0
movsd xmm0, qword [0x468d12]
xorps xmm0, xmmword [0x455e20]
movlps qword [0x468de2], xmm0
movzx eax, byte [0x468d1a]
xor al, 0xdc
mov byte [0x468dea], al
movzx eax, byte [0x468d1b]
mov ecx, eax
add cl, al
and cl, 0x7c
sub al, cl
add al, 0xbe
mov byte [0x468deb], al
movsd xmm0, qword [0x468d1c]
xorps xmm0, xmmword [0x455e30]
movlps qword [0x468dec], xmm0
movzx eax, byte [0x468d24]
xor al, 0x1f
mov byte [0x468df4], al
movzx eax, byte [0x468d25]
xor al, 0xcc
mov byte [0x468df5], al
movzx eax, byte [0x468d26]
xor al, 0x5f
mov byte [0x468df6], al
movzx eax, byte [0x468d27]
mov ecx, eax
add cl, al
and cl, 0x72
sub al, cl
add al, 0x39
mov byte [0x468df7], al
movzx eax, byte [0x468d28]
xor al, 0x8a
mov byte [0x468df8], al
mov eax, dword [ebp + 0xc]
mov dword [0x472750], 1
push eax
mov ebx, esp
cmp esi, 0x24
ja 0x4404d8
cmp esi, 1
je 0x4404d8
mov edx, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
mov ecx, edi
neg ecx
cmovs ecx, edi
lea edi, [eax + edx - 1]
mov byte [eax + edx - 1], 0
jae 0x4403de
cmp esi, 0xa
je 0x4403ec
cmp esi, 0x10
jne 0x4403c0
mov esi, ebx
cmp ecx, 0x100
jb 0x44045e
mov eax, ecx
nop word [eax + eax]
movzx edx, cl
add edx, edx
movzx ebx, byte [edx + 0x468a51]
mov byte [edi - 1], bl
movzx edx, byte [edx + 0x468a50]
mov byte [edi - 2], dl
add edi, 0xfffffffe
shr eax, 8
cmp ecx, 0xffff
mov ecx, eax
ja 0x440370
cmp eax, 0xf
ja 0x440469
movzx eax, byte [eax + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
lea ecx, [edi - 1]
mov ebx, esi
mov dword [esi], ecx
mov byte [edi - 1], al
jmp 0x4404d6
mov eax, ecx
xor edx, edx
div esi
movzx edx, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [edi - 1], dl
dec edi
cmp ecx, esi
mov ecx, eax
jae 0x4403c0
mov dword [ebx], edi
jmp 0x4404d6
lea eax, [edi - 1]
mov dword [ebx], eax
mov byte [edi - 1], 0x30
jmp 0x4404d6
cmp ecx, 0x64
mov dword [ebp - 0x10], ebx
jb 0x4404a1
nop dword [eax + eax]
mov eax, ecx
mov edx, 0x51eb851f
mul edx
shr edx, 5
imul esi, edx, 0x64
mov eax, ecx
sub eax, esi
mov ebx, eax
and ebx, 0x7d
mov esi, eax
and esi, 2
or eax, 2
imul eax, esi
xor esi, 2
imul esi, ebx
movzx ebx, byte [esi + eax + 0x468d31]
mov byte [edi - 1], bl
movzx eax, byte [esi + eax + 0x468d30]
mov byte [edi - 2], al
add edi, 0xfffffffe
cmp ecx, 0x270f
mov ecx, edx
ja 0x440400
cmp edx, 9
ja 0x4404a8
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [edi - 1], al
dec edi
jmp 0x4404c1
mov eax, ecx
cmp eax, 0xf
jbe 0x4403a2
mov ecx, eax
and ecx, 2
mov edx, eax
or eax, 2
imul eax, ecx
xor ecx, 2
and edx, 0xfffffd
imul edx, ecx
movzx ecx, byte [edx + eax + 0x468a51]
mov byte [edi - 1], cl
movzx eax, byte [edx + eax + 0x468a50]
lea ecx, [edi - 2]
mov ebx, esi
mov dword [esi], ecx
mov byte [edi - 2], al
jmp 0x4404d6
mov edx, ecx
cmp edx, 9
jbe 0x440451
movzx eax, byte [edx + edx + 0x468d31]
mov byte [edi - 1], al
movzx eax, byte [edx + edx + 0x468d30]
mov byte [edi - 2], al
add edi, 0xfffffffe
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
mov dword [ebx], edi
test eax, eax
jns 0x4404d6
lea eax, [edi - 1]
mov dword [ebx], eax
mov byte [edi - 1], 0x2d
mov eax, dword [ebx]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret