Function at 0x657d40
Capabilities:
Query environment variable

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [0x6ace08]
mov dword [0x865208], 0
test eax, eax
jne 0x657fa4
mov dword [0x6ace08], 1
mov eax, 1
mov dword [0x86520c], eax
mov dword [0x865210], eax
mov dword [0x865214], 0
mov dword [esp], 0x770b00
call sub.msvcrt.dll_getenv
mov ecx, dword [esp + 0x78]
movzx edx, byte [ecx]
mov dword [0x865218], eax
cmp dl, 0x2d
je 0x658103
cmp dl, 0x2b
je 0x6581f0
test eax, eax
sete al
movzx eax, al
mov dword [0x86521c], eax
mov dword [0x865204], 1
mov ebx, dword [0x865214]
test ebx, ebx
je 0x657fb7
movzx edx, byte [ebx]
test dl, dl
mov byte [esp + 0x2c], dl
je 0x657fb7
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x658050
mov edx, dword [0x6ace08]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x3c], edx
mov eax, dword [eax + edx*4]
movzx edx, byte [eax + 1]
mov dword [esp + 0x40], eax
cmp dl, 0x2d
mov byte [esp + 0x47], dl
je 0x657e60
mov eax, dword [esp + 0x84]
test eax, eax
je 0x658050
mov ecx, dword [esp + 0x40]
cmp byte [ecx + 2], 0
jne 0x657e60
mov edx, dword [esp + 0x78]
movzx eax, byte [edx]
test al, al
je 0x657e60
movsx edx, byte [esp + 0x47]
movsx ebp, al
mov eax, dword [esp + 0x78]
cmp edx, ebp
jne 0x657e54
jmp 0x658410
movsx ecx, cl
add eax, 1
cmp edx, ecx
je 0x658410
movzx ecx, byte [eax + 1]
test cl, cl
jne 0x657e46
lea esi, [esi]
cmp byte [esp + 0x2c], 0
mov ebp, ebx
je 0x657e81
cmp byte [esp + 0x2c], 0x3d
jne 0x657e76
jmp 0x657e81
test al, al
je 0x657e81
add ebp, 1
movzx eax, byte [ebp]
cmp al, 0x3d
jne 0x657e72
mov edx, dword [esp + 0x7c]
mov esi, dword [edx]
test esi, esi
je 0x65837e
mov eax, ebp
mov edi, edx
sub eax, ebx
xor edx, edx
mov dword [esp + 0x28], ebx
mov ebx, eax
mov dword [esp + 0x4c], ebp
mov ebp, edx
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x38], 0
mov dword [esp + 0x30], 0
jmp 0x657ed4
mov dword [esp + 0x38], 1
add edi, 0x10
add ebp, 1
mov esi, dword [edi]
test esi, esi
je 0x657f18
mov ecx, dword [esp + 0x28]
mov dword [esp + 8], ebx
mov dword [esp], esi
mov dword [esp + 4], ecx
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x657ec8
mov dword [esp], esi
call sub.msvcrt.dll_strlen
cmp ebx, eax
je 0x6582d6
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x657ec0
mov dword [esp + 0x30], edi
add edi, 0x10
mov esi, dword [edi]
mov dword [esp + 0x48], ebp
add ebp, 1
test esi, esi
jne 0x657ed4
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x4c]
test eax, eax
je 0x6582e8
mov eax, dword [0x6ace04]
test eax, eax
je 0x657f6f
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0xc], edx
mov eax, dword [ecx]
mov dword [esp + 4], str._s:_option___s_is_ambiguous_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov edx, dword [0x6ace08]
mov ebx, dword [0x865214]
mov dword [esp + 0x3c], edx
mov dword [esp], ebx
mov esi, 0x3f
call sub.msvcrt.dll_strlen
mov dword [0x6ace00], 0
add ebx, eax
mov eax, dword [esp + 0x3c]
mov dword [0x865214], ebx
add eax, 1
mov dword [0x6ace08], eax
add esp, 0x5c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [0x865204]
test ebx, ebx
je 0x657d6d
jmp 0x657dc2
mov edx, dword [0x6ace08]
cmp dword [0x86520c], edx
jle 0x657fcb
mov dword [0x86520c], edx
cmp edx, dword [0x865210]
jge 0x657fd9
mov dword [0x865210], edx
cmp dword [0x86521c], 1
je 0x658180
cmp dword [esp + 0x70], edx
je 0x658155
mov ecx, dword [esp + 0x74]
mov edi, 0x770b10
mov eax, dword [ecx + edx*4]
mov ecx, 3
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x658120
mov eax, dword [0x865210]
add edx, 1
mov ecx, dword [0x86520c]
mov dword [0x6ace08], edx
cmp eax, ecx
je 0x658357
cmp edx, ecx
je 0x658039
mov eax, dword [esp + 0x74]
call fcn.00657c50
mov eax, dword [0x865210]
mov edx, dword [esp + 0x70]
mov dword [0x86520c], edx
mov dword [0x6ace08], edx
jmp 0x658164
mov edx, dword [esp + 0x78]
lea edi, [ebx + 1]
mov ecx, 1
movsx esi, byte [esp + 0x2c]
mov dword [0x865214], edi
movzx eax, byte [edx]
xor edx, edx
test al, al
je 0x65809d
movsx ebp, al
cmp ebp, esi
mov edx, dword [esp + 0x78]
jne 0x65808e
jmp 0x6582a8
movsx eax, al
add edx, 1
cmp esi, eax
je 0x6582a8
movzx eax, byte [edx + 1]
test al, al
jne 0x658080
mov ecx, 1
xor edx, edx
cmp byte [ebx + 1], 0
jne 0x6580aa
add dword [0x6ace08], 1
test cl, cl
je 0x658204
mov eax, dword [0x6ace04]
test eax, eax
je 0x6580ee
mov eax, dword [0x865218]
mov dword [esp + 0xc], esi
test eax, eax
je 0x658512
mov ecx, dword [esp + 0x74]
mov eax, dword [ecx]
mov dword [esp + 4], str._s:_illegal_option_____c_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [0x6ace00], esi
add esp, 0x5c
mov esi, 0x3f
pop ebx
mov eax, esi
pop esi
pop edi
pop ebp
ret
add ecx, 1
mov dword [0x86521c], 2
mov dword [esp + 0x78], ecx
jmp 0x657db8
cmp byte [eax], 0x2d
je 0x658270
mov ecx, dword [0x86521c]
mov esi, 0xffffffff
test ecx, ecx
je 0x65814b
add edx, 1
mov esi, 1
mov dword [0x865208], eax
mov dword [0x6ace08], edx
add esp, 0x5c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [0x86520c]
mov eax, dword [0x865210]
mov dword [esp + 0x70], edx
cmp eax, dword [esp + 0x70]
mov esi, 0xffffffff
je 0x65814b
mov dword [0x6ace08], eax
add esp, 0x5c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [0x865210]
mov eax, dword [0x86520c]
cmp ecx, eax
je 0x6583f7
cmp edx, eax
je 0x6581a6
mov eax, dword [esp + 0x74]
call fcn.00657c50
mov edx, dword [0x6ace08]
cmp dword [esp + 0x70], edx
jle 0x6582c0
mov ebx, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
jmp 0x6581d1
add edx, 1
cmp edx, ebx
mov dword [0x6ace08], edx
je 0x6582c0
mov eax, dword [ecx + edx*4]
cmp byte [eax], 0x2d
jne 0x6581c0
cmp byte [eax + 1], 0
je 0x6581c0
mov eax, edx
mov edx, dword [0x6ace08]
jmp 0x6582c2
mov dword [0x86521c], 0
add dword [esp + 0x78], 1
jmp 0x657db8
cmp byte [esp + 0x2c], 0x3a
je 0x6580b2
cmp byte [edx], 0x57
movzx eax, byte [edx + 1]
je 0x65842b
cmp al, 0x3a
jne 0x65814b
cmp byte [edx + 2], 0x3a
je 0x6585f0
cmp byte [ebx + 1], 0
jne 0x6585bb
mov eax, dword [0x6ace08]
cmp eax, dword [esp + 0x70]
je 0x658740
mov ecx, dword [esp + 0x74]
mov edx, dword [ecx + eax*4]
add eax, 1
mov dword [0x6ace08], eax
mov dword [0x865208], edx
mov dword [0x865214], 0
jmp 0x65814b
movzx ecx, byte [eax + 1]
test cl, cl
je 0x658129
mov edx, dword [esp + 0x7c]
mov ebx, 1
test edx, edx
je 0x658294
xor ebx, ebx
cmp cl, 0x2d
sete bl
add ebx, 1
add ebx, eax
movzx ecx, byte [ebx]
mov dword [0x865214], ebx
mov byte [esp + 0x2c], cl
jmp 0x657ddf
test edx, edx
sete cl
cmp byte [ebx + 1], 0
jne 0x6580aa
jmp 0x6580a3
mov eax, edx
cmp dword [esp + 0x70], edx
mov dword [0x86520c], eax
jne 0x657ff0
jmp 0x658155
mov edx, ebp
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x48], edx
mov dword [esp + 0x30], edi
mov eax, dword [esp + 0x30]
test eax, eax
je 0x65837e
mov eax, dword [esp + 0x3c]
add eax, 1
mov dword [0x6ace08], eax
cmp byte [ebp], 0
jne 0x658364
mov edx, dword [esp + 0x30]
cmp dword [edx + 4], 1
je 0x6585cd
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, dword [esp + 0x80]
add ebx, eax
test edx, edx
mov dword [0x865214], ebx
je 0x65833c
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x80]
mov dword [edx], ecx
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 8]
test eax, eax
je 0x658605
mov edx, dword [edx + 0xc]
xor esi, esi
mov dword [eax], edx
jmp 0x65814b
mov dword [0x865210], edx
mov eax, edx
jmp 0x658039
mov ecx, dword [esp + 0x30]
mov edi, dword [ecx + 4]
test edi, edi
je 0x658539
add ebp, 1
mov dword [0x865208], ebp
jmp 0x658314
mov eax, dword [esp + 0x84]
test eax, eax
jne 0x6586ef
mov eax, dword [0x6ace04]
test eax, eax
je 0x6583d2
cmp byte [esp + 0x47], 0x2d
je 0x658827
mov edx, dword [esp + 0x40]
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x74]
movsx eax, byte [edx]
mov dword [esp + 0xc], eax
mov eax, dword [ecx]
mov dword [esp + 4], str._s:_unrecognized_option___c_s_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [0x865214], 0x770bfc
mov esi, 0x3f
add dword [0x6ace08], 1
mov dword [0x6ace00], 0
jmp 0x65814b
cmp edx, ecx
je 0x6581a6
mov dword [0x865210], edx
jmp 0x6581a6
test eax, eax
je 0x657e60
movsx esi, byte [esp + 0x2c]
lea edi, [ebx + 1]
mov dword [0x865214], edi
jmp 0x658073
cmp al, 0x3b
jne 0x65821c
cmp byte [ebx + 1], 0
je 0x6586c6
add dword [0x6ace08], 1
mov dword [0x865208], edi
movzx ebp, byte [edi]
mov dword [0x865214], edi
mov dword [esp + 0x38], edi
mov ecx, ebp
cmp cl, 0x3d
je 0x65847b
test cl, cl
je 0x65847b
mov eax, edi
jmp 0x65846a
test dl, dl
je 0x658475
add eax, 1
movzx edx, byte [eax]
cmp dl, 0x3d
jne 0x658466
mov dword [esp + 0x38], eax
mov ebp, edx
mov edx, dword [esp + 0x7c]
mov ebx, dword [edx]
test ebx, ebx
je 0x6588c4
mov edx, dword [esp + 0x38]
mov ecx, ebp
xor eax, eax
mov dword [esp + 0x28], edi
mov esi, dword [esp + 0x7c]
mov ebp, eax
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
sub edx, edi
mov dword [esp + 0x2c], 0
mov edi, edx
mov byte [esp + 0x46], cl
jmp 0x6584d8
mov dword [esp + 0x30], 1
add esi, 0x10
add ebp, 1
mov ebx, dword [esi]
test ebx, ebx
je 0x658652
mov edx, dword [esp + 0x28]
mov dword [esp + 8], edi
mov dword [esp], ebx
mov dword [esp + 4], edx
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x6584c8
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
cmp edi, eax
je 0x658797
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x6584c0
mov dword [esp + 0x34], ebp
mov dword [esp + 0x2c], esi
jmp 0x6584c8
mov edx, dword [esp + 0x74]
mov eax, dword [edx]
mov dword [esp + 4], str._s:_invalid_option_____c_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x6580ee
mov esi, dword [0x6ace04]
test esi, esi
je 0x658314
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x74]
mov eax, dword [ecx + edx*4]
cmp byte [eax + 1], 0x2d
je 0x65876a
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x74]
movsx eax, byte [eax]
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 4], str._s:_option___c_s_doesnt_allow_an_argument_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov ebx, dword [0x865214]
mov esi, 0x3f
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov ecx, dword [esp + 0x30]
add ebx, eax
mov eax, dword [ecx + 0xc]
mov dword [0x865214], ebx
mov dword [0x6ace00], eax
jmp 0x65814b
mov dword [0x865208], edi
add dword [0x6ace08], 1
jmp 0x65825c
cmp dword [esp + 0x70], eax
jle 0x658611
mov ecx, dword [esp + 0x74]
mov eax, dword [ecx + eax*4]
mov dword [0x865208], eax
mov eax, dword [esp + 0x3c]
add eax, 2
mov dword [0x6ace08], eax
jmp 0x658314
cmp byte [ebx + 1], 0
jne 0x6585bb
mov dword [0x865208], 0
jmp 0x65825c
mov edx, dword [esp + 0x30]
mov esi, dword [edx + 0xc]
jmp 0x65814b
mov ecx, dword [0x6ace04]
test ecx, ecx
jne 0x658852
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, dword [esp + 0x30]
add ebx, eax
mov eax, dword [edx + 0xc]
mov dword [0x865214], ebx
mov dword [0x6ace00], eax
mov edx, dword [esp + 0x78]
xor ecx, ecx
cmp byte [edx], 0x3a
setne cl
mov esi, ecx
lea esi, [esi + esi*4 + 0x3a]
jmp 0x65814b
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x28]
movzx ebp, byte [esp + 0x46]
test esi, esi
je 0x6587aa
mov ebx, dword [0x6ace04]
test ebx, ebx
je 0x6586a5
mov ecx, dword [esp + 0x74]
mov eax, dword [0x6ace08]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0xc], eax
mov eax, dword [ecx]
mov dword [esp + 4], str._s:_option___W__s_is_ambiguous_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov edi, dword [0x865214]
mov dword [esp], edi
mov esi, 0x3f
call sub.msvcrt.dll_strlen
add dword [0x6ace08], 1
add edi, eax
mov dword [0x865214], edi
jmp 0x65814b
mov eax, dword [0x6ace08]
cmp eax, dword [esp + 0x70]
je 0x65888a
mov edx, dword [esp + 0x74]
mov edi, dword [edx + eax*4]
add eax, 1
mov dword [0x6ace08], eax
mov dword [0x865208], edi
jmp 0x65844a
cmp byte [esp + 0x47], 0x2d
je 0x65838d
mov edx, dword [esp + 0x78]
movzx eax, byte [edx]
test al, al
je 0x65838d
movsx esi, byte [esp + 0x2c]
movsx ebp, al
cmp esi, ebp
je 0x658986
movzx eax, byte [edx + 1]
test al, al
je 0x65838d
movsx eax, al
add edx, 1
cmp esi, eax
jne 0x658719
test edx, edx
jne 0x65841d
jmp 0x65838d
mov eax, dword [0x6ace04]
test eax, eax
jne 0x658925
mov edx, dword [esp + 0x78]
xor ecx, ecx
mov dword [0x6ace00], esi
cmp byte [edx], 0x3a
setne cl
mov esi, ecx
lea esi, [esi + esi*4 + 0x3a]
jmp 0x65825c
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
mov dword [esp + 0xc], eax
mov eax, dword [ecx]
mov dword [esp + 4], str._s:_option_____s_doesnt_allow_an_argument_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x65858f
mov eax, ebp
mov edi, dword [esp + 0x28]
movzx ebp, byte [esp + 0x46]
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], esi
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x6588c4
mov eax, ebp
test al, al
je 0x6588d8
mov edx, dword [esp + 0x2c]
cmp dword [edx + 4], 0
jne 0x658975
cmp dword [0x6ace04], 0
je 0x658803
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x74]
mov eax, dword [ecx]
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 4], str._s:_option___W__s_doesnt_allow_an_argument_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov edx, dword [0x865214]
xor eax, eax
or ecx, 0xffffffff
mov esi, 0x3f
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
lea eax, [edx + ecx - 1]
mov dword [0x865214], eax
jmp 0x65814b
mov ecx, dword [esp + 0x74]
mov dword [esp + 0xc], ebx
mov eax, dword [ecx]
mov dword [esp + 4], str._s:_unrecognized_option_____s_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x6583d2
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x3c]
mov eax, dword [ecx + edx*4]
mov dword [esp + 0xc], eax
mov eax, dword [ecx]
mov dword [esp + 4], str._s:_option___s_requires_an_argument_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov ebx, dword [0x865214]
jmp 0x65861f
mov eax, dword [0x6ace04]
test eax, eax
je 0x6588b9
mov ecx, dword [esp + 0x74]
mov dword [esp + 0xc], esi
mov eax, dword [ecx]
mov dword [esp + 4], str._s:_option_requires_an_argument_____c_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [0x6ace00], esi
jmp 0x65863b
mov dword [0x865214], 0
mov esi, 0x57
jmp 0x65814b
mov ecx, dword [esp + 0x2c]
cmp dword [ecx + 4], 1
je 0x658950
mov dword [esp], edi
call sub.msvcrt.dll_strlen
mov edx, dword [esp + 0x80]
add edi, eax
test edx, edx
mov dword [0x865214], edi
je 0x65890a
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x80]
mov dword [edx], ecx
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 8]
test eax, eax
jne 0x65834b
mov edx, dword [esp + 0x2c]
mov esi, dword [edx + 0xc]
jmp 0x65814b
mov ecx, dword [esp + 0x74]
mov dword [esp + 0xc], esi
mov eax, dword [ecx]
mov dword [esp + 4], str._s:_option_requires_an_argument_____c_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x65874d
mov eax, dword [0x6ace08]
cmp dword [esp + 0x70], eax
jle 0x65898f
mov ecx, dword [esp + 0x74]
mov edx, dword [ecx + eax*4]
add eax, 1
mov dword [0x6ace08], eax
mov dword [0x865208], edx
jmp 0x6588e2
mov eax, dword [esp + 0x38]
add eax, 1
mov dword [0x865208], eax
jmp 0x6588e2
mov edx, dword [esp + 0x78]
jmp 0x65872f
cmp dword [0x6ace04], 0
je 0x6589c2
mov edx, dword [esp + 0x74]
mov eax, dword [edx + eax*4 - 4]
mov dword [esp + 0xc], eax
mov eax, dword [edx]
mov dword [esp + 4], str._s:_option___s_requires_an_argument_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov edx, dword [0x865214]
xor eax, eax
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
lea eax, [edx + ecx - 1]
mov dword [0x865214], eax
jmp 0x65863b